autochange
Lightweight semantic version + changelog manager.
Features
- Maintain a markdown
CHANGELOG.mdwith 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.
Install
pip install autochange
Development dependencies
pip install -e .[dev]
Usage
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
Changelog Format
Subset of Keep a Changelog. Example:
# Changelog
## Unreleased - UNRELEASED
### Added
- (api) New feature
## 0.1.0 - 2025-08-13
### Fixed
- Parser bug
Roadmap
- 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).
Metadata
Release files for autochange 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autochange-0.1.1.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autochange-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.5 kB
Release files / autochange-0.1.1.tar.gz
| Download URL | autochange-0.1.1.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ea133e1141bade1aac1063e65ca81752df605f0311dcef244032442dbd960e8
|
|
BLAKE2b-256 checksum How to use checksums |
7c835d52c1f940b705610bb09767b5eb3c1152302e2f92f6db7986eb3f36f8be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.0
|
Release files / autochange-0.1.1-py3-none-any.whl
| Download URL | autochange-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7922536ee4c29bd58cbcd6a144aa956f32f7783273512abc0880276633342935
|
|
BLAKE2b-256 checksum How to use checksums |
98ab0baf1b9eddf81807eea5f144ec89a3339adbd64c927acdb7cf25ccfc65c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.0
|