# Changelog

## Score

- CAI 52 → 60 (+8.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 86 → 86 (-0.6)
- Architecture 95 → 95 (+0.4)
- Maturity 49 → 72 (+22.4)
- Readiness 37 → 49 (+11.5)
- Security 71 → 77 (+5.7)
- Domain Modelling 80 → 82 (+1.5)
- Performance 61 (new)

## Resolved (59)

- Change coupling: SnapzyConfigurationDefaultDocument.swift ↔ SnapzyConfigurationExporter.swift (Snapzy/Services/Configuration/SnapzyConfigurationDefaultDocument.swift)
- Change coupling: SnapzyConfigurationDefaultDocument.swift ↔ SnapzyConfigurationImporter.swift (Snapzy/Services/Configuration/SnapzyConfigurationDefaultDocument.swift)
- Change-coupling hub: PreferencesKeys.swift → PreferencesQuickAccessSettingsView.swift, SnapzyConfigurationDefaultDocument.swift, L10n.swift (Snapzy/Features/Preferences/Models/PreferencesKeys.swift)
- ClassTooLong: GoogleDriveOAuthService (Snapzy/Services/Cloud/GoogleDriveOAuthService.swift)
- Duplicated block (10 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorSpeedTimelineTrack.swift)
- Duplicated block (10–11 lines × 2) (Snapzy/Features/QuickAccess/QuickAccessManager.swift)
- Duplicated block (10–11 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorSpeedTimelineTrack.swift)
- Duplicated block (12 lines × 2) (Snapzy/Features/QuickAccess/QuickAccessManager.swift)
- Duplicated block (12 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorEmptyStateView.swift)
- Duplicated block (12 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorGIFSettingsPanel.swift)
- Duplicated block (12 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorGIFSettingsPanel.swift)
- Duplicated block (12 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorGIFSettingsPanel.swift)
- Duplicated block (12 lines × 3) (Snapzy/Features/History/Components/HistoryCardView.swift)
- Duplicated block (12–20 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorSpeedTimelineTrack.swift)
- Duplicated block (13 lines × 3) (Snapzy/Features/Recording/Components/RecordingToolbarStyles.swift)
- Duplicated block (13 lines × 4) (Snapzy/Features/VideoEditor/Components/VideoEditorGIFSettingsPanel.swift)
- Duplicated block (13–14 lines × 2) (Snapzy/Features/QuickAccess/QuickAccessManager.swift)
- Duplicated block (15 lines × 2) (Snapzy/Features/History/Components/HistoryFloatingContentView.swift)
- Duplicated block (15 lines × 2) (Snapzy/Shared/Components/ShortcutRecorderView.swift)
- Duplicated block (16 lines × 2) (Snapzy/Features/VideoEditor/Components/VideoEditorSpeedTimelineTrack.swift)
- …and 39 more

## New (265)

- AnnotateBottomBarView.annotateActionButtons (cognitive 20) (Snapzy/Features/Annotate/Components/AnnotateBottomBarView.swift)
- AnnotateBottomBarView.annotateActionButtons (cyclomatic 16) (Snapzy/Features/Annotate/Components/AnnotateBottomBarView.swift)
- AnnotateCanvasView.body (cognitive 23) (Snapzy/Features/Annotate/Components/AnnotateCanvasView.swift)
- AnnotateCanvasView.body (cyclomatic 23) (Snapzy/Features/Annotate/Components/AnnotateCanvasView.swift)
- AnnotateState.updateDefaultAnnotationProperties (cyclomatic 19) (Snapzy/Features/Annotate/AnnotateState.swift)
- AreaSelectionOverlayView.handlePrimaryMouseUp (cognitive 27) (Snapzy/Services/Capture/AreaSelectionWindow.swift)
- AreaSelectionOverlayView.handlePrimaryMouseUp (cyclomatic 16) (Snapzy/Services/Capture/AreaSelectionWindow.swift)
- CaptureSettingsView.body (cognitive 34) (Snapzy/Features/Preferences/Components/PreferencesCaptureSettingsView.swift)
- CaptureSettingsView.body (cyclomatic 25) (Snapzy/Features/Preferences/Components/PreferencesCaptureSettingsView.swift)
- Change coupling: PreferencesKeys.swift ↔ L10n.swift (Snapzy/Features/Preferences/Models/PreferencesKeys.swift)
- Change coupling: VideoEditorLeftSidebar.swift ↔ VideoEditorZoomPreviewOverlay.swift (Snapzy/Features/VideoEditor/Components/VideoEditorLeftSidebar.swift)
- Change-coupling hub: SnapzyConfigurationDefaultDocument.swift → PreferencesKeys.swift, SnapzyConfigurationExporter.swift, SnapzyConfigurationImporter.swift (Snapzy/Services/Configuration/SnapzyConfigurationDefaultDocument.swift)
- ClassTooLong: AnnotateBottomBarView (Snapzy/Features/Annotate/Components/AnnotateBottomBarView.swift)
- ClassTooLong: LiquidGlassPlaygroundView (Snapzy/Shared/DesignSystem/LiquidGlass/LiquidGlassPreview.swift)
- CloudCredentialFormView.body (cognitive 45) (Snapzy/Features/Preferences/Components/PreferencesCloudSettingsView.swift)
- CloudCredentialFormView.body (cyclomatic 29) (Snapzy/Features/Preferences/Components/PreferencesCloudSettingsView.swift)
- CloudSettingsView.cloudStatsSection (cognitive 16) (Snapzy/Features/Preferences/Components/PreferencesCloudSettingsView.swift)
- CloudSettingsView.configuredView (cognitive 20) (Snapzy/Features/Preferences/Components/PreferencesCloudSettingsView.swift)
- Documentation: no architecture or design documentation (docs/DEVELOPMENT.md)
- Documentation: no architecture or design documentation (docs/RECORDING.md)
- …and 245 more

## Changes since last survey

- 40 commits — 31 feature/other, 9 fixes

## By area

- (root) — 21 commits
- Snapzy/Features — 10 commits
- Snapzy/Services — 4 commits
- (repo) — 2 commits
- .github/workflows — 2 commits
- docs/RELEASES.md — 1 commit

## Notable commits

- fix: Merge pull request #588 from duongductrong/fix/quicklook-pdf-capture
- fix: Revert "chore: bump version to v1.32.1 (#580)" (#581)
- fix: fix: Fixed Quick Look previews in filtered captures
- fix: fix: Fixed intermittent low-resolution window captures (#571)
- fix: fix: Fixed recording annotation tool shortcuts bug (#579)
- fix: fix: Fixed reset delayed capture countdown on restore defaults (#613)
- fix: fix: Fixed text background color by promoting plain text to label (#594)
- fix: fix: Restore pinned window dragging on macOS 27 (#584)
- fix: fix: retry release asset upload on transient GitHub errors
- change: BREAKING CHANGE: Apply Liquid Glass Beta (#574)
- change: Merge pull request #589 from duongductrong/release/v1.32.2
- change: chore: bump version to v1.32.0 (#573)
- change: chore: bump version to v1.32.0-beta.14 (#572)
- change: chore: bump version to v1.32.1 (#580)
- change: chore: bump version to v1.32.2
- change: chore: bump version to v1.32.3 (#593)
- change: chore: bump version to v1.32.3-beta.1 (#590)
- change: chore: bump version to v1.33.0-beta.1 (#610)
- change: chore: bump version to v1.33.0-beta.2 (#615)
- change: chore: bump version to v2.0.0 (#622)
- …and 20 more
