diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 1b65657c0..436731e19 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,25 +1,43 @@ -## Summary + +Write the body in three beats — Why → What → Verification. Prefer descriptive headings when a +section has a sharper one (e.g. "What moved", "Before → after", "Binary compatibility"). +Delete any heading you have nothing real to put under — never ship an empty placeholder. +--> -## Type of change +## Why -- [ ] Bug fix (no public API change) -- [ ] New feature / public API addition -- [ ] Documentation only -- [ ] CI / build / tooling -- [ ] Refactor (no behavioural change) + -## Checklist +## What changed -- [ ] **PR targets `develop`** (the integration branch); **not `main`**. -- [ ] Branch name follows `/` (e.g. `feature/canvas-clip`, `fix/table-overflow`, `docs/recipe-themes`); issue-prefixed names like `42/fix/short-description` are also fine. -- [ ] `./mvnw -B -ntp clean verify` passes locally. -- [ ] **Java 17 compatible** — no `List.getFirst()` / `getLast()`, no `Thread.threadId()`, no switch type / deconstruction patterns, no `case null, default ->`. CI matrices Temurin 17 / 21 / 25 and will catch JDK regressions. -- [ ] **Public API change** (if any): `CHANGELOG.md` entry added under the next `## v — Planned` heading. -- [ ] **README touched** (if any): `DocumentationCoverageTest.readmeShouldUseCanonicalDslAndAvoidLegacyApis` still passes — canonical fingerprints (`GraphCompose.document(`, `DocumentSession`, `document.pageFlow(`, `BusinessTheme`) preserved, no legacy tokens (`GraphCompose.pdf(`, `PdfComposer`, `CvTemplateV1`, …). -- [ ] **Examples touched** (if any): runnable via `./mvnw -f examples/pom.xml exec:java -Dexec.mainClass=…`; if a new example, also added to `GenerateAllExamples` and the gallery row count in `examples/README.md`. + +- -## Linked issue +## Verification -Closes # + + +**Lane:** + +Closes # + +--- + +
+Pre-merge checklist + +- [ ] Targets **`develop`** (not `main`); branch is `/`. +- [ ] `./mvnw -B -ntp clean verify` passes locally — this is the **Verification** proof above. +- [ ] **Java 17 compatible** — no `getFirst()`/`getLast()`, `Thread.threadId()`, type/deconstruction `switch`, `case null, default`. (CI runs Temurin 17 / 21 / 25.) +- [ ] **Public API changed** → `CHANGELOG.md` entry under the next `## v — Planned` heading. +- [ ] **README / examples touched** → `DocumentationCoverageTest` stays green; a new example is wired into `GenerateAllExamples` + the `examples/README.md` gallery count. + +
diff --git a/README.md b/README.md index 71c7cccc4..9bb4a33d9 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,8 @@ > **Release status** — > 🟢 **Latest stable**: [v1.7.1](https://github.com/DemchaAV/GraphCompose/releases/tag/v1.7.1) (byte-identical layout / render / measurement performance — text wrapping, font embedding, glyph probing, table pagination; the legacy ECS engine is deprecated; zero breaking from v1.7.0) ->  ·  🟡 **In develop**: v1.7.2 (next bug-fix / housekeeping cycle) + +>  ·  🟡 **In develop**: v1.8.0 — codenamed **"illustrative"** (native vector charts + inline sparklines, free-form `ShapeOutline.Path` clip, sharper SVG-reader errors; additive, zero breaking from v1.7) >  ·  See [API stability policy](./docs/api-stability.md) for tier definitions.