Skip to content

Commit 259e49c

Browse files
authored
chore(api): close v1.9.0 engine-leak guard and metadata gaps (#253)
* test(api): extend the engine-leak guard to all public document.* packages PublicApiNoEngineLeakTest pinned only eight document.* packages, while output, snapshot, theme, exceptions, and emoji are equally public and must stay free of com.demcha.compose.engine.* imports. Add all five to PUBLIC_API_ROOTS; each is already engine-clean so the guard passes and locks the property in. Engine-adjacent internals (layout, backend, templates, debug) stay excluded by design. * docs(api): complete v1.9.0 since/deprecation metadata and date-ready CHANGELOG - DocumentSession.pageMargins(List<PageMarginRule>) gains @SInCE 1.9.0, matching its sibling 1.9.0 methods (viewerPreferences, pageIndex, toImage). - HeadlineRenderer / ContactRenderer / BannerRenderer become @deprecated(since = "1.9.0", forRemoval = true) with the @deprecated Javadoc leading "since 1.9.0; removed in 2.0.", matching CoverLetterTemplate and the api-stability deprecation ledger. - CHANGELOG in-progress header "v1.9.0 - unreleased" -> "v1.9.0 - Planned" so the release tooling rewrites it to the ISO date at cut time.
1 parent 96add2a commit 259e49c

6 files changed

Lines changed: 13 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
All notable changes to GraphCompose are documented here. Versions
44
follow semantic versioning; release dates are ISO 8601.
55

6-
## v1.9.0 — unreleased
6+
## v1.9.0 — Planned
77

88
In-document navigation. Rendered PDFs can now declare named **anchors** and
99
**internal links** that jump to them — clickable tables of contents,

src/main/java/com/demcha/compose/document/api/DocumentSession.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,7 @@ public DocumentSession pageBackgrounds(List<PageBackgroundFill> fills) {
475475
* @param rules ordered list of per-page margin overrides, or {@code null}/empty to clear
476476
* @return this session
477477
* @throws IllegalStateException if this session has already been closed
478+
* @since 1.9.0
478479
*/
479480
public DocumentSession pageMargins(List<PageMarginRule> rules) {
480481
ensureOpen();

src/main/java/com/demcha/compose/document/templates/cv/v2/components/BannerRenderer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
import com.demcha.compose.document.templates.cv.v2.widgets.SectionHeader;
66

77
/**
8-
* @deprecated Use
8+
* @deprecated since 1.9.0; removed in 2.0. Use
99
* {@link com.demcha.compose.document.templates.cv.v2.widgets.SectionHeader#banner}
1010
* instead — the widget groups the banner alongside its sibling
1111
* variants ({@code underlined}, {@code flat}) so picking a section-
1212
* title style becomes one choice in one place. Kept as a thin
1313
* delegating shim so v2 code written before the widgets layer keeps
1414
* compiling unchanged.
1515
*/
16-
@Deprecated(forRemoval = true)
16+
@Deprecated(since = "1.9.0", forRemoval = true)
1717
public final class BannerRenderer {
1818

1919
private BannerRenderer() {

src/main/java/com/demcha/compose/document/templates/cv/v2/components/ContactRenderer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine;
77

88
/**
9-
* @deprecated Use
9+
* @deprecated since 1.9.0; removed in 2.0. Use
1010
* {@link com.demcha.compose.document.templates.cv.v2.widgets.ContactLine#centered}
1111
* instead — the widget gives you named centred/right-aligned
1212
* variants plus a configurable field order. Kept as a thin
1313
* delegating shim so v2 code written before the widgets layer keeps
1414
* compiling unchanged.
1515
*/
16-
@Deprecated(forRemoval = true)
16+
@Deprecated(since = "1.9.0", forRemoval = true)
1717
public final class ContactRenderer {
1818

1919
private ContactRenderer() {

src/main/java/com/demcha/compose/document/templates/cv/v2/components/HeadlineRenderer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import com.demcha.compose.document.templates.cv.v2.widgets.Headline;
77

88
/**
9-
* @deprecated Use
9+
* @deprecated since 1.9.0; removed in 2.0. Use
1010
* {@link com.demcha.compose.document.templates.cv.v2.widgets.Headline#spacedCentered}
1111
* instead — the widget gives you a named API plus alignment +
1212
* spaced-caps variants, while this class only ever did the
1313
* centred-spaced-caps form. Kept as a thin delegating shim so v2
1414
* code written before the widgets layer keeps compiling unchanged.
1515
*/
16-
@Deprecated(forRemoval = true)
16+
@Deprecated(since = "1.9.0", forRemoval = true)
1717
public final class HeadlineRenderer {
1818

1919
private HeadlineRenderer() {

src/test/java/com/demcha/documentation/PublicApiNoEngineLeakTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ class PublicApiNoEngineLeakTest {
4141
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/style"),
4242
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/table"),
4343
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/image"),
44+
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/output"),
45+
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/snapshot"),
46+
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/theme"),
47+
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/exceptions"),
48+
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/document/emoji"),
4449
PROJECT_ROOT.resolve("src/main/java/com/demcha/compose/font"));
4550

4651
/**

0 commit comments

Comments
 (0)