This release includes breaking changes for platform teams planning a safe upgrade.
Published 2mo
Build & Package
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
business-documents
cv-templates
declarative-api
document-generation
invoice-template
java
+12 more
java-17
layout-engine
maven
pagination
pdf
pdf-generator
pdf-lib
pdf-library
pdfbox3
report-generation
snapshot-testing
template-engine
Affected surfaces
deps
Summary
AI summaryMinor fixes and improvements.
Full changelog
v1.5.1 — 2026-05-05
Dependencies
- PDFBox 3.0.7. Bumped from 3.0.5 to 3.0.7 (Apache PDFBox patch
release with upstream rendering and security fixes). No
public-API impact for GraphCompose consumers.
Tooling
ShapeContainerVisualRegressionTesttolerates the cross-platform
PDF font-rendering drift that surfaces between Windows-rendered
baselines and the Linux CI runner (~1-2% pixel diff), via a
calibratedmismatchedPixelBudgetinstead of bit-exact comparison.DocumentationCoverageTestno longer pins to the structural
section anchors that the v1.5.0 README slim removed; the guard now
scans the whole README for canonical-DSL coverage and
legacy-API leakage in one whole-file pass.
This is a maintenance patch release. There are no public API
changes; v1.5.0 consumers can upgrade with no code changes.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About GraphCompose 2.0
All releases →Related context
Related tools
Earlier breaking changes
- v2.0.0 Package rename: layered template packages dropped `.v2` suffix; update imports.
- v2.0.0 Removed dormant ECS engine internals (EntityManager, SystemECS, Entity components, render pipeline).
- v2.0.0 Removed linkOptions() accessor; use linkTarget() and ExternalLinkTarget.options().
- v2.0.0 Removed PDF‑typed document‑chrome overloads on DocumentSession; use backend‑neutral metadata/watermark/protect/header/footer.
- v2.0.0 Removed DSL name-aliases DocumentSession.builder() and DocumentDsl.text(); use builder() and paragraph().
Beta — feedback welcome: [email protected]