# Changelog

## Score

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

## Lenses

- Code Health 99 → 96 (-2.5)
- Architecture 100 → 100 (+0.0)
- Maturity 49 → 49 (+0.0)
- Readiness 38 → 45 (+7.3)
- Security 90 → 90 (+0.0)

## Resolved (3)

- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (15 lines × 3) (Sources/MarkdownUI/DSL/Inlines/Emphasis.swift)

## New (12)

- Coverage not measured — Swift suite
- Duplicated block (8 lines × 2) (Sources/MarkdownUI/Views/Blocks/BulletedListView.swift)
- Duplicated block (8 lines × 2) (Sources/MarkdownUI/Views/Blocks/ListItemView.swift)
- Inconsistent method signature pattern for marker customization. The `taskListMarker` method has an overload taking a `BlockStyle` directly and another taking a `body` closure. Other similar methods like `bulletedListMarker` and `numberedListMarker` follow the same pattern, but the naming convention for the closure parameter (`configuration`) is consistent, whereas the direct `BlockStyle` overload lacks a descriptive label, making it less discoverable than the closure-based approach.
- Inconsistent parameter naming and typing for heading customization methods. The `body` closure parameter is named `configuration` in one overload and `label` in others, despite the types (`BlockConfiguration` vs `Label`) being distinct. This creates confusion about which type is expected and breaks the mental model of a unified API surface.
- Outdated: networkimage
- Outdated: swift-cmark
- Outdated: swift-snapshot-testing
- UnsafeNode.make (cognitive 18) (Sources/MarkdownUI/Parser/MarkdownParser.swift)
- UnsafeNode.make (cognitive 32) (Sources/MarkdownUI/Parser/MarkdownParser.swift)
- UnsafeNode.make (cyclomatic 20) (Sources/MarkdownUI/Parser/MarkdownParser.swift)
- UnsafeNode.make (cyclomatic 27) (Sources/MarkdownUI/Parser/MarkdownParser.swift)
