Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a changelog with cargo changelog #354

Closed
wants to merge 2 commits into from

Conversation

Byron
Copy link
Member

@Byron Byron commented May 22, 2023

This is a proposal for maintaining a changelog, which currently does not exist.

The way this works is to use conventional commits only when those notes should
appear in the changelog next time it is updated with cargo changelog or cargo smart-release.

This way, useful changelog can be generated with minimal effort, while making it possible to
hand-write portions of it as one sees fit.

I am using this system to maintain changelogs for more than 40 interconnected crates over at
gitoxide, and without it I would definitely have lost my sanity already.

With that said, I understand that this might be a complicated topic and if there is any hestancy
there is certainly no issue to continue without a changelog as well.

CHANGELOG.md rendered
MAINTENANCE.md rendered

Copy link
Member

@JohnTitor JohnTitor left a comment

Choose a reason for hiding this comment

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

Makes sense to me! A bonus point would be preparing a release procedure so that every maintainer can generate it easily, I guess.

@Byron Byron force-pushed the changelog-proposal branch 3 times, most recently from 855b62d to 2cfb12e Compare May 25, 2023 07:17
Byron added 2 commits May 25, 2023 09:23
This is a proposal for maintaining a changelog, which currently does not exist.

The way this works is to use conventional commits *only* when those notes should
appear in the changelog next time it is updated with `cargo changelog` or `cargo smart-release`.

This way, useful changelog can be generated with minimal effort, while making it possible to
hand-write portions of it as one sees fit.
Right now it's nothing more than a guess.
@Byron
Copy link
Member Author

Byron commented May 25, 2023

Thanks, that's a great idea! I have added a MAINTENANCE.md document where I am guessing how the current workflow might have been, along with the additions needed to maintain the CHANGELOG.md.

Since I opened this PR thinking there was no changelog at all, I admit that having to do extra steps to maintain it seems like a nuisance. After all, it's meant to be fully automatic but without the use of cargo smart-release that's not happening and I think in this case, there is also no need for it either (and it would force the tagging convention to v<version> from <version>).

Considering all that, I think maybe it's enough to document the current release workflow and add a line that has us auto-generate the CHANGELOG.md for people who (like me) don't look at GitHub releases and expect to see a file. That would be minimal added effort I think, while adding a lot of value.

I am looking forward to hearing what you think.

@Byron
Copy link
Member Author

Byron commented Jul 17, 2023

Closing as the current workflow with GitHub generated changelogs seems to be sufficient while the GitHub dependency isn't a problem, might as well embrace it.

However, I will open another PR with the new maintenance document.

@Byron Byron closed this Jul 17, 2023
@Byron Byron deleted the changelog-proposal branch July 17, 2023 06:22
@Byron Byron mentioned this pull request Jul 17, 2023
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