You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: put the contributor surfaces on the 2.x vocabulary (#476)
* docs: put the contributor surfaces on the 2.x vocabulary
Several documents still described an architecture that shipped out of the
repository in 2.0, and a contributor following them wrote code that does not
compile.
CONTRIBUTING routed template authors to BusinessTheme, InvoiceTemplateV2 and
ProposalTemplateV2, and its engine-primitive section described entities,
container-growth markers and Breakable. None of those seven types exist in
src/main. Both sections now describe what is there: the layered preset stack
with create(BrandTheme), and the NodeDefinition pipeline where pagination is
declared by the definition and a splittable node compiles through
SplittableLeafCompiler. A dead link to ComputedPositionTest points at a test
that exists.
CONTRIBUTING, SECURITY and the architecture overview called the pptx module a
semantic exporter. Its primary backend is fixed-layout, in
document.backend.fixed.pptx, alongside the older semantic manifest — and a new
fragment kind has to register a handler with both fixed-layout backends, or it
renders in one output and silently vanishes from the other. The semantic
wording is left in place everywhere it is still accurate.
ROADMAP described 2.1 as in development and 2.0 as current stable, four days
after 2.1.0 shipped. The README release-status block described 2.1.1 with
2.1.0's headline. docs/README listed five superseded 1.x upgrade guides on the
main path and omitted the 2.0 migration guide entirely.
The bug-report template asked for a v1.6-era version and offered a reproduction
with no try-with-resources and no render call, so a repro pasted from it
produced nothing. It now asks for the backend, the classpath, the font source
and the generated artifact or layout snapshot. The feature-request template
pointed at BusinessTheme; the pull-request template offered a lane that does not
exist and required updating a count by hand. A new issue-template config routes
usage questions to Discussions.
Four places stated four different example totals — 63, 63, 54 and "26+" — where
the runner invokes 94. The numbers are removed rather than synchronised; they
have drifted every release since June.
The release runbook grepped the README for a test-count claim the README does
not make, so that gate always passed; it compared the gallery row count against
the example file count, two numbers long diverged; and three items pointed at a
migration path that moved. The gallery check is now a ShowcaseMetadata coverage
check, and a new item covers ROADMAP.
canonical-legacy-parity.md is refreshed rather than archived: eight live
documents link it, and its three "Planned for v1.6" rows had all shipped.
In the README, the comparison block moves below Architecture so it stops
separating the first example from the next step, What's new in 2.0 compresses to
its links, and the documentation catalogue collapses to four routes.
* docs: give the release status one source of truth
The README advertised v2.1.1 as latest stable behind a release link that 404s,
while the changelog carried v2.1.1 as Planned, the roadmap named 2.1.0 as the
current stable line, and the showcase metadata said 2.1.0. Four surfaces, three
answers.
The false one was the README, and it was false on purpose. cut-release.ps1 did
not rewrite the release-status block, so the post-release commit that would fix
it lives on develop and never reaches main — the v1.6.9 lesson recorded in the
runbook. The mitigation was a pre-cut hand-edit, enforced by a Step 0 gate that
demanded the block already name the version being cut. To leave main correct
after the tag, develop had to be wrong for the whole cycle.
The block is script-owned now. Step 1 promotes the in-development half to latest
stable, rewriting both the link text and the tag URL, and opens the next patch
line; Assert-ReleaseMetadata verifies the result after the mutation. Step 0 no
longer demands a hand-edit — it checks the block still exists in the shape the
rewrite matches, so a reflowed blockquote aborts loudly instead of being skipped
in silence. What the maintainer owns is the prose, not the version tokens.
SECURITY.md's supported-versions table jumped from 2.1.x straight to 1.9.x,
leaving 2.0.x uncovered — a regression introduced when the 1.9.x row was added.
The showcase page still stated a count in three places while the JSON-LD beside
them declared numberOfItems: 51 and the visible heading said "50+ generated
PDFs". Replacing one number with another moves the problem to the next release,
so the counts are gone; the page loads its catalogue from examples.json and can
say what it renders without claiming how many.
The runbook still told the maintainer that PackageMapGuardTest scans the
gitignored docs/private/ and can fail a local run CI cannot reproduce. That
stopped being true when the exclusion landed; its guard list was also missing
CiGuardListGuardTest.
The README API table sent anyone adding a visual primitive to
PdfFragmentRenderHandler alone, while CONTRIBUTING now requires registering with
both fixed-layout backends — a handler registered with one renders in one output
and vanishes from the other.
-[ ]**Public API changed** → `CHANGELOG.md` entry under the next `## v<X.Y.Z> — Planned` heading.
41
-
-[ ]**README / examples touched** → `DocumentationCoverageTest` stays green; a new example is wired into `GenerateAllExamples`+ the `examples/README.md` gallery count.
41
+
-[ ]**README / examples touched** → `DocumentationCoverageTest` stays green; a new example is wired into `GenerateAllExamples`and given a gallery row in `examples/README.md`.
0 commit comments