# Changelog

## Score

- CAI 38 → 45 (+6.2)
- Rubric changed (rubric-2026.08.15 → rubric-2026.08.20) — scores are not directly comparable.

## Lenses

- Code Health 36 → 30 (-5.4)
- Architecture 69 → 99 (+30.4)
- Maturity 60 → 69 (+9.3)
- Readiness 26 → 71 (+44.9)
- Security 70 → 81 (+11.2)
- Domain Modelling 100 (new)
- Accessibility 36 (new)

## Resolved (84)

- (anonymous) (cognitive 18) (web/app.js)
- (anonymous) (cognitive 39) (web/internal/tree_view.js)
- (anonymous) (cognitive 54) (src/scripting_api/util.js)
- Boundary-crossing change coupling: annotation_layer.js ↔ field.js (src/display/annotation_layer.js)
- Boundary-crossing change coupling: canvas.js ↔ image_utils.js (src/display/canvas.js)
- Change coupling: api.js ↔ stubs.js (src/display/api.js)
- Change coupling: app.js ↔ stubs-geckoview.js (web/app.js)
- Change coupling: app.js ↔ toolbar-geckoview.js (web/app.js)
- Change coupling: datasets.js ↔ xfa_object.js (src/core/xfa/datasets.js)
- Change coupling: freedraw.js ↔ highlight.js (src/display/editor/drawers/freedraw.js)
- Change coupling: gulpfile.mjs ↔ stubs.js (gulpfile.mjs)
- Change coupling: openjpeg.js ↔ openjpeg_nowasm_fallback.js (external/openjpeg/openjpeg.js)
- Change coupling: pdf.js ↔ pdfjs.js (src/pdf.js)
- Coverage not measured — test suite did not build
- Dimension evaluation failed
- FileTooLong: core/internal_viewer_utils.js (src/core/internal_viewer_utils.js)
- FileTooLong: core/jpg.js (src/core/jpg.js)
- FileTooLong: core/writer.js (src/core/writer.js)
- FileTooLong: core/xml_parser.js (src/core/xml_parser.js)
- FileTooLong: display/draw_layer.js (src/display/draw_layer.js)
- …and 64 more

## New (197)

- #AFSpecial_KeystrokeEx_helper (cognitive 20) (src/scripting_api/aform.js)
- #appendText (cognitive 20) (src/display/text_layer.js)
- #appendText (cyclomatic 18) (src/display/text_layer.js)
- #buildChildren (cognitive 18) (web/internal/tree_view.js)
- #buildLine (cognitive 19) (web/internal/draw_ops_view.js)
- #collectAttributes (cognitive 17) (src/core/struct_tree.js)
- #collectFieldObjects (cognitive 31) (src/core/document.js)
- #collectFieldObjects (cyclomatic 23) (src/core/document.js)
- #collectParents (cognitive 27) (src/core/struct_tree.js)
- #collectSignatureFields (cognitive 20) (src/core/document.js)
- #computeThumbnailsPosition (cognitive 18) (web/pdf_thumbnail_viewer.js)
- #findClosestThumbnail (cognitive 20) (web/pdf_thumbnail_viewer.js)
- #findClosestThumbnail (cyclomatic 20) (web/pdf_thumbnail_viewer.js)
- #findStreamLength (cognitive 42) (src/core/parser.js)
- #getLinearizationPage (cognitive 16) (src/core/document.js)
- #getPageAdvance (cognitive 64) (web/pdf_viewer.js)
- #getPageAdvance (cyclomatic 29) (web/pdf_viewer.js)
- #getValue (cognitive 18) (src/core/primitives.js)
- #intersects (cyclomatic 16) (src/core/intersector.js)
- #isValidState (cognitive 16) (web/pdf_history.js)
- …and 177 more

## Changes since last survey

- 116 commits — 93 feature/other, 23 fixes

## By area

- (repo) — 58 commits
- src/core — 18 commits
- test/integration — 9 commits
- (root) — 7 commits
- src/display — 6 commits
- test/unit — 5 commits
- .github/workflows — 3 commits
- .github/SECURITY.md — 1 commit
- external/eslint_plugins — 1 commit
- external/qcms — 1 commit
- external/standard_fonts — 1 commit
- l10n/ar — 1 commit
- l10n/ca — 1 commit
- src/scripting_api — 1 commit
- src/shared — 1 commit
- test/pdfs — 1 commit
- web/debugger.mjs — 1 commit

## Notable commits

- fix: Avoid spilling xref entries into dynamically allocated slots (bug 2060459)
- fix: Fix coalesced-events test at fractional device pixel ratios
- fix: Fix flaky hand tool integration test
- fix: Fix intermittent pinch-resize integration test
- fix: Fix intermittent thumbnail dragging integration test
- fix: Fix the license file for the bundled Liberation fonts
- fix: Fix the license text bundled for pdf.js.qcms
- fix: Fix the two MathClamp calls the prefer-math-clamp fixer mis-ordered
- fix: Fix vulnerabilities in dependency versions
- fix: Merge pull request #21702 from calixteman/fix/table-structure-attributes
- fix: Merge pull request #21714 from calixteman/fix/pdf-editor-parent-tree-next-key
- fix: Merge pull request #21717 from calixteman/fix/pdf-editor-image-only-metadata
- fix: Merge pull request #21718 from calixteman/fix/file-param-encoding
- fix: Merge pull request #21722 from calixteman/touch/fix-foreign-fingers
- fix: Merge pull request #21725 from Jaybhade/fix-math-clamp-operand-order
- fix: Merge pull request #21731 from calixteman/touch/fix-returning-fingers
- fix: Merge pull request #21747 from calixteman/fix/qcms-license
- fix: Merge pull request #21750 from calixteman/fix-liberation-license
- fix: Merge pull request #21759 from calixteman/fix-struct-tree-alt-descriptions
- fix: Merge pull request #21768 from calixteman/fix-struct-tree-links
- …and 96 more
