# Changelog

## Score

- CAI 54 → 47 (-7.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.8) — scores are not directly comparable.

## Lenses

- Code Health 91 → 73 (-18.2)
- Architecture 98 → 84 (-14.3)
- Maturity 62 → 81 (+18.8)
- Readiness 49 → 55 (+5.5)
- Security 50 → 27 (-22.2)
- Performance 70 (new)

## Resolved (76)

- Change coupling: Attributes.fs ↔ ViewNode.fs (src/Fabulous/Attributes.fs)
- Change coupling: Primitives.fs ↔ Reconciler.fs (src/Fabulous/Primitives.fs)
- Change coupling: ViewNode.fs ↔ WidgetDefinitions.fs (src/Fabulous/ViewNode.fs)
- Component.MergeAttributes (cyclomatic 16) (src/Fabulous/Components/Component.fs)
- Duplicated block (10 lines × 3) (src/Fabulous/Builders.fs)
- Duplicated block (11 lines × 2) (src/Fabulous/Components/Widget.fs)
- Duplicated block (11 lines × 2) (src/Fabulous/WidgetDiff.fs)
- Duplicated block (12 lines × 2) (src/Fabulous/Components/Component.fs)
- Duplicated block (12 lines × 2) (src/Fabulous/WidgetDiff.fs)
- Duplicated block (13 lines × 2) (src/Fabulous/Components/Environment.fs)
- Duplicated block (13 lines × 2) (src/Fabulous/WidgetDiff.fs)
- Duplicated block (13 lines × 2) (src/Fabulous/WidgetDiff.fs)
- Duplicated block (13 lines × 4) (src/Fabulous/WidgetDiff.fs)
- Duplicated block (5 lines × 2) (src/Fabulous/Builders.fs)
- Duplicated block (6 lines × 2) (src/Fabulous/Cmd.fs)
- Duplicated block (9 lines × 2) (src/Fabulous/Attributes.fs)
- Duplicated block (9 lines × 2) (src/Fabulous/Components/Widget.fs)
- EnvironmentChangesEnumerator.MoveNext (cognitive 34) (src/Fabulous/WidgetDiff.fs)
- EnvironmentChangesEnumerator.MoveNext (cyclomatic 17) (src/Fabulous/WidgetDiff.fs)
- Further orphaned files (smaller)
- …and 56 more

## New (316)

- Change coupling: Attributes.fs ↔ ViewNode.fs (src/neutral/Fabulous.Core/Attributes.fs)
- Change coupling: Primitives.fs ↔ Reconciler.fs (src/neutral/Fabulous.Core/Primitives.fs)
- Change coupling: SelectableTextBlock.fs ↔ TextBox.fs (src/avalonia/Fabulous.Avalonia/Views/Controls/SelectableTextBlock.fs)
- Change coupling: _TextElement.fs ↔ _TopLevel.fs (src/avalonia/Fabulous.Avalonia/Views/_TextElement.fs)
- Component.MergeAttributes (cyclomatic 16) (src/neutral/Fabulous.Core/Components/Component.fs)
- Documentation: written for insiders (avalonia/Fabulous.Avalonia.ItemsRepeater/README.md)
- Documentation: written for insiders (avalonia/Fabulous.Avalonia.Labs/README.md)
- Duplicated block (10 lines × 2) (samples/avalonia/Component/TicTacToe/App.fs)
- Duplicated block (10 lines × 2) (samples/avalonia/Gallery/Pages/UniformGridPage.fs)
- Duplicated block (10 lines × 2) (samples/avalonia/Gallery/Pages/UniformGridPage.fs)
- Duplicated block (10 lines × 2) (samples/avalonia/Gallery/Pages/WrapPanelsPage.fs)
- Duplicated block (10 lines × 2) (src/avalonia/Fabulous.Avalonia/Views/_Visual.Components.fs)
- Duplicated block (10 lines × 2) (src/neutral/Fabulous.Core/WidgetDiff.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/DrawingPage.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/DrawingPage.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/GridPage.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/UniformGridPage.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/UniformGridPage.fs)
- Duplicated block (10 lines × 3) (samples/avalonia/Gallery/Pages/WrapPanelsPage.fs)
- Duplicated block (10 lines × 3) (src/avalonia/Fabulous.Avalonia/Views/Controls/Buttons/RadioButton.Components.fs)
- …and 296 more

## Changes since last survey

- 300 commits — 247 feature/other, 53 fixes

## By area

- (repo) — 145 commits
- .github/workflows — 38 commits
- docs/api — 38 commits
- (root) — 14 commits
- website/themes — 8 commits
- samples/maui — 7 commits
- docs/maui — 5 commits
- eng/ci — 5 commits
- src/avalonia — 5 commits
- docs/avalonia — 4 commits
- docs/tutorials — 4 commits
- samples/avalonia — 4 commits
- templates/maui — 4 commits
- website/README.md — 3 commits
- docs/basics — 2 commits
- docs/get-started.md — 2 commits
- src/maui — 2 commits
- src/neutral — 2 commits
- templates/avalonia — 2 commits
- docs/README.md — 1 commit

## Notable commits

- fix: Default Windows RuntimeIdentifier/Platform in MAUI template to fix packaged publish
- fix: Fix .NET 10 Android sample packaging
- fix: Fix .NET 10 native smoke jobs
- fix: Fix Android and Apple runtime deployment
- fix: Fix Android emulator script scope
- fix: Fix Android resource and launch validation
- fix: Fix Avalonia screenshot readiness
- fix: Fix MAUI deprecation warnings
- fix: Fix MAUI get-started docs to use net10.0 TFMs
- fix: Fix MAUI template default package version causing NU1605 downgrade warning
- fix: Fix NuGet trusted publishing identity
- fix: Fix StackArray3.sortInPlace using wrong key for third element
- fix: Fix WinUI compatibility smoke coverage
- fix: Fix WinUI sample executable discovery
- fix: Fix comprehensive sample CI
- fix: Fix inheritance links in BoxView documentation
- fix: Fix inheritance links in CheckBox documentation
- fix: Fix inheritance links in ListView documentation
- fix: Fix inheritance links in Picker documentation
- fix: Fix inheritance links in SearchBar documentation
- …and 280 more

## Architecture

- Containers 1 added · 0 removed · contexts 17 added · 0 removed · edges 26 added · 0 removed

## Added containers (1)

- cli:FSharp.Maui.WinUICompat

## Added bounded contexts (17)

- BasicNavigation
- ComponentNavigation
- CounterApp
- DrawingApp
- Fabulous.Avalonia
- Fabulous.Benchmarks
- Fabulous.Core
- Fabulous.MauiControls
- Gallery
- GameOfLife
- GitHubClient
- MultiWindow
- NavigationPath
- NewApp
- TestableApp
- Tetris
- TicTacToe

## Added dependency edges (26)

- BasicNavigation → Fabulous.Avalonia
- BasicNavigation → Fabulous.Core (coupling)
- ComponentNavigation → Fabulous.Avalonia
- ComponentNavigation → Fabulous.Core (coupling)
- CounterApp → Fabulous.Avalonia
- CounterApp → Fabulous.Core (coupling)
- DrawingApp → Fabulous.Avalonia (coupling)
- DrawingApp → Fabulous.Core (coupling)
- Fabulous.Avalonia → Fabulous.Core (coupling)
- Fabulous.MauiControls → Fabulous.Core (coupling)
- Gallery → Fabulous.Avalonia (coupling)
- Gallery → Fabulous.Core (coupling)
- GameOfLife → Fabulous.Avalonia
- GameOfLife → Fabulous.Core (coupling)
- GitHubClient → Fabulous.Avalonia
- GitHubClient → Fabulous.Core (coupling)
- MultiWindow → Fabulous.Avalonia
- MultiWindow → Fabulous.Core (coupling)
- NavigationPath → Fabulous.Avalonia
- NavigationPath → Fabulous.Core (coupling)
- …and 6 more
