chore(api): ship the first PPTX backend release as Beta#421
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The fixed-layout PPTX backend ships its first release in 2.1.0. The geometry-identity design is settled, but the API shape around it — the handler seam, the environment surface, the convenience trio — has not yet seen outside feedback. Left unmarked, all of it would default to the Stable tier and lock its shape until a major release; the stability policy's tool for exactly this situation is
@Beta(Experimental), which keeps the right to adjust the contract in a minor while feedback lands.What
@Betaondocument.backend.fixed.pptxand…pptx.handlers, plus explicit class-level markers on the five entry types users actually touch —PptxFixedLayoutBackend,PptxFixedLayoutBackendProvider,PptxFragmentRenderHandler,PptxRenderEnvironment,PptxCoordinates— each with an Experimental paragraph in its Javadoc pointing atdocs/api-stability.md.@Betaon theDocumentSessionPPTX convenience methods (toPptxBytes,writePptx, bothbuildPptxoverloads); the shared Experimental note lives ontoPptxBytes, which the other three already reference for the geometry and classpath contract.docs/api-stability.mdnames the PPTX backend as the current Experimental surface and records the one thing that is not subject to change: geometry identity with the PDF backend is a design invariant.Public APIentry and a beta marker on the README backend line.Verification
clean verifyacross core, render-pdf, render-docx, render-pptx, templates, testing, root, bundle, qa, coverage — annotations are runtime-retained and the architecture guards (BetaAnnotationDocumentationTest,InternalAnnotationCoverageTest) stay green.javadoc:javadoc -pl :graph-compose-core).