Repository navigation
docs(release): fix 0.6.0.0 changelog + use it as the GitHub release notes - #72
Conversation
Prep for the 0.6.0.0 release, from reconciling CHANGELOG.adoc against the 37 commits since upstream 0.5.3.3: - Fold the PCMetrics fix (upstream confluentinc#892 / confluentinc#859, "keep OffsetMapCodecManager instantiated so metrics aren't recreated every commit") into the 0.6.0.0 Fixes. It was filed under a phantom "0.5.3.4" heading, but 0.5.3.4 was never tagged - we go 0.5.3.3 -> 0.6.0.0 - so the fix actually ships in 0.6.0.0. Replace that heading with an explanatory comment. - Add a 0.6.0.0 Improvements line for the project rename to "Kafka Parallel Consumer" (branding only; Java package names unchanged, imports unaffected). - Regenerate README.adoc (it include::s CHANGELOG.adoc via the template). - release.yml: the GitHub-release step now uses our curated CHANGELOG section as the release notes instead of --generate-notes. It extracts the "== <version>" section, converts AsciiDoc to Markdown (=== -> ###, url[text] -> [text](url)), strips // comments, and passes --notes-file, falling back to --generate-notes if the section is missing/empty. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T6Biwo4QXfD9CFrZnCq1zw
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
❌ Duplicate Code ReportTwo engines run in parallel for cross-validation. Each has its own thresholds tuned to its baseline - the real safety net is the per-engine "max increase vs base" check. ✅ PMD CPD
No new clones introduced by this PR. ❌ jscpd (language-agnostic)
No new clones introduced by this PR. Powered by astubbs/duplicate-code-cross-check |
✅ SpotBugs ReportNo bugs found (new bugs only — baseline from base branch excluded). |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #72 +/- ##
============================================
- Coverage 77.77% 77.65% -0.12%
- Complexity 75 1165 +1090
============================================
Files 82 82
Lines 4220 4220
Branches 386 386
============================================
- Hits 3282 3277 -5
- Misses 757 761 +4
- Partials 181 182 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
❌ Mutation Testing (PIT) ReportPIT did not produce a report. Most commonly this means a test failed in the baseline (PIT runs all tests unmodified first to establish green) and PIT aborted before mutating. See the "Run PIT mutation testing" step logs for the failing test, then either fix it or add it to |
Bring #57 current with master (release-notes #72, deps refresh #73/#74, unit-suite parallelisation #68, refactoring backlog #67, self-hosted CI, etc.). Only CHANGELOG.adoc conflicted: the 0.6.0.0 Fixes now lists master confluentinc#892 (per-commit OffsetMapCodecManager fix) alongside this PR confluentinc#859 (List->Set + assignment-path caching) and confluentinc#893 - complementary, kept all three. Regenerated README.adoc from the merged CHANGELOG via the asciidoc-template plugin. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…hecklist #476 vetted every open note and touched five this branch also edits. Three conflicted and each is resolved on the side that reflects the later decision: - release-0600-blockers.md: deleted here, modified there. Kept deleted; the two corrections the sweep made to it are folded into the burn-down's tag-day checks. One of them is only half right and is recorded as such: release.yml does build a notes file from the changelog (#72), but its exact heading match fails on the "(unreleased)" suffix and falls back to generated notes, which is what #199 fixes. The sweep's "the MDC gap is real" is refuted on the tree - MdcPropagation captures and restores the caller's context since #205 - so the burn-down keeps that correction. - release-experimental-module-records.md: the 2026-09-07 deferral wins over the sweep's vetted marker, per the per-note contract (a deferred note carries the state, not the marker). - release-when-is-v6-good-enough.md: the sweep's dated "the date passed" paragraph and its stale vetted marker ("the question is still unanswered") are dropped; the rewritten note records the decisions and names the failure mode in its own words. Also carried from the sweep: the citation to the poisoned-transaction wedge note is repointed to the sibling #476 merged it into; the burn-down now points at the sweep's own "what gates v6" list in process-candidate-ranking.md and records where the two disagree (the sweep reads the poisoned pair as not gating, and the batchSize validate() bound as the cheapest real fix, which could ride in tier 1); and the #44 exception is narrowed - #466 bounded the revoke wait, so what #408 still owns is declining rather than waiting. Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4 Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
56 commits of master, none of which touched this PR's mechanism: master changed neither `.github/workflows/release.yml`, `bin/release-notes.py`, `bin/test-release-notes.sh` nor `.github/workflows/mutation-full-sweep.yml` since the branch's last master merge, so the renderer and the workflow step that calls it merge unchanged. Master's `release.yml` still carries the inline `awk`/`sed` converter this PR replaces. Master also changed six of the files this PR touches. Four auto-merged: `docs/releasing.md` and `bin/AGENTS.md` (#457's job batching, #442's integration sharding), `.gitignore` (#378, #440), and `docs/inflight/release-0.6.0.0.md` (#448, #476). Two conflicted. `docs/inflight/release-0600-blockers.md` - the #197 triage bullet, inside the `post-merge: checked` markers. This branch (2026-09-01, 2026-09-03) rewrote it in post-merge terms as "all four landed"; master's grooming sweep (#476, 2026-09-08, correcting on 2026-09-07) rewrote the same bullet to say the empty-release-body item **was already false when written** - #72 gave the workflow a `--notes-file` built from the `CHANGELOG.adoc` section on 2026-07-29, with `--generate-notes` only as a fallback. Master's correction is right and is the later decision, so it is kept; master's claim that MDC is still open is not - #205 merged 2026-08-27, which is why this branch corrected it, and that correction is kept. Resolved as one bullet carrying both later facts, and it now states what #199 actually does (replace the inline converter, and fail the release on a missing or unrenderable section) rather than the retired claim that it restores a body that was never absent. `docs/refactoring.md` - two unrelated new sections appended at the same point. Both kept: this branch's "`bin/release-notes.py` is Python in a Node-default `bin/`" and master's "JUnit tag resolution is implemented twice". No content from either side dropped. Neither `--ours` nor `--theirs` was used. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019XS64Xttx4vF5datYh7fmk
Why
Prep for the
0.6.0.0release. ReconcilingCHANGELOG.adocagainst the 37 commits since upstream0.5.3.3surfaced two release-notes problems.Changes
1. Changelog accuracy
OffsetMapCodecManagerinstantiated so metrics aren't recreated every commit") was filed under a phantom0.5.3.4heading. But0.5.3.4was never tagged - we go0.5.3.3→0.6.0.0- so that user-visible fix actually ships in 0.6.0.0. Folded it into the0.6.0.0Fixes; replaced the heading with an explanatory//comment.0.6.0.0Improvements line for the project rename to Kafka Parallel Consumer (branding only; Java package names unchanged, imports unaffected).README.adoc(itinclude::sCHANGELOG.adocvia the template - per the "README is generated" rule).2. Release notes now come from the changelog
release.yml's GitHub-release step used--generate-notes(GitHub's auto PR list), not our curated changelog. It now extracts the== <version>changelog section, converts AsciiDoc → Markdown (===→###,url[text]→[text](url)), strips//comments, and passes--notes-file- with a--generate-notesfallback if the section is missing/empty. Version-generic, so it works for future releases too.Validation
Ran the exact
awk | sedextraction locally against the edited changelog: produces clean Markdown (converted links,###sub-headings, stops before0.5.3.3, no phantom section, no raw//lines). README diff mirrors the changelog changes.Everything else in the 37 commits is already covered by the
0.6.0.0section or correctly excluded (dependency bumps per the file's policy; CI/docs/test-infra as internal).🤖 Generated with Claude Code
https://claude.ai/code/session_01T6Biwo4QXfD9CFrZnCq1zw