# Changelog

## Baseline

- First survey — no prior run to compare against. CAI 51.

## Lenses

- Code Health 83
- Architecture 86
- Maturity 67
- Readiness 23
- Security 87

## Changes since last survey

- 300 commits — 263 feature/other, 37 fixes

## By area

- docs/format — 109 commits
- (root) — 72 commits
- src/idml — 66 commits
- src/model — 37 commits
- docs/measurement.md — 9 commits
- tools/compare.py — 4 commits
- src/object.rs — 1 commit
- tools/corpus-manifest.json — 1 commit
- tools/diff_outputs.py — 1 commit

## Notable commits

- fix: fix(compare): count no text positions outside character ranges
- fix: fix(compare): count text ranges inside wrapper elements
- fix: fix(compare): count the ContourOption of text wrap settings
- fix: fix(compare): count the text ranges of footnotes, table cells and notes
- fix: fix(compare): give the nested option table its own name
- fix: fix(compare): match fonts whose family has the technology suffix
- fix: fix(render_compare): correct line-box offsets per page
- fix: fix: accept InDesign's markup of form fields anchored in text
- fix: fix: accept any second byte in searched in-object strings
- fix: fix: bound the capacity of text segments by the bytes left
- fix: fix: convert or clearly reject every file in the fetched sample batch
- fix: fix: convert or clearly reject every file in the new sample batch
- fix: fix: guard against cyclic and oversized structures in damaged files
- fix: fix: leave a family name's trailing spaces out of its fonts' Name from DOM 21
- fix: fix: leave out UntitledDocumentCount, which the IDML schema does not allow
- fix: fix: leave out an unreadable story, spread or page item with a warning
- fix: fix: leave out font axes and placed-text plugin data from the measurement
- fix: fix: leave out spread guides outside the spread's pages
- fix: fix: leave out timing targets whose element is not written
- fix: fix: name grouped styles with their group path and escape colons
- …and 280 more
