# Changelog

## Score

- CAI 42 → 43 (+0.9)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 59 → 53 (-5.4)
- Maturity 58 → 58 (+0.2)
- Readiness 64 → 30 (-34.0)
- Security 68 → 63 (-5.0)

## Resolved (9)

- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- Further sole-owners (lower concentration)
- Hotspot: lib/helpers/clone.js (lib/helpers/clone.js)
- Hotspot: lib/schema/array.js (lib/schema/array.js)
- Hotspot: lib/schema/documentArray.js (lib/schema/documentArray.js)
- LLM evaluation failed
- Off-boarding risk: anonymized user #1
- change coupling unreadable for .mts — no production change history could be paired for this repository's own source

## New (186)

- $__buildDoc (cognitive 30) (lib/document.js)
- $__buildDoc (cyclomatic 16) (lib/document.js)
- $__delta (cognitive 85) (lib/document.js)
- $__delta (cyclomatic 43) (lib/document.js)
- $__init (cognitive 23) (lib/document.js)
- $__save (cognitive 83) (lib/model.js)
- $__save (cyclomatic 46) (lib/model.js)
- $__set (cognitive 60) (lib/document.js)
- $__set (cyclomatic 34) (lib/document.js)
- $__shouldModify (cognitive 18) (lib/document.js)
- $__shouldModify (cyclomatic 18) (lib/document.js)
- $__validateSync (cognitive 49) (lib/document.js)
- $__validateSync (cyclomatic 31) (lib/document.js)
- $applyDefaultsToNested (cognitive 31) (lib/document.js)
- $set (cognitive 269) (lib/document.js)
- $set (cyclomatic 165) (lib/document.js)
- $toObject (cognitive 69) (lib/document.js)
- $toObject (cyclomatic 53) (lib/document.js)
- (anonymous) (cognitive 16) (lib/query.js)
- (anonymous) (cognitive 19) (lib/model.js)
- …and 166 more

## Changes since last survey

- 113 commits — 88 feature/other, 25 fixes

## By area

- (root) — 28 commits
- test/types — 19 commits
- .github/workflows — 13 commits
- lib/document.js — 12 commits
- lib/helpers — 6 commits
- lib/model.js — 5 commits
- lib/queryHelpers.js — 4 commits
- docs/css — 3 commits
- lib/types — 3 commits
- docs/populate.md — 2 commits
- lib/connection.js — 2 commits
- lib/schema — 2 commits
- lib/utils.js — 2 commits
- test/document.test.js — 2 commits
- types/schematypes.d.ts — 2 commits
- docs/guide.md — 1 commit
- lib/cast.js — 1 commit
- lib/schema.js — 1 commit
- lib/schemaType.js — 1 commit
- test/document.populate.test.js — 1 commit

## Notable commits

- fix: Merge pull request #16366 from Automattic/copilot/fix-github-actions-job-node-18-mongodb-7-0-7
- fix: Merge pull request #16380 from rajkumar0932/fix/geo-object-cast-legacy-arg
- fix: Merge pull request #16386 from AbdelrahmanHafez/fix/bulksave-new-doc-version
- fix: Merge pull request #16387 from AbdelrahmanHafez/fix/reject-pathless-update-modifiers
- fix: Merge pull request #16388 from xianjianlf2/fix/validate-modifiedpaths-rebuild-16379
- fix: Merge pull request #16393 from WaleedAshraf/fix-minimize-empty-array-subdocuments
- fix: Merge pull request #16400 from AbdelrahmanHafez/fix/8.x-minimize-empty-array-subdocuments
- fix: Merge pull request #16406 from samuelmbabhazi/fix/modelSchema
- fix: Merge pull request #16409 from BIGSUS24/fix/subdocument-select-false-projection-collision
- fix: Merge pull request #16431 from samuelmbabhazi/fix/schemaToObjectOptions
- fix: Merge pull request #16435 from snowyukitty/fix/transaction-delete-state-retry
- fix: Merge pull request #16444 from Jaybhade/fix/16443-json-schema-enum
- fix: bump deno version to fix mocha compat
- fix: chore(CHANGELOG): fix typo in 9.8.0
- fix: fix lint
- fix: fix lint
- fix: fix(connection): restore delete state across transaction retries
- fix: fix(model): set document session in bulkSave() so transaction retries restore document state
- fix: fix(query): also treat boolean false as exclusion, add deeper/array test coverage (gh-12798)
- fix: fix(query): avoid path collision when excluding subdocument with select: false child (gh-12798)
- …and 93 more
