# Changelog

## Score

- CAI 42 → 67 (+25.0)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 57 → 61 (+3.3)
- Architecture 97 → 100 (+2.9)
- Maturity 73 → 67 (-6.0)
- Readiness 14 → 75 (+61.0)
- Security 80 → 78 (-2.5)

## Resolved (30)

- Coverage not measured — test suite did not build
- Decision and consequences are present but sparse; the body ends in clip marker mid-"Other changes", so any later sections (2.12 build removed from CI tests, Contributing) cannot be flagged as missing (docs/_blog/_posts/2019-07-25-17th-dotty-milestone-release.md)
- Decision and consequences fall below the threshold despite an informative title: only the release date, highlights list, and PR references are present; no explicit decision (what new features/changes in this preview) is stated (docs/_blog/_posts/2017-07-12-second-dotty-milestone-release.md)
- Decision and consequences sections are absent (only announcement/changes plus REPL/worked-example snippets appear) (docs/_blog/_posts/2020-04-29-24th-dotty-milestone-release.md)
- Decision and consequences/trade-offs are absent in the visible text (docs/_blog/_posts/2017-05-31-first-dotty-milestone-release.md)
- Decision/consequences are absent (the body is pure announcement with no explicit decision and no consequences/trade-offs) (docs/_blog/_posts/2017-10-16-fourth-dotty-milestone-release.md)
- Decision/consequences are present but sparse and mostly rest on links to PRs rather than being stated in the body (docs/_blog/_posts/2017-12-01-fifth-dotty-milestone-release.md)
- Dimension evaluation failed
- High IaC: DS-0002 (.github/Dockerfile)
- High IaC: DS-0002 (docs/_spec/Dockerfile)
- High IaC: DS-0029 (.github/Dockerfile)
- High IaC: DS-0029 (docs/_spec/Dockerfile)
- LLM evaluation failed
- Low IaC: DS-0026 (.github/Dockerfile)
- Low IaC: DS-0026 (docs/_spec/Dockerfile)
- No artifact signing
- No context/problem and no consequences/trade-offs; only a heads-up of the naming change plus a one-line tooling-maintainer note (docs/_blog/_posts/2020-09-21-naming-schema-change.md)
- No context/problem and no consequences/trade-offs; the body is a pure release announcement with only bug-fix lists and contributor credits (docs/_blog/_posts/2021-04-21-scala3-rc3.md)
- No context/problem framing and no consequences/trade-offs sections describing what the backports fix or why they matter (docs/_blog/_posts/2021-06-25-scala301-rc2.md)
- No exposed public API
- …and 10 more

## New (727)

- Duplicated block (6 lines × 4) (library/src/scala/runtime/BoxesRunTime.java)
- Duplicated block (8 lines × 3) (library/src/scala/runtime/BoxesRunTime.java)
- FixmeComment (compiler/src/dotty/tools/dotc/ast/NavigateAST.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/ast/Positioned.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/interactive/SourceTree.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/interactive/SourceTree.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/interactive/SourceTree.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/interactive/SourceTree.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/parsing/Parsers.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/profile/Profiler.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/reporting/messages.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/transform/TailRec.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala)
- FixmeComment (compiler/src/dotty/tools/dotc/typer/Typer.scala)
- FixmeComment (library/src/scala/quoted/ExprMap.scala)
- FixmeComment (repl/src/sourcecode/Macros.scala)
- …and 707 more

## Changes since last survey

- 299 commits — 246 feature/other, 53 fixes

## By area

- compiler/src — 107 commits
- (repo) — 25 commits
- .github/workflows — 25 commits
- tests/neg — 13 commits
- tests/run — 13 commits
- repl/src — 11 commits
- compiler/test — 8 commits
- tests/pos — 7 commits
- library/src — 6 commits
- project/Versions.scala — 6 commits
- scaladoc/resources — 6 commits
- scaladoc/src — 6 commits
- tests/explicit-nulls — 6 commits
- project/Build.scala — 5 commits
- tests/neg-custom-args — 4 commits
- tests/pos-macros — 4 commits
- docs/_docs — 3 commits
- presentation-compiler/src — 3 commits
- project/Dependencies.scala — 3 commits
- tests/generic-java-signatures — 3 commits

## Notable commits

- fix: Add regression test for #17305 (#25765)
- fix: Attempt to fix flaky stackoverflowmacro test (#26995)
- fix: Bugfix example code in `specialized-traits.md`: Missing `Numeric` (#26980)
- fix: Fix #26564: warn on dubious negative Long/Float/Double literal syntax (#26725)
- fix: Fix Java record unapply crash under explicit nulls (#26975)
- fix: Fix Javadoc anchors built from flexible types (#27060)
- fix: Fix LTS nightly release job names (#27051)
- fix: Fix MainGenericCompiler -D property parsing (#27025)
- fix: Fix Windows build after ASM change (#26779)
- fix: Fix Windows-only stack overflow (#27027)
- fix: Fix `$` warning and rewrite on already-backticked names. (#27050)
- fix: Fix `Symbol.copy` ignoring its compilation unit argument (#27162)
- fix: Fix actions/setup-java distribution
- fix: Fix actions/setup-java distribution (#26948)
- fix: Fix after rebase
- fix: Fix backend crash for `null.hashCode`, clean up (#27094)
- fix: Fix bugs and performance of indexOfSlice (#26886)
- fix: Fix build break from colliding PRs over SourceFile.content (#27061)
- fix: Fix capture checker crash when mapping a Var capture set (#26667)
- fix: Fix crash boxing Scala.js (+ Scala2) value class to Object (#27082)
- …and 279 more
