Skip to content

Add shared changelog fragment tooling - #1625

Merged
tconley1428 merged 9 commits into
mainfrom
chore/shared-changelog-fragments
Oct 5, 2026
Merged

tconley1428 merged 9 commits into
mainfrom
chore/shared-changelog-fragments

Conversation

@tconley1428

@tconley1428 tconley1428 commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Add shared category-folder changelog tooling for SDK release adapters. The new changelog-tool CLI validates per-PR Markdown fragments, writes a dated release section and consumes its fragments, extracts dated release notes, and resolves Core commit ranges from parent-repository Git links.

The existing range-note CLI remains available. Historical traversal now follows fragments through migration and release assembly without duplicating notes. Fragments contain the entry body without a leading list marker; tooling adds one bullet per nonempty line, allowing multiple entries in a fragment. Each entry occupies one line because each nonempty line becomes a separate list item. Agent guidance asks for concise entries, ideally one or two sentences. Breaking changes always use :boom: Breaking Changes; empty releases are always allowed, and empty sections produce no notes. Shared tooling uses anyhow to preserve error context. SDK adapters update versions and lockfiles first, then invoke the shared tool with the release version and date; they retain commits and PR creation. Validation completes before changelog writes or fragment deletion. Rust's own contributor convention remains unchanged for this first adoption.

Validation: 23 crate tests, targeted Clippy with warnings denied, and nightly formatting passed. Tests exercise real temporary Git repositories, fragment layout, body preservation, release assembly, validation failures without changelog mutation, PR diffs, and nested Core revision selection. A disposable Python SDK checkout also exercised real lockfile updates, release commits, published-note extraction, duplicate rejection and empty-release preparation/extraction, and a subsequent release consuming a late fragment.

The tooling crate remains unpublished; no SDK package version bump is required.

Companion PRs:

@tconley1428
tconley1428 marked this pull request as ready for review October 5, 2026 17:10
@tconley1428
tconley1428 requested a review from a team as a code owner October 5, 2026 17:10

@chris-olszewski chris-olszewski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Overall makes sense, all of my comments are non-blocking

@tconley1428
tconley1428 merged commit bfc66f7 into main Oct 5, 2026
63 of 82 checks passed
@tconley1428
tconley1428 deleted the chore/shared-changelog-fragments branch October 5, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog PR changes do not require changelog updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants