Lightweight semantic version + changelog manager.
- Maintain a markdown
CHANGELOG.md
with sections: Added, Changed, Deprecated, Removed, Fixed, Security. - Add unreleased changes quickly.
- Release and automatically stamp date + version.
- Compute next semantic version via bump parts (major/minor/patch) or explicit version.
- Import Conventional Commits directly into the unreleased section.
pip install autochange
pip install -e .[dev]
autochange init # create CHANGELOG.md
autochange add -t added "New feature" --scope api
autochange add -t fixed "Bug in parser"
autochange release minor # bumps minor based on last release
autochange release auto --tag --commit --push # infer bump from changes, commit, tag and push
autochange import-commits --since v0.1.0 # parse commits after tag v0.1.0
autochange tag # create git tag for latest released version
autochange tag 1.2.3 --push # create & push tag v1.2.3
Subset of Keep a Changelog. Example:
# Changelog
## Unreleased - UNRELEASED
### Added
- (api) New feature
## 0.1.0 - 2025-08-13
### Fixed
- Parser bug
- Conventional commit parser integration.
- Auto-detect bump type from unreleased changes.
- Git tag creation helper.
- Export JSON.
- Supporting different environments (e.g. package.json, Cargo.toml).