Create a tool to automate updating changelog files
- Dominant language
- Rust
- Stars
- 188
- Forks
- 41
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 12
Description
See [this doc](https://github.com/google/wasefire/blob/main/docs/contributing/changelog.md#logging-a-change) for a description of the problem. The goal of this issue is to write a tool that would update the `CHANGELOG.md` file of a crate, and if necessary the `Cargo.toml` too as well as all the dependents `Cargo.toml` and `CHANGELOG.md` files if any.
It should probably look something like:
```shell
cargo xtask change crates/prelude minor 'Add foo::bar module to support FooBar'
cargo xtask change crates/board major 'Change Foo::bar() to return an error'
```
It should also provide a CI test to make sure changelog are correctly modified in PRs:
- Only the pre-release is modified (or the skip changelog counter) and changes are only prepended.
- If the skip changelog counter is bumped, then there must be a pre-release.
- The pre-release version is bumped accordingly to the highest sub-section (major, minor, patch).
Contributor guide
Assessment
This issue has not been assessed yet.