Skip to content

chore(release): open the 2.1 development line#436

Merged
DemchaAV merged 3 commits into
developfrom
chore/release-2.1-line
Jul 25, 2026
Merged

chore(release): open the 2.1 development line#436
DemchaAV merged 3 commits into
developfrom
chore/release-2.1-line

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

Why

Five public members that shipped after the v2.0.0 tag claim @since 2.0.0, and their changelog entries sit under the already-dated ## v2.0.0 — 2026-07-13 heading. Both are published artifacts: the javadoc jar on Central is immutable, and that changelog section becomes the GitHub Release notes. A reader upgrading from 2.0.0 is currently told the keep-with-next API had always been there. Five more new public members carry no @since at all, and the train poms still say 2.0.1-SNAPSHOT while every tag, the changelog heading and docs/api-stability.md say 2.1.0.

Nothing in the repo catches this: PublicApiSinceTagCoverageTest inspects class-level tags only, on a narrow root set, and never compares a tag's value to anything.

What changed

  • 13 train poms → 2.1.0-SNAPSHOT. fonts/ and emoji/ are untouched — independent version lines.
  • Six wrong @since 2.0.02.1.0: DocumentNode.keepWithNext, SectionBuilder.keepWithNext and its boolean overload, LineBuilder.keepWithNext and its boolean overload, NodeDefinition.firstSliceHeight. Each verified absent from v2.0.0 and origin/main; the work landed 2026-07-22, nine days after the tag.
  • Five missing tags added: MarkdownInline.appendTransformed / appendUpperCased / appendIfPresent, and PdfRenderEnvironment.fillAlphaState / strokeAlphaState.
  • The four keep-with-next entries move out of the dated v2.0.0 section into v2.1.0, and that section opens as ## v2.1.0 — Planned — the header form cut-release.ps1 dates.
  • A new entry records what the feature bullets omitted: the new default method on DocumentNode, and the trailing keepWithNext record component on SectionNode (13 → 14) and LineNode (17 → 18). Constructor calls keep working through previous-arity overloads, but a record deconstruction pattern written against the 2.0.0 component list must add a binding. breakBuildOnSourceIncompatibleModifications is false, so no gate reports it.

The SectionNode / LineNode compat constructors deliberately carry no @since: those signatures were the canonical record constructors at 2.0.0 and have been callable since then.

Verification

  • ./mvnw -B -ntp clean verify — BUILD SUCCESS, 1508 tests, 0 failures, 15/15 modules.
  • ./mvnw -P japicmp verify -pl :graph-compose-core — green with the gate active (2.1.0-SNAPSHOT ≠ the 2.0.0 baseline), confirming the cycle is additive.
  • ./mvnw javadoc:javadoc on the six published modules — green.
  • VersionConsistencyGuardTest 12/12.
  • Comparing every *Node.java component count against v2.0.0 confirms exactly two records changed arity.

DemchaAV added 2 commits July 24, 2026 23:28
The 2.1 cycle ships the fixed-layout PPTX render backend and new public
DocumentSession PPTX methods — additive public surface, so the next
release is a minor, not the 2.0.1 patch the GA bump left as a placeholder.
Move all 13 reactor version sites to 2.1.0-SNAPSHOT so the in-development
version signals the minor and japicmp compares the 2.1 line against the
2.0.0 baseline. README/web/module install snippets stay on the latest
published 2.0.0 until 2.1.0 ships — VersionConsistencyGuardTest enforces
both halves.
Keep-with-next and the alpha-state helpers landed after the v2.0.0 tag, but
their Javadoc claimed `@since 2.0.0` and their changelog entries sat under the
dated `## v2.0.0 — 2026-07-13` heading. Both are published artifacts — the
javadoc jar on Central is immutable and the changelog section becomes the
GitHub Release notes — so a reader upgrading from 2.0.0 was told the API had
always been there.

Retag the six members that shipped in this cycle (`DocumentNode.keepWithNext`,
`SectionBuilder.keepWithNext` and its boolean overload, `LineBuilder.keepWithNext`
and its boolean overload, `NodeDefinition.firstSliceHeight`) to `@since 2.1.0`,
and add the missing tag to five members that had none: `MarkdownInline`'s
`appendTransformed` / `appendUpperCased` / `appendIfPresent` and
`PdfRenderEnvironment`'s `fillAlphaState` / `strokeAlphaState`.

Move the four keep-with-next entries out of the v2.0.0 section into v2.1.0 and
open that section as `## v2.1.0 — Planned`, the header form the release script
dates. Record the node-model delta the feature entries omitted: the new default
method on `DocumentNode` and the trailing `keepWithNext` component on
`SectionNode` (13 -> 14) and `LineNode` (17 -> 18), which leaves constructor
calls working through the previous-arity overloads but changes what a record
deconstruction pattern must bind.

The compat constructors themselves keep no `@since` — their signatures were the
canonical record constructors at v2.0.0 and have been callable since then.

Verified: full reactor `clean verify` green (1508 tests, 0 failures); japicmp
against the 2.0.0 baseline green with the gate active at 2.1.0-SNAPSHOT;
`javadoc:javadoc` green across the six published modules.
@DemchaAV
DemchaAV merged commit e7a5495 into develop Jul 25, 2026
12 checks passed
@DemchaAV
DemchaAV deleted the chore/release-2.1-line branch July 25, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant