Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,19 @@ for this cycle.
`invoice`, and `proposal`. Update imports accordingly — behaviour and rendering are
unchanged; this is a package rename only.

### Packaging

- 2.0 splits the single `graph-compose` jar into modules: a lean core
(`graph-compose`), pluggable render backends (`graph-compose-render-pdf`,
`graph-compose-render-docx`), `graph-compose-templates`, and
`graph-compose-testing`, with render backends discovered via a `ServiceLoader`
SPI. The `graph-compose` artifact keeps its coordinate but no longer contains
the PDF backend or the templates — add `graph-compose-render-pdf` for PDF
output, or depend on `graph-compose-bundle` for a batteries-included coordinate
(core + render-pdf + templates + fonts + emoji). The optional
`graph-compose-fonts` and `graph-compose-emoji` artifacts are unchanged. Full
install guidance ships with 2.0.0.

## v1.9.0 — 2026-06-29

In-document navigation. Rendered PDFs can now declare named **anchors** and
Expand Down
1 change: 1 addition & 0 deletions docs/api-stability.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ window starts, and its `Status` flips to `deprecated 1.x`.
| Element | Tier now | Status | Why the 1.x shape is a compromise | 2.0 action | ADR | Issue |
|---|---|---|---|---|---|---|
| `DocumentSession.pageMargins(List<PageMarginRule>)` / `PageMarginRule` | Stable | planned | Per-page margins resolve a block's content width by the page it *begins* on (the engine measures each block once, before pagination). A margin that changes the content width therefore does not re-wrap a block mid-flow across a page boundary. | Revisit a page-aware per-line/per-fragment width model so a block can re-wrap when it crosses a margin boundary, if demand warrants. | — | — |
| `io.github.demchaav:graph-compose` single-jar packaging | Stable | planned | The one published jar bundles the engine, the PDFBox render backend, the POI semantic backend, zxing, and the template families, so an engine-only or bring-your-own-backend consumer still pulls all of them. | Split into a lean `graph-compose` core plus sibling artifacts — `graph-compose-render-pdf`, `graph-compose-render-docx`, `graph-compose-templates`, `graph-compose-testing` — with render backends discovered via a `ServiceLoader` SPI. `graph-compose` keeps its coordinate but no longer contains the PDF backend or templates; add `graph-compose-render-pdf` (or the batteries-included `graph-compose-bundle`) to keep PDF output. | — | — |

---

Expand Down
2 changes: 1 addition & 1 deletion web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"programmingLanguage": "Java",
"softwareVersion": "2.0.0",
"url": "https://demchaav.github.io/GraphCompose/",
"downloadUrl": "https://central.sonatype.com/artifact/io.github.demchaav/graph-compose/1.9.0",
"downloadUrl": "https://central.sonatype.com/artifact/io.github.demchaav/graph-compose/2.0.0",
"image": "https://demchaav.github.io/GraphCompose/assets/logo/graphcompose-logo.png",
"license": "https://github.com/DemchaAV/GraphCompose/blob/main/LICENSE",
"author": {
Expand Down
Loading