GraphCompose is solo-maintained. This roadmap is a direction, not a contract. Dates are intentionally omitted. Concrete work is tracked in issues and shipped work is recorded in CHANGELOG.md. For v1.6 phase-level detail, see docs/roadmaps/v1.6-roadmap.md.
In flight on main / develop.
- v1.6 polish — documentation, examples, visual baselines, fixes.
- Open-source hygiene — security policy, support guidance, dependency automation, security scanning.
- Maven Central distribution — debuted in v1.6.6 under
io.github.demchaav:graph-compose. Replaces JitPack as the primary install channel; the JitPack URL stays alive for existing pinned consumers but is no longer documented as a primary option. Shipped per #7. - Transitive dependency cleanup — shipped in v1.6.7. Kotlin stdlib gone (the library is Java-first),
flexmark-allaggregator narrowed to the three modules actually consumed byMarkDownParser,jackson-dataformat-yamlmarked optional, unusedjackson-module-jsonSchema+ directsnakeyamldropped,jcl-over-slf4jmade explicit so PDFBox's commons-logging routes through SLF4J withoutflexmark-all's transitive bridge. Also fixes a layout-cache staleness bug onDocumentSession.registry().register(...). Zero breaking public API changes (japicmpsemver PATCH). - CV v2 migration completion + design-token expansion — shipped in v1.6.8. Hyperlink-aware project / entry titles: a CV row authored as
"[GraphCompose](https://github.com/x/y) (Java, PDFBox)"now renders the title as a clickable link with the technology-stack tail intact.MarkdownInline.append(...)learned the[label](url)form and routes throughRichText.link(...);ProjectRendereradopts it transparently. Four new contemporaryBusinessThemepresets (nordic(),editorial(),cinematic(),monochrome()) expand the built-in design-token range to seven. Plus senior-review polish from v1.6.7 (registry symmetry onDocumentSession,target-branch: developpinned in Dependabot,logback-classic1.5.34 for CVE-2026-9828). Zero breaking public API changes (japicmpsemver PATCH). - Showcase site separated from docs — the static GitHub Pages site (hero, install snippets, searchable gallery of generated example PDFs) moved out of
docs/into a top-levelweb/sodocs/holds documentation only. It now deploys via GitHub Actions (.github/workflows/deploy-web.yml), andcut-release.ps1keeps its version +web/examples.jsongallery manifest in lockstep. A Next.js 14 rebuild was briefly prototyped but later removed as unused; the staticweb/site is the one served.
Committed direction. Tracked in CHANGELOG (Phase E) and issues.
- JMH benchmark migration — replace the current custom benchmark harness with
org.openjdk.jmhso the published numbers are credible and machine-comparable. - Templates v2 component refactor — 13 of the 14 v2 CV presets are currently hand-coded
DocumentTemplatesubclasses. Route more visual decisions throughCvBuilderand equivalent component recipes so each preset becomes a thin composition rather than a 400–700-line class.
Not committed. Reflects current thinking; priorities may shift based on user feedback and adoption signals.
- DOCX visibility for unsupported nodes. Make currently-silent skips (
shape,line,ellipse,barcode) loud — minimum a warn log, ideally a strict-mode flag that fails instead of dropping content silently. - Block-level alignment for fixed-size flow children. Paths, images, layer stacks, shape containers and barcodes currently left-align in a flow; centring one means wrapping it in a full-width
ShapeContainerjust to use its CENTER anchor. Add a per-node horizontal align (left / centre / right — themargin: auto/align(center)analogue) so a fixed box can place itself in the flow directly. Surfaced by the v1.8 SVG icon-gallery and feature-catalog work. - Backend-neutral layout measurement. Decouple measurement from PDFBox-specific resources so non-PDF backends do not pull PDFBox into the dependency graph.
- Multi-module Maven layout. Split the artifact into
graph-compose-core/graph-compose-pdf/graph-compose-docx/graph-compose-templates/graph-compose-testingif there is clear demand. Adds release complexity, so requires a real adoption signal first. - DOCX maturity. Either expand DOCX coverage toward PDF parity, or move DOCX behind an explicitly experimental flag.
- Property-based testing. Random table spans, pagination edge cases, deeply nested layouts.
- Real PPTX export. Current state is a manifest skeleton. Will only be built out if there is concrete user demand.
- Public Javadoc site. Generated and hosted, kept in sync with releases.
- Hosted PDF rendering service.
- WYSIWYG editor.
- HTML / CSS input.
- Browser-side rendering.
See README — What GraphCompose is not.
Have a use case that should be on this list, or strong feelings about priority? Open a discussion issue or comment on the relevant tracked issue.