# Changelog

## Score

- CAI 54 → 67 (+13.4)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 74 → 78 (+3.9)
- Architecture 94 → 88 (-5.5)
- Maturity 47 → 69 (+21.8)
- Readiness 39 → 56 (+16.9)
- Security 85 → 85 (+0.0)
- Performance 86 (new)

## Resolved (46)

- BuiltInUnicodeScalarSet.bitmap (cognitive 79) (Sources/FoundationEssentials/String/BuiltInUnicodeScalarSet.swift)
- BuiltInUnicodeScalarSet.bitmap (cyclomatic 37) (Sources/FoundationEssentials/String/BuiltInUnicodeScalarSet.swift)
- Decimal._add (cognitive 34) (Sources/FoundationEssentials/Decimal/Decimal.swift)
- Decimal._add (cyclomatic 20) (Sources/FoundationEssentials/Decimal/Decimal.swift)
- Decimal._decimal (cognitive 65) (Sources/FoundationEssentials/Decimal/Decimal.swift)
- Decimal._decimal (cyclomatic 41) (Sources/FoundationEssentials/Decimal/Decimal.swift)
- Documentation: no architecture or design documentation (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (10 lines × 7) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (10–11 lines × 3) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (12 lines × 2) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (12–13 lines × 3) (Sources/FoundationInternationalization/Calendar/Calendar_ICU.swift)
- Duplicated block (14–15 lines × 2) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (25 lines × 2) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (5 lines × 2) (Sources/FoundationEssentials/Calendar/Calendar_Chinese.swift)
- Duplicated block (5 lines × 2) (Sources/FoundationEssentials/PropertyList/BPlistScanner.swift)
- Duplicated block (5 lines × 3) (Sources/FoundationInternationalization/Calendar/Calendar_ICU.swift)
- Duplicated block (6 lines × 13) (Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift)
- Duplicated block (7 lines × 5) (Sources/FoundationInternationalization/Calendar/Calendar_ICU.swift)
- …and 26 more

## New (259)

- AnchoredRelativeFormatStyle.bound (cognitive 46) (Sources/FoundationInternationalization/Formatting/Date/Date+AnchoredRelativeFormatStyle.swift)
- AnchoredRelativeFormatStyle.bound (cyclomatic 31) (Sources/FoundationInternationalization/Formatting/Date/Date+AnchoredRelativeFormatStyle.swift)
- BidirectionalCollection._getBlock (cognitive 54) (Sources/FoundationEssentials/AttributedString/Collection Stdlib Defaults.swift)
- BidirectionalCollection._getBlock (cyclomatic 26) (Sources/FoundationEssentials/AttributedString/Collection Stdlib Defaults.swift)
- BidirectionalCollection._matchesSeparators (cognitive 42) (Sources/FoundationEssentials/AttributedString/Collection Stdlib Defaults.swift)
- BidirectionalCollection._matchesSeparators (cyclomatic 21) (Sources/FoundationEssentials/AttributedString/Collection Stdlib Defaults.swift)
- BidirectionalCollection._range (cognitive 24) (Sources/FoundationEssentials/AttributedString/Collection Stdlib Defaults.swift)
- BuiltInUnicodeScalarSet.appendBitmap (cognitive 76) (Sources/FoundationEssentials/String/BuiltInUnicodeScalarSet.swift)
- BuiltInUnicodeScalarSet.appendBitmap (cyclomatic 26) (Sources/FoundationEssentials/String/BuiltInUnicodeScalarSet.swift)
- Calendar_ObjC.swift._fromNSCalendarUnits (cognitive 19) (Sources/FoundationInternationalization/Calendar/Calendar_ObjC.swift)
- Calendar_ObjC.swift._fromNSCalendarUnits (cyclomatic 20) (Sources/FoundationInternationalization/Calendar/Calendar_ObjC.swift)
- Change coupling: Decimal+Compatibility.swift ↔ Decimal+Conformances.swift (Sources/FoundationEssentials/Decimal/Decimal+Compatibility.swift)
- ComponentSet.highestSetUnit (cognitive 17) (Sources/FoundationEssentials/Calendar/Calendar.swift)
- ComponentSet.highestSetUnit (cyclomatic 18) (Sources/FoundationEssentials/Calendar/Calendar.swift)
- ComponentSet.set (cognitive 19) (Sources/FoundationEssentials/Calendar/Calendar.swift)
- ComponentSet.set (cyclomatic 20) (Sources/FoundationEssentials/Calendar/Calendar.swift)
- Components.init (cognitive 18) (Sources/FoundationEssentials/Locale/Locale+Components.swift)
- Components.init (cyclomatic 19) (Sources/FoundationEssentials/Locale/Locale+Components.swift)
- Coverage not measured — Swift suite
- Data+Reading.swift.readBytesFromFile (cognitive 56) (Sources/FoundationEssentials/Data/Data+Reading.swift)
- …and 239 more

## Changes since last survey

- 19 commits — 17 feature/other, 2 fixes

## By area

- Sources/FoundationEssentials — 15 commits
- (repo) — 3 commits
- (root) — 1 commit

## Notable commits

- fix: Fix OutputRawSpan.append(repeating:count:) call sites to include as: UInt8.self
- fix: Merge branch 'automerge/merge-main-2026-09-17_21-59' of https://github.com/swiftlang/swift-foundation into fix-2245-conflict
- change: Add OutputRawSpan.withOutputSpan(of:_:) (#2243)
- change: Add _length bounds check when decoding Decimal (#2247)
- change: Build Date, Data, and ISO8601FormatStyle in Embedded Mode (#2272)
- change: Decimal: change layout for consistent cross-platform alignment and (for little endian) bit field offsets (#2264)
- change: Document that `RepeatedTimePolicy` is applied in search order (#2168)
- change: Expand writing style (#2177)
- change: Merge pull request #2241 from swiftlang/automerge/merge-main-2026-09-15_09-08
- change: Merge pull request #2245 from swiftlang/automerge/merge-main-2026-09-17_21-59
- change: Prevent PropertyListDecoder from silently coercing <real> (#2270)
- change: Reduce allocations when building CharacterSet bitmap representations (#2242)
- change: Reduce the number of places we import libc and equivalent (#2231)
- change: Replace `utf8Span` helper on watchOS (#2262)
- change: Restore trailing whitespace on blank lines to match file convention
- change: Turn on feature flag for Chinese and Hebrew calendar (#2192)
- change: [CharacterSet] Make Built-in Helper Fill `MutableSpan` of varying sizes  (#2259)
- change: [FoundationEssentials] Safely unwrap Calendar month adjustment during enumeration (#2213)
- change: `Decimal`: further performance and correctness improvements (#2131)
