Skip to content

Write smarter changelog tool in Rust#7801

Merged
Manishearth merged 2 commits intounicode-org:mainfrom
Manishearth:changelog-rust-tool
Mar 24, 2026
Merged

Write smarter changelog tool in Rust#7801
Manishearth merged 2 commits intounicode-org:mainfrom
Manishearth:changelog-rust-tool

Conversation

@Manishearth
Copy link
Member

Our changelog process still calls for manual collation, but there's the boring part (collating by crate and reformatting) and the interesting part (actually prioritizing items in the changelog).

I made the script do most of the boring work.

It produces a report that looks like this: https://hackmd.io/XKCDISO_RhmAH7Ib1zqhjw. The first section of the report contains changelog entries organized by crate. After that the report includes information on additional "notes" found in some PRs that were not a part of the changelog entries but should be considered in the final collation, as well as a list of PRs without changelog information and PRs marked N/A for spot-checking.

A neat thing is that this separates the github fetching from the changelog generation: so you can fetch github state once to JSON (you can even update state for individual PRs in the json), and then run the tool repeatedly.

It currently uses the gh tool because I didn't want to set up a proper login flow.

This is a run-every-few-months tool, so I would prefer to land this as is, with improvements happening over time, without extensive code style/structure review. The maintenance burden of such a tool is low, and if it stops working, it stops working; it is not critical to anything.

Changelog: N/A

Internal

@Manishearth Manishearth requested a review from sffc March 23, 2026 20:56
@Manishearth Manishearth requested a review from a team as a code owner March 23, 2026 20:56
@Manishearth Manishearth force-pushed the changelog-rust-tool branch from 44424be to 61ddfb9 Compare March 23, 2026 21:11
Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

Looks reasonable, without having reviewed with a great level of detail.

@Manishearth Manishearth force-pushed the changelog-rust-tool branch from 61ddfb9 to e36778e Compare March 23, 2026 21:35
@Manishearth
Copy link
Member Author

Oops, pushed before noticing the review.

@Manishearth Manishearth force-pushed the changelog-rust-tool branch from f49f275 to cb49221 Compare March 23, 2026 22:01
@Manishearth Manishearth requested review from sffc March 23, 2026 23:13
Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

Things in tools/ don't need a super detailed review. It seems fine. I agree with using gh to reduce Rust dependencies.

@Manishearth Manishearth merged commit 3e17c83 into unicode-org:main Mar 24, 2026
34 checks passed
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.

2 participants