The format of CHANGELOG.md is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
We use towncrier to reduce merge conflicts by generating
CHANGELOG.md from news fragments, rather than maintaining it directly. Create a news fragment for
each MR if you would like to ensure your changes are communicated to other project contributors.
# To create a news entry for an added feature relating to MR !123
# Adding --edit is optional and will open in your default shell's $EDITOR
towncrier create 123.added --editTop tips:
- You may wish to add
export EDITOR="code -w"to your.zshrcfile to open this directly in VS Code. - News fragments should be written in markdown.
- The generated news fragments live in
.changelog/and can be easily rewritten as an MR evolves.
We use the following custom types (adapted from Keep a Changelog):
.addedfor new features.changedfor changes in existing functionality.deprecatedfor soon-to-be removed features.removedfor now removed features.fixedfor any bug fixes.securityin case of vulnerabilities.analysisfor data analyses.docsfor documentation improvements.maintenancefor maintenance tasks & upgrades
Release versions are tied to Gitlab milestones and sprints. Release checklist:
- Review MRs assigned to the release milestone in Gitlab & reallocate to the next release.
- Run
towncrier build --version=VERSION(preview with--draft) - Add a git tag for the release.