What's new in 2.13.0? π

git-cliff is a command-line tool that provides a highly customizable way to generate changelogs from the Git history.
What's new? β°οΈβ
The full changelog can be found here.
π’ Configurable Processing Orderβ
git-cliff now supports defining your own pipeline of commit processing steps via processing_order configuration option!
[git]
processing_order = [
"commit_preprocessors",
"split_commits",
"conventional_commits",
"commit_parsers",
"link_parsers",
]
The available processing steps are:
This is useful for advanced users who want to have more control over the commit processing pipeline, for example, to run custom preprocessors before the conventional commit parsing step.
π Migrate Logging to Tracingβ
We now use the tracing crate for logging in git-cliff!
Before:
After:
Please let us know if you encounter any bugs or UX issues!
βοΈ Alternative Config Locationsβ
git-cliff now supports more configuration file locations!
cliff.toml.cliff.toml.config/cliff.toml$HOME/cliff.toml$HOME/.cliff.toml$HOME/.config/cliff.toml
π Per-Commit Statisticsβ
You can now get per-commit statistics in the release context:
{% for commit in commits %}
- {{ commit.message }} ({{ commit.statistics.files_changed }} files, +{{ commit.statistics.additions }}, -{{ commit.statistics.deletions }})
{% endfor %}
Results in:
- Fix a bug (3 files, +10, -2)
The available statistics are:
{{ commit.statistics.files_changed }}: Number of files changed in the commit{{ commit.statistics.additions }}: Number of lines added in the commit{{ commit.statistics.deletions }}: Number of lines deleted in the commit
π·οΈ Bump Type in Contextβ
The determined bump type is now available in the release context as {{ bump_type }}.
This can be used to conditionally render content based on the bump type, for example:
{% if bump_type == "major" %}
- This is a major release!
{% endif %}
The available bump types are major, minor and patch.
π‘ Environment Variable for Offlineβ
You can now also set the GIT_CLIFF_OFFLINE environment variable to execute in offline mode:
$ GIT_CLIFF_OFFLINE=true git-cliff
Is the same as:
[remote]
offline = false
Or passing the --offline flag.
π Docker Tag Updatesβ
There were some updates to the Docker tags pushed from the CI:
latest: only on version tag buildsmain: only on pushes to themainbranchsha-<short>: commit SHA builds (e.g.sha-954106f)X.Y.Z: SemVer tag derived from Git tag (e.g.2.13.0)
e.g. to pull the latest stable version, you can now use:
$ docker pull orhun/git-cliff:latest
π§° Otherβ
- (lib) Raise MSRV to 1.87.0 (#1479) - (9b38cb4)
- (args) Correctly parse multiple env values for include/exclude paths (#1450) - (f1874b8)
- (cli) Warn when
--with-commitdoes not change version (#1484) - (3d6a7cb) - (remote) Deserialize GitLab API data models safely (#1368) - (954106f)
- (docker) Install ca-certificates in docker image (#1425) - (1732b9a)
- (cd) Publish musl wheels to PyPI by matching matrix.build.NAME (#1490) - (9b5e732)
New Contributors β€οΈβ
- @truffle-dev made their first contribution in #1490
- @WaterWhisperer made their first contribution in #1487
- @ChihebBENCHEIKH1 made their first contribution in #1483
- @sermuns made their first contribution in #1486
- @danielpza made their first contribution in #1448
- @niklasmarderx made their first contribution in #1456
- @lawrence3699 made their first contribution in #1484
- @mixator made their first contribution in #1392
- @saudademjj made their first contribution in #1450
- @nbelsterling made their first contribution in #1425
- @y5 made their first contribution in #1427
- @Garbee made their first contribution in #1371
Any contribution is highly appreciated! See the contribution guidelines for getting started.
Feel free to submit issues and join our Discord / Matrix for discussion!
Follow git-cliff on Twitter & Mastodon to not miss any news!
Support πβ
If you liked git-cliff and/or my other projects on GitHub, consider donating to support my open source endeavors.
- π GitHub Sponsors: @orhun
- β Buy Me A Coffee: https://www.buymeacoffee.com/orhun
Have a fantastic day! β°οΈ
