obi1kenobi / cargo-semver-checks

Scan your Rust crate for semver violations.
Apache License 2.0
1.03k stars 61 forks source link

Changelog output mode #60

Open epage opened 1 year ago

epage commented 1 year ago

Like #6 being an output mode, this would be another that would provide a snippet for including in a changelog. No-touch additions (automatically insert into file, using a particular users format, etc) are non-goals. The focus is on a starting point as the user will likely want to add more information as well and we want to encourage users to do so rather than it being "good enough".

The hope is this will encourage people to write changelogs more.

epage commented 1 year ago

Likely blocked on #58

obi1kenobi commented 1 year ago

Here's a specific use case for this mode: https://github.com/kenba/opencl3/pull/54

That PR shows that an API change that happened across a major version was unintentional and undesirable: some items of a glob re-export were shadowed by a local use statement of other items, and as a result stopped being part of the public API of the crate. This was semver-compliant since the change happened across a major version boundary.

A changelog output mode, perhaps one where the action posts a GitHub comment with the changelog, could have prevented this.