# Changelog

## Score

- CAI 56 → 57 (+1.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 89 → 89 (-0.7)
- Architecture 91 → 91 (-0.1)
- Maturity 55 → 52 (-2.5)
- Readiness 33 → 38 (+4.2)
- Security 100 → 100 (+0.0)
- Domain Modelling 100 → 100 (+0.0)

## Resolved (10)

- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 3) (SwiftBar/Plugin/ExecutablePlugin.swift)
- Duplicated block (11 lines × 2) (SwiftBar/Plugin/ExecutablePlugin.swift)
- Duplicated block (22–30 lines × 2) (SwiftBar/Plugin/ExecutablePlugin.swift)
- ExecutablePlugin.start (cognitive 16) (SwiftBar/Plugin/ExecutablePlugin.swift)
- Hotspot: SwiftBar/AppDelegate.swift (SwiftBar/AppDelegate.swift)
- Hotspot: SwiftBar/Plugin/PluginManger.swift (SwiftBar/Plugin/PluginManger.swift)
- MenubarItem.menu (cognitive 21) (SwiftBar/MenuBar/MenuBarItem.swift)
- PackagedPlugin.start (cognitive 16) (SwiftBar/Plugin/PackagedPlugin.swift)

## New (30)

- AboutPluginView.body (cognitive 34) (SwiftBar/UI/AboutPluginView.swift)
- AboutPluginView.body (cyclomatic 25) (SwiftBar/UI/AboutPluginView.swift)
- Duplicated block (11 lines × 2) (SwiftBar/UI/Plugin Repository/PluginEntryView.swift)
- Duplicated block (11–12 lines × 2) (SwiftBar/Utility/RunScript.swift)
- Duplicated block (13 lines × 3) (SwiftBar/Plugin/ExecutablePlugin.swift)
- Duplicated block (16–17 lines × 2) (SwiftBar/UI/Plugin Repository/PluginRepositoryView.swift)
- Duplicated block (19–27 lines × 2) (SwiftBar/Plugin/ExecutablePlugin.swift)
- Duplicated block (21–24 lines × 2) (SwiftBar/Plugin/PackagedPlugin.swift)
- Duplicated block (6 lines × 2) (SwiftBar/Plugin/PackagedPlugin.swift)
- Duplicated block (9 lines × 3) (SwiftBar/UI/Plugin Repository/PluginEntryView.swift)
- Hotspot: SwiftBar/UI/AboutPluginView.swift (SwiftBar/UI/AboutPluginView.swift)
- Hotspot: SwiftBar/Utility/PluginUtilities.swift (SwiftBar/Utility/PluginUtilities.swift)
- Low cohesion: String (LCOM4 8) (SwiftBar/Plugin/PluginMetadata.swift)
- Low cohesion: URL (LCOM4 4) (SwiftBar/Plugin/PluginManger.swift)
- MenuDiff.swift.buildChanges (cognitive 38) (SwiftBar/MenuBar/MenuDiff.swift)
- MenuDiff.swift.buildChanges (cyclomatic 22) (SwiftBar/MenuBar/MenuDiff.swift)
- MenubarItem.collectFoldExpansionTransfers (cognitive 17) (SwiftBar/MenuBar/MenuBarItem.swift)
- MenubarItem.updateFoldChildren (cyclomatic 21) (SwiftBar/MenuBar/MenuBarItem.swift)
- MethodTooLong: PluginDetailsView.detailsScrollView (SwiftBar/UI/Preferences/PluginDetailsView.swift)
- ModernLaunchAtLogin.isEnabled (cognitive 19) (SwiftBar/Utility/LaunchAtLogin.swift)
- …and 10 more

## Changes since last survey

- 17 commits — 4 feature/other, 13 fixes

## By area

- SwiftBar/MenuBar — 6 commits
- SwiftBar.xcodeproj/project.pbxproj — 4 commits
- SwiftBar/Plugin — 3 commits
- Scripts/release — 1 commit
- SwiftBar/AppDelegate.swift — 1 commit
- SwiftBar/Resources — 1 commit
- SwiftBar/UI — 1 commit

## Notable commits

- fix: fix(app): gate menu bar recovery alert to user-initiated reopens (#562)
- fix: fix(build): show "SwiftBar" as login item name instead of signing identity (#566)
- fix: fix(login): migrate legacy launch-at-login helper registration (#574)
- fix: fix(menu): Leave a colored title alone during menu tracking on macOS 26 (#558)
- fix: fix(menu): center badge text in fold item pill (#565)
- fix: fix(menu): open the menu on option-click when the title line has an action (#577)
- fix: fix(menu): read hardware modifier state for option-click on macOS 27 (#564)
- fix: fix(menu): refresh submenus inside folds; cover streamable submenu parents (#569)
- fix: fix(menu): run menu item actions on press-drag-release (#568)
- fix: fix(permissions): restore Calendar and Reminders access on macOS 14+ (#549)
- fix: fix(plugin): exclude sleep time from staleness checks (#561)
- fix: fix(plugin): retry wake-triggered runs that race the resuming network (#573)
- fix: fix(preferences): reveal plugin settings hidden below the fold (#563)
- change: Add collapseOnClose metadata flag to reset folds on menu close (#567)
- change: chore(release): add scripted build, notarize, and publish flow (#580)
- change: chore(release): prepare 2.1.2 beta 4 (#570)
- change: chore(release): prepare 2.1.2 beta 5 (#579)
