GraphCompose v2.0.0 — the modular split #399
DemchaAV
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
GraphCompose v2.0.0 — the modular split
v2.0.0 is live on Maven Central — the first major release. The theme: the monolith becomes modules. The engine that shipped as one jar is now assembled from focused artifacts, so you pull only what you need — while the
graph-composecoordinate stays a batteries-included, drop-in dependency.graph-compose-core(lean; it throwsMissingBackendExceptionif asked to render without a backend). The PDFBox backend moved tograph-compose-render-pdf, and the built-in presets tograph-compose-templates(opt-in). The semanticgraph-compose-render-docx/graph-compose-render-pptx, plusgraph-compose-testing,graph-compose-fonts, andgraph-compose-emoji, round out the set.graph-composestays a drop-in aggregator — one dependency that pulls core + the PDF backend, so an existinggraph-composedependency keeps compiling and rendering PDF unchanged. Bump 1.9 → 2.0 and the common path barely moves.@Beta) —PdfFixedLayoutBackend.builder().deterministic(true)pins the CreationDate / ModDate and derives the PDF/IDfrom the document metadata, so the same document renders to byte-identical PDF bytes across runs — for reproducible builds and byte-level output tests. Off by default; multi-section documents opt in via the newMultiSectionDocument.toPdfBytes(...)overloads.templates.cv.*,templates.coverletter.*,templates.invoice.*, andtemplates.proposal.*, all on oneBrandTheme. The classic (pre-layered) presets and the.v2package suffix are gone (the latter is a package rename only — rendering is unchanged).BusinessThemetoken bundle, the DSL name-aliases (builder()/text()), the PDF-typed document-chrome overloads, and the dormant Entity-Component-System engine internals have all been removed. None were on the live render path, so document layout and PDF output are unchanged.This is a real major — binary-breaking by design (the japicmp gate runs report-only for the 2.0 cycle). The removals above are the breaking surface; the 2.0 modules migration guide walks the moves. For most callers on the drop-in
graph-composepath, the upgrade is a version bump.Drop-in (PDF included):
Lean (core + pick a backend): depend on
graph-compose-core:2.0.0plusgraph-compose-render-pdf:2.0.0. Want the built-in presets too? Addgraph-compose-templates:2.0.0.As always — author intent, not coordinates.
Beta Was this translation helpful? Give feedback.
All reactions