fix(changelog): repair malformed CHANGELOGs blocking release-plz#1511
Conversation
release-plz has been logging `WARN can't determine changes in changelog
of package {moq-relay,moq-native}: can't parse changelog` since
2025-07-30, when PR #493 accidentally appended a second
`# Changelog ... ## [Unreleased]` header block after the existing entries
(without a blank line, so the stale block stayed in place). Since then
release-plz has been unable to tell what's been released, producing
duplicate version entries (e.g. two `## [0.12.1]` for moq-relay with
different dates) and emitting empty release-PR changelogs that only
reference the previous release commit instead of the real PRs.
Both files now have a single header, a single `## [Unreleased]`, no
duplicate version sections, and the salvaged 0.7.x/0.8.x entries from
the stale top block are reinserted in their proper chronological
position so no history is lost.
Verified locally by running `release-plz update -p moq-relay` against a
clean checkout: the warning is gone and the next release entry is
generated correctly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (2)
WalkthroughThis pull request reorganizes changelogs in the moq-native and moq-relay Rust packages. The moq-native CHANGELOG restores historical release entries (versions 0.8.3 through 0.7.6). The moq-relay CHANGELOG removes historical entries from the Unreleased section, updates the 0.12.1 release date to 2026-05-25, expands its changelog notes to include a release entry, and restores historical release entries (versions 0.9.3 through 0.8.6). Both changes deduplicate and organize version history without altering public API declarations. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
rs/moq-relay/CHANGELOG.md (1)
142-217:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDuplicate version entries remain (
0.10.13and0.10.7).
0.10.13appears twice (Line 142 and Line 158), and0.10.7appears twice (Line 201 and Line 210). These should be merged into single canonical sections to avoid tooling ambiguity.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@rs/moq-relay/CHANGELOG.md` around lines 142 - 217, The changelog contains duplicate release headings for versions 0.10.13 and 0.10.7; remove or merge the duplicate sections so each version appears once. Locate the two "## [0.10.13]" blocks and the two "## [0.10.7]" blocks in CHANGELOG.md, combine their entries (preserving all unique bullet points and PR links) into a single canonical section per version, then delete the duplicate headings/blocks so the file lists each version only once.rs/moq-native/CHANGELOG.md (1)
122-145:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDuplicate
0.13.2release sections still exist and conflict with the PR objective.There are still two
## [0.13.2]entries (Line 122 and Line 135). This can reintroduce ambiguous changelog parsing and should be collapsed into a single section before merge.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@rs/moq-native/CHANGELOG.md` around lines 122 - 145, The changelog contains two duplicate section headers "## [0.13.2]" with overlapping "Fixed" and "Other" lists; collapse them into a single 0.13.2 section by removing the duplicate header and merging any unique list items under one "### Fixed" and one "### Other" block (ensure entries like "prevent panic in Server::close() on ctrl+c ([`#982`])", broadcast/tests/cache ([`#1011`]), client/server-version ([`#1009`]) and Producer/Subscriber ([`#996`]) are present only once), keeping the release date and links intact so there is a single canonical "## [0.13.2] - 2026-03-03" section.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@rs/moq-native/CHANGELOG.md`:
- Around line 122-145: The changelog contains two duplicate section headers "##
[0.13.2]" with overlapping "Fixed" and "Other" lists; collapse them into a
single 0.13.2 section by removing the duplicate header and merging any unique
list items under one "### Fixed" and one "### Other" block (ensure entries like
"prevent panic in Server::close() on ctrl+c ([`#982`])", broadcast/tests/cache
([`#1011`]), client/server-version ([`#1009`]) and Producer/Subscriber ([`#996`]) are
present only once), keeping the release date and links intact so there is a
single canonical "## [0.13.2] - 2026-03-03" section.
In `@rs/moq-relay/CHANGELOG.md`:
- Around line 142-217: The changelog contains duplicate release headings for
versions 0.10.13 and 0.10.7; remove or merge the duplicate sections so each
version appears once. Locate the two "## [0.10.13]" blocks and the two "##
[0.10.7]" blocks in CHANGELOG.md, combine their entries (preserving all unique
bullet points and PR links) into a single canonical section per version, then
delete the duplicate headings/blocks so the file lists each version only once.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 1aae7579-9dc9-4efc-a8e7-9630060c25f8
📒 Files selected for processing (2)
rs/moq-native/CHANGELOG.mdrs/moq-relay/CHANGELOG.md
CodeRabbit flagged three pre-existing duplicates left over from earlier release-plz runs: - rs/moq-relay: two `## [0.10.13]` sections, two `## [0.10.7]` sections - rs/moq-native: two `## [0.13.2]` sections In each case the second occurrence's bullets were a strict subset of the first (the first had an extra `release (#XXXX)` line). Dropped the second occurrence in each so every version appears once. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
WARN can't determine changes in changelog of package {moq-relay,moq-native}: can't parse changelogthatRelease RShas been logging in every run.# Changelog ... ## [Unreleased]header appended below the existing entries (introduced 2025-07-30 in chore: release #493). Since then release-plz hasn't been able to tell what's been released, producing duplicate version sections (e.g. two## [0.12.1]for moq-relay) and degenerate release-PR entries that only reference the previous release commit instead of the real PRs (visible in the currently-open chore: release #1496).## [Unreleased], and no duplicate version entries. The salvaged 0.7.x/0.8.x entries from the stale top block are reinserted in their proper chronological position so no history is lost.Verification
Ran
release-plz update -p moq-relayagainst a clean checkout with this fix applied:WARN can't determine changes in changelog of package moq-relay: can't parse changelogmoq-relay: next version is 0.12.2 (✓ API compatible changes), no warnings, and a properly-formatted entry generated under## [Unreleased].Follow-up
Close/regenerate the stale release-plz PR (#1496) after this lands so the next release PR is built from a clean parse.
Test plan
Release RSworkflow runs cleanly with nocan't parse changelogwarnings.(Written by Claude)