Changelog generator
Features
- feature-rich changelog format
- low-config changelog management
- customizable
See in action
This project use changen to maintain its changelog, using github action
- The changelog file - see what the syntax have to offer
- Its commits history
- The release Github workflow - It will create a PR
Getting started
-
Create the changelog
If you don't have a changelog file yet, you can use
changen new. -
Validate your changelog syntax
If you already have a changelog file, you can see if its syntax get accepted by running
changen validate. -
Generate release notes
When you know your changelog is valid, you can use
changen generateto generate a release-note about the last commit.It can generate release notes
- between two tags/commits
- for a specific commit/tag
- for a milestone
By default, it will generate release notes from the last release in the changelog to HEAD. It will get the list of commits using a
git logcommand, and try to match them against remote PRs if it have the necessary infos. -
Make a new release
To make a new release, use
changen release --version 1.0.0.
The full API reference can be found here (automatically generated).
Commit syntax
fix(project_a): Fix a nasty bug <=> commit-type(scope): commit-message
Advanced use
Ignore commit
Currently, you can write theses patterns anywhere in the commit message:
(skip changelog)(ignore changelog)!changelog!log
Map commit type to section(ex: ### Fixed) in the changelog
The default map can be seen here. Note than the order will define in witch order the section will appears in the log file.
Use with changen generate --map path/to/map.json
Changelog custom path
changen generate --file path/to/CHANGELOG.md
Acknowledgement
-
pom for being an awesome parser. Without this parser, i would have probably drop this project! The parser of the changelog is less than 200 lines!
-
Iced, for its well maintained changelog
-
Gitoxide changelog because its use a similar tool (quit complex and more powerful)