# Changelog

## Score

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

## Lenses

- Code Health 72 → 73 (+0.8)
- Architecture 95 → 91 (-4.4)
- Maturity 61 → 61 (-0.1)
- Readiness 44 → 53 (+8.7)
- Security 95 → 95 (+0.0)
- Performance 63 (new)

## Resolved (61)

- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (16 lines × 2) (Plugins/launch-xcode/launch-xcode.swift)
- Duplicated block (6 lines × 2) (Sources/SWBTaskConstruction/ProductPlanning/ProductPlan.swift)
- Edited copy of a member (17 corresponding lines) (Sources/SwiftBuild/ConsoleCommands/SWBServiceConsoleBuildCommand.swift)
- Edited copy of a member (30 corresponding lines) (Sources/SWBTaskExecution/TaskActions/InfoPlistProcessorTaskAction.swift)
- Edited copy of a member (37 corresponding lines) (Sources/SWBCore/ProjectModel/Target.swift)
- FixmeComment (Sources/SWBTaskConstruction/TaskProducers/BuildPhaseTaskProducers/SourcesTaskProducer.swift)
- Hotspot: Sources/SWBApplePlatform/AppIntentsMetadataTaskProducer.swift (Sources/SWBApplePlatform/AppIntentsMetadataTaskProducer.swift)
- Hotspot: Sources/SWBBuildService/Messages.swift (Sources/SWBBuildService/Messages.swift)
- Hotspot: Sources/SWBBuildSystem/BuildOperation.swift (Sources/SWBBuildSystem/BuildOperation.swift)
- Hotspot: Sources/SWBCore/BuildRequestContext.swift (Sources/SWBCore/BuildRequestContext.swift)
- Hotspot: Sources/SWBCore/DependencyResolution.swift (Sources/SWBCore/DependencyResolution.swift)
- Hotspot: Sources/SWBCore/SDKRegistry.swift (Sources/SWBCore/SDKRegistry.swift)
- Hotspot: Sources/SWBCore/Settings/CASOptions.swift (Sources/SWBCore/Settings/CASOptions.swift)
- Hotspot: Sources/SWBCore/SpecImplementations/Tools/TAPISymbolExtractor.swift (Sources/SWBCore/SpecImplementations/Tools/TAPISymbolExtractor.swift)
- Hotspot: Sources/SWBCore/ToolchainRegistry.swift (Sources/SWBCore/ToolchainRegistry.swift)
- Hotspot: Sources/SWBCore/XCFramework.swift (Sources/SWBCore/XCFramework.swift)
- Hotspot: Sources/SWBMacro/MacroValueAssignmentTable.swift (Sources/SWBMacro/MacroValueAssignmentTable.swift)
- Hotspot: Sources/SWBProjectModel/PIFGenerationModel.swift (Sources/SWBProjectModel/PIFGenerationModel.swift)
- …and 41 more

## New (99)

- Ambiguous method naming for optional parameters. The methods differ only by the presence of an optional parameter (`impartedBuildSettings`). While this is technically distinct, the lack of a distinguishing name (like `addBuildConfigWithImpartedSettings`) makes the API harder to discover and understand at a glance, relying on parameter count/type rather than semantic intent.
- BuildResults.buildTranscript (cognitive 29) (Sources/SWBTestSupport/BuildOperationTester.swift)
- ClangToolInfo.swift.discoveredClangToolInfo (cognitive 27) (Sources/SWBCore/ToolInfo/ClangToolInfo.swift)
- Coverage not measured — Swift suite
- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
- Documentation: no contributor guidance (README.md)
- Duplicated block (10 lines × 2) (Sources/SWBProjectModel/PIFGenerationModel.swift)
- Duplicated block (10 lines × 2) (Sources/SWBUtil/PbxCp.swift)
- Duplicated block (11 lines × 2) (Sources/SWBCore/SpecImplementations/Tools/SwiftCompiler.swift)
- Duplicated block (11 lines × 5) (Sources/SWBProjectModel/IDE/IDESwiftPackageExtensions.swift)
- Duplicated block (13 lines × 5) (Sources/SWBProjectModel/IDE/IDESwiftPackageExtensions.swift)
- Duplicated block (13–15 lines × 4) (Sources/SWBProjectModel/IDE/IDESwiftPackageExtensions.swift)
- Duplicated block (14 lines × 2) (Sources/SWBTestSupport/TaskConstructionTester.swift)
- Duplicated block (15–16 lines × 2) (Sources/SWBUtil/MsgPack.swift)
- Duplicated block (16 lines × 2) (Sources/SWBUtil/HashContext.swift)
- Duplicated block (17 lines × 4) (Sources/SWBTestSupport/TestWorkspaces.swift)
- Duplicated block (2–5 lines × 3) (Sources/SWBCore/SpecImplementations/Tools/LinkerTools.swift)
- Duplicated block (5 lines × 2) (Sources/SWBApplePlatform/StubBinaryTaskProducer.swift)
- Duplicated block (5 lines × 2) (Sources/SWBCore/BuildConfigurationFiltering.swift)
- Duplicated block (5 lines × 2) (Sources/SWBUtil/PropertyList.swift)
- …and 79 more

## Changes since last survey

- 77 commits — 70 feature/other, 7 fixes

## By area

- (repo) — 33 commits
- Sources/SWBCore — 14 commits
- Sources/SWBTaskConstruction — 6 commits
- Sources/SWBApplePlatform — 5 commits
- Sources/SWBTaskExecution — 3 commits
- Sources/SWBUniversalPlatform — 3 commits
- Tests/SWBBuildSystemTests — 3 commits
- Tests/SWBCoreTests — 3 commits
- Tests/SWBTaskConstructionTests — 3 commits
- Sources/MockToolchainCASPlugin — 2 commits
- .github/workflows — 1 commit
- Tests/SwiftBuildTests — 1 commit

## Notable commits

- fix: Fix XCFramework output path cache test on Windows
- fix: Fix activeRunDestination_MultiPlatform_Target on Xcode 27 (#1675)
- fix: Merge pull request #1737 from rjmansfield/fix-installapi-header-produced-set
- fix: Merge pull request #1742 from rjmansfield/fix-installapi-header-produced-set-6.4.2
- fix: Merge pull request #1785 from rjmansfield/revert-installapi-discovered-deps
- fix: Merge pull request #1804 from daveinglis/daveinglis/fix-redundant-try-clangexplicitmodulestests
- fix: Revert InstallAPI discovered dependency file
- change: Add 6.4.2 to automerge workflow
- change: Add missing registrations of string-to-triple dictionaries in Settings creation.
- change: Add options for toolchain vs. simulator IB compiler modes.
- change: Avoid decoding the full .scan when validating cached clang scans
- change: Depend only on actual copied headers for InstallAPI
- change: Depend only on actual copied headers for InstallAPI
- change: Detect in-place SDK updates via a stat-based SDK metadata signature
- change: Ensure we derive correct autolink entries for Foundation when statically linking the stdlib
- change: Ensure we derive correct autolink entries for Foundation when statically linking the stdlib
- change: Ensure we derive correct autolink entries for Foundation when statically linking the stdlib
- change: Ensure we derive correct autolink entries for Foundation when statically linking the stdlib
- change: Fix trailing whitespace
- change: Generate versioning files for targets fully built for indexing
- …and 57 more
