The changelog in platform engineering At my current job, we maintain a package that is used by developers in their own codebases to use a database service on the platform. Like any package or artifact that is released to then be used by application developers, this requires a clear release with a semantic version that communicates what users can expect from it: Does it contain only fixes (patch), or are there new features in the release (minor)? Most importantly, do users (potentially) need to change how they use the package when upgrading (major)?
When publishing a package for use by programmers, automated changelog generation is very beneficial. In this blog post, I explore how to do it in a simple way that works everywhere.
You could configure your cliff.toml (generated with git-cliff --init) to ignore any commits that aren’t interesting to your users
You could use “squash merge” to the prerelease/staging/development branch so that you can commit without worry, and then only have your PR titles follow conventional commits (if the change is interesting to your users)
I should probably add those to the blog.
But yeah, I get preferring to write manual tailored changelogs. Personally I am just a little neurotic about single source of truth and a huge Git nerd. And I know that at least in this job, my users are neurotic enough to prefer completeness.
Thanks for your feedback!
Some thoughts:
cliff.toml(generated withgit-cliff --init) to ignore any commits that aren’t interesting to your usersI should probably add those to the blog.
But yeah, I get preferring to write manual tailored changelogs. Personally I am just a little neurotic about single source of truth and a huge Git nerd. And I know that at least in this job, my users are neurotic enough to prefer completeness.
We do always squash merge, which certainly helps.
I was not aware of
cliff.toml. Thank you!