Skip to content

fix(changelog): repair malformed CHANGELOGs blocking release-plz#1511

Merged
kixelated merged 2 commits into
mainfrom
claude/compassionate-hugle-35a84c
May 26, 2026
Merged

fix(changelog): repair malformed CHANGELOGs blocking release-plz#1511
kixelated merged 2 commits into
mainfrom
claude/compassionate-hugle-35a84c

Conversation

@kixelated
Copy link
Copy Markdown
Collaborator

Summary

  • Fixes the WARN can't determine changes in changelog of package {moq-relay,moq-native}: can't parse changelog that Release RS has been logging in every run.
  • Each file had a duplicate # 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).
  • Each file now has a single header, a single ## [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-relay against a clean checkout with this fix applied:

  • Before: WARN can't determine changes in changelog of package moq-relay: can't parse changelog
  • After: moq-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

  • CI's Release RS workflow runs cleanly with no can't parse changelog warnings.
  • The next release-plz PR contains real per-commit changelog entries for moq-relay and moq-native.

(Written by Claude)

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>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 42a28766-2a9a-4e00-a51e-6e606f59ff4a

📥 Commits

Reviewing files that changed from the base of the PR and between df722f5 and 21acdfa.

📒 Files selected for processing (2)
  • rs/moq-native/CHANGELOG.md
  • rs/moq-relay/CHANGELOG.md
💤 Files with no reviewable changes (2)
  • rs/moq-relay/CHANGELOG.md
  • rs/moq-native/CHANGELOG.md

Walkthrough

This 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)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: repairing malformed CHANGELOGs that are blocking release-plz.
Description check ✅ Passed The description is directly related to the changeset, providing context about the changelog corruption issue, root cause, and verification of the fix.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch claude/compassionate-hugle-35a84c

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Duplicate version entries remain (0.10.13 and 0.10.7).

0.10.13 appears twice (Line 142 and Line 158), and 0.10.7 appears 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 win

Duplicate 0.13.2 release 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

📥 Commits

Reviewing files that changed from the base of the PR and between 8f257a7 and df722f5.

📒 Files selected for processing (2)
  • rs/moq-native/CHANGELOG.md
  • rs/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>
@kixelated kixelated merged commit 1430897 into main May 26, 2026
1 check passed
@kixelated kixelated deleted the claude/compassionate-hugle-35a84c branch May 26, 2026 16:22
@moq-bot moq-bot Bot mentioned this pull request May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant