Release 0.21.0 - #79
Conversation
Behavior changes called out per the 0.20.0 discipline: absolute-first- fragment, runs-path Noto fallback, sequential-split warning precision + row naming, named-page trailing blanks, margin-box hoisting, and the new missing-glyph render defect. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019eLgo72VYmQp3kNz9PZDHs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019eLgo72VYmQp3kNz9PZDHs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019eLgo72VYmQp3kNz9PZDHs
📄 pdf-testkit —
|
The generator now removes page-N images beyond a template's current page count (a shrinking template left an orphan page-2.webp behind); the one existing orphan is removed here. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019eLgo72VYmQp3kNz9PZDHs
The generator's own hash is part of every input hash by design (a generator change invalidates the images it produced), so the pruning edit required a regeneration pass. Content is unchanged; hashes move. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019eLgo72VYmQp3kNz9PZDHs
🟡 Changes detected — review pending9 documents changed structurally · 0 errors, 9 warnings, 3 info 9 documents changed, none blocking
31 documents unchanged:
Forme Review · 40 runs · powered by pdf-testkit 0.3.0 |
Version bump + changelogs for 0.21.0 across the shared line (engine, all @formepdf/* packages, python-sdk, VSIX; server/rasterizer stay put — no images being published this cut).
A minor, not a patch — new surface and behavior changes since 0.20.1, called out per the 0.20.0 discipline:
Added: the thirty Northmoor templates + generated docs gallery;
auditContentthrough @formepdf/core (WithLayout variants, shared result construction);flex-grow/flex-shrink/flex: <n>in the HTML subset; missing-glyph render defect (uncovered characters report themselves instead of silently rendering "?").Behavior changes: absolute children anchor to the FIRST fragment of a split containing block (CSS conformance; zero movement surveyed across every existing surface); non-WinAnsi characters in multi-style runs reach the builtin Noto fallback; the sequential-split warning fires on the genuine outcome only and names the row (fewer warnings, changed text); named-page documents drop trailing blank pages; margin-box decoration hoists seamlessly.
Release run state: preflight, bump, build, and test phases completed locally (all suites green, native-vs-WASM byte parity 4/4); stopped before npm publishes. After merge: tag v0.21.0, then
./scripts/release.sh 0.21.0 --from publish(OTP), VSIX via--packagePath, forme-go + downstream bumps.