# Changelog

## Score

- CAI 72 → 71 (-1.4)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 89 → 95 (+5.7)
- Architecture 100 → 97 (-2.4)
- Maturity 64 → 60 (-3.9)
- Readiness 65 → 65 (+0.0)
- Security 90 → 90 (+0.0)
- Performance 100 → 100 (+0.0)

## Resolved (60)

- AndroidSettingsTile._buildTile (cognitive 44) (lib/src/tiles/platforms/android_settings_tile.dart)
- AndroidSettingsTile._buildTile (cyclomatic 31) (lib/src/tiles/platforms/android_settings_tile.dart)
- ClassTooLong: _SettingsSplitViewState (lib/src/split/settings_split_view.dart)
- Duplicated block (10 lines × 2) (lib/src/split/adwaita_split.dart)
- Duplicated block (10 lines × 2) (lib/src/tiles/platforms/android_settings_tile.dart)
- Duplicated block (10 lines × 3) (lib/src/split/adwaita_split.dart)
- Duplicated block (10–11 lines × 3) (lib/src/split/adwaita_split.dart)
- Duplicated block (11 lines × 2) (lib/src/tiles/platforms/android_settings_tile.dart)
- Duplicated block (13 lines × 2) (lib/src/split/fluent_split.dart)
- Duplicated block (13–14 lines × 2) (lib/src/sections/platforms/web_settings_section.dart)
- Duplicated block (15 lines × 4) (lib/src/tiles/platforms/adwaita_settings_switch.dart)
- Duplicated block (18 lines × 2) (lib/src/tiles/platforms/cupertino_settings_switch.dart)
- Duplicated block (18 lines × 4) (lib/src/tiles/settings_tile.dart)
- Duplicated block (19 lines × 2) (lib/src/sections/platforms/android_settings_section.dart)
- Duplicated block (23 lines × 2) (lib/src/split/adwaita_split.dart)
- Duplicated block (6 lines × 2) (lib/src/split/adwaita_split.dart)
- Duplicated block (9 lines × 2) (lib/src/split/adwaita_split.dart)
- FileTooLong: split/macos_split.dart (lib/src/split/macos_split.dart)
- FileTooLong: split/settings_split_view.dart (lib/src/split/settings_split_view.dart)
- Hotspot: lib/src/split/settings_split_view.dart (lib/src/split/settings_split_view.dart)
- …and 40 more

## New (28)

- Change coupling clique: adwaita_split.dart, fluent_split.dart, macos_split.dart (lib/src/split/adwaita_split.dart)
- Duplicated block (11 lines × 2) (lib/src/tiles/platforms/cupertino_settings_switch.dart)
- Duplicated block (13–14 lines × 2) (lib/src/sections/platforms/android_settings_section.dart)
- Duplicated block (8 lines × 2) (lib/src/split/adwaita_split.dart)
- Hotspot: lib/src/tiles/settings_tile.dart (lib/src/tiles/settings_tile.dart)
- Hotspot: lib/src/tiles/tile_material_row.dart (lib/src/tiles/tile_material_row.dart)
- Low cohesion: SettingsSwitchState (LCOM4 5) (lib/src/tiles/platforms/settings_switch_base.dart)
- Low cohesion: _AdwaitaSettingsSwitchState (LCOM4 4) (lib/src/tiles/platforms/adwaita_settings_switch.dart)
- Low cohesion: _AdwaitaSettingsTileState (LCOM4 4) (lib/src/tiles/platforms/adwaita_settings_tile.dart)
- Low cohesion: _AdwaitaSidebarRowState (LCOM4 5) (lib/src/split/adwaita_split.dart)
- Low cohesion: _FluentNavigationItemState (LCOM4 4) (lib/src/split/fluent_split.dart)
- Low cohesion: _FluentSettingsSwitchState (LCOM4 4) (lib/src/tiles/platforms/fluent_settings_switch.dart)
- Low cohesion: _FluentSettingsTileState (LCOM4 4) (lib/src/tiles/platforms/fluent_settings_tile.dart)
- Low cohesion: _MacosSettingsSwitchState (LCOM4 4) (lib/src/tiles/platforms/macos_settings_switch.dart)
- Low cohesion: _RenderBreadcrumb (LCOM4 7) (lib/src/split/fluent_page_header.dart)
- MaterialTileRow._buildTile (cognitive 17) (lib/src/tiles/tile_material_row.dart)
- Off-boarding risk: anonymized user #1
- Repeated repair: lib/src/tiles/platforms/android_settings_tile.dart (lib/src/tiles/platforms/android_settings_tile.dart)
- Repeated repair: lib/src/tiles/platforms/macos_settings_tile.dart (lib/src/tiles/platforms/macos_settings_tile.dart)
- Repeated repair: lib/src/tiles/platforms/web_settings_menu_item.dart (lib/src/tiles/platforms/web_settings_menu_item.dart)
- …and 8 more

## Changes since last survey

- 64 commits — 45 feature/other, 19 fixes

## By area

- lib/src — 57 commits
- (root) — 4 commits
- test/settings_tests — 2 commits
- (repo) — 1 commit

## Notable commits

- fix: fix(split): add no separator for an empty section in the web split view's menu
- fix: fix(split): give custom tiles in the desktop sidebars their own semantics nodes
- fix: fix(split): hide the iOS bar title again after another style
- fix: fix(split): keep the State of a Windows pane item's content
- fix: fix(split): let Enter press the desktop bars' buttons on the web
- fix: fix(split): let the iOS page header's back button take the keyboard focus
- fix: fix(split): open a destination without depending on the scopes it reads
- fix: fix(split): read a Windows rail item by its title's semanticsLabel
- fix: fix(split): read the text direction of the Windows pill in build, not in paint
- fix: fix(split): report no enabled state for a GNOME sidebar row without an action
- fix: fix(split): take the end-side safe area off the list pane with two panes
- fix: fix(split): use inactiveSwitchColor for a disabled switch in the macOS and GNOME sidebars
- fix: fix(switches): center MacosSettingsSwitch in a box larger than its track
- fix: fix(switches): list focusNode and autofocus in AdwaitaSettingsSwitch diagnostics
- fix: fix(switches): no error when FluentSettingsSwitch is removed while pressed
- fix: fix(tiles): Android and web switch rows without onToggle are not tappable
- fix: fix(tiles): make the SettingsThemeData doc comments match the code
- fix: fix(tiles): no error when a pressed Windows or GNOME row is removed
- fix: test: add empty test files for the fixes after 4.0.1
- change: Merge pull request #215 from yako-dev/refactor/simplify-lib
- …and 44 more
