3 releases
0.1.10 | Sep 5, 2024 |
---|---|
0.1.9 | Aug 27, 2024 |
0.1.9-rc8 | Aug 24, 2024 |
#1845 in Development tools
105KB
3K
SLoC
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 generate
to 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 log
command, 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)
Dependencies
~10–22MB
~310K SLoC