Tooling/workflow for changelogs

After rereading this topic, I would like to experiment with a CHANGELOG.md in some packages.

Is there a recommended workflow, or way to (semi)automatically generate it, and keep version tags in sync?

Or should I just keep it simple and make sure every PR modifies the CHANGELOG.md with a short blurb on the relevant change, like Documenter.jl seems to be doing?

1 Like

I recently came across this: https://www.conventionalcommits.org (on HN, I think). Maybe something to consider?

2 Likes

Thanks for the suggestion. I also found some resources:

  1. BioJulia guidelines recommend a manually curated changelog file, with an [Unreleased] section collecting changes since the last tagged commit. I guess this is finalized when tagging. They have example changelogs.

  2. keepachangelog.com also recommends a manually curated changelog using the same method, and has a lot of guidelines and a FAQ.

Since it is a text file primarily for humans, an automatically generated workflow may be more trouble than it is worth (to combine into a nicely flowing coherent description summarizing a bunch of PRs). I think that I will experiment with a manually kept changelog for a while following these methods.

2 Likes