kipyin/pokemaster

Use `towncrier` to manage the CHANGELOG

Closed this issue · 0 comments

I've seen the attrs team using towncrier to generate their CHANGELOG, and after looking into towncrier's docs, I think it is the go-to tool for CHANGELOG management.

Using towncrier

towncrier uses news fragments to store changes between each release. A piece of news fragment is a rST-style file with suffixes like .feature, .bugfix, etc.

When publishing a new release, all news fragments will be moved to the corresponding sections in CHANGELOG.md, and the fragments will be removed (by using towncrier command).

All news fragments will be stored in the newsfragments directory under the project root.

Detailed Steps

  • Add towncrier to the dev-dependency (poetry add towncrier -D).
  • Add a newsfragments to the project root.
  • Add .gitignore to newsfragments/.gitignore.
  • Add a [tool.towncrier] section to pyproject.toml.
  • Run towncrier command to generate the CHANGELOG for version 0.1.3.