Back to Git Cliff

What's new in 2.13.0? U0001F195

website/blog/git-cliff-2.13.0.md

2.13.16.9 KB
Original Source
<center> <a href="https://github.com/orhun/git-cliff"> </a> </center>

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!

toml
[git]
processing_order = [
  "commit_preprocessors",
  "split_commits",
  "conventional_commits",
  "commit_parsers",
  "link_parsers",
]

The available processing steps are:

:::info

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:

jinja2
{% for commit in commits %}
  - {{ commit.message }} ({{ commit.statistics.files_changed }} files, +{{ commit.statistics.additions }}, -{{ commit.statistics.deletions }})
{% endfor %}

Results in:

md
- 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:

jinja2
{% 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:

sh
$ GIT_CLIFF_OFFLINE=true git-cliff

Is the same as:

toml
[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 builds
  • main: only on pushes to the main branch
  • sha-<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:

sh
$ 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-commit does 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.

Have a fantastic day! ⛰️