|
| 1 | +--- |
| 2 | +slug: 2.13.0 |
| 3 | +title: "What's new in 2.13.0? \U0001F195" |
| 4 | +date: 2026-04-26T00:00:00.000Z |
| 5 | +authors: orhun |
| 6 | +tags: |
| 7 | + - release |
| 8 | +--- |
| 9 | + |
| 10 | +<center> |
| 11 | + |
| 12 | + <a href="https://github.com/orhun/git-cliff"> |
| 13 | + <img src="/img/git-cliff-anim.gif" /> |
| 14 | + </a> |
| 15 | + |
| 16 | +</center> |
| 17 | + |
| 18 | +> [**git-cliff**](https://github.com/orhun/git-cliff) is a command-line tool that provides a highly customizable way to generate changelogs from the Git history. |
| 19 | +
|
| 20 | +--- |
| 21 | + |
| 22 | +## What's new? ⛰️ |
| 23 | + |
| 24 | +The full changelog can be found [here](https://github.com/orhun/git-cliff/blob/main/CHANGELOG.md). |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +### 🔢 Configurable Processing Order |
| 29 | + |
| 30 | +**git-cliff** now supports defining your own pipeline of commit processing steps via [`processing_order`](/docs/configuration/git#processing_order) configuration option! |
| 31 | + |
| 32 | +```toml |
| 33 | +[git] |
| 34 | +processing_order = [ |
| 35 | + "commit_preprocessors", |
| 36 | + "split_commits", |
| 37 | + "conventional_commits", |
| 38 | + "commit_parsers", |
| 39 | + "link_parsers", |
| 40 | +] |
| 41 | +``` |
| 42 | + |
| 43 | +The available processing steps are: |
| 44 | + |
| 45 | +- [`commit_preprocessors`](/docs/configuration/git#commit_preprocessors) |
| 46 | +- [`split_commits`](/docs/configuration/git#split_commits) |
| 47 | +- [`conventional_commits`](/docs/configuration/git#conventional_commits) |
| 48 | +- [`commit_parsers`](/docs/configuration/git#commit_parsers) |
| 49 | +- [`link_parsers`](/docs/configuration/git#link_parsers) |
| 50 | + |
| 51 | +:::info |
| 52 | + |
| 53 | +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. |
| 54 | + |
| 55 | +::: |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +### 🌀 Migrate Logging to Tracing |
| 60 | + |
| 61 | +We now use the [tracing](https://crates.io/crates/tracing) crate for logging in **git-cliff**! |
| 62 | + |
| 63 | +Before: |
| 64 | + |
| 65 | +<img src="https://raw.githubusercontent.com/orhun/git-cliff/main/website/static/img/logs-before.gif"/> |
| 66 | + |
| 67 | +After: |
| 68 | + |
| 69 | +<img src="https://raw.githubusercontent.com/orhun/git-cliff/main/website/static/img/logs-after.gif"/> |
| 70 | + |
| 71 | +Please let us know if you encounter any bugs or UX issues! |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +### ⚙️ Alternative Config Locations |
| 76 | + |
| 77 | +**git-cliff** now supports more configuration file locations! |
| 78 | + |
| 79 | +- `cliff.toml` |
| 80 | +- `.cliff.toml` |
| 81 | +- `.config/cliff.toml` |
| 82 | +- `$HOME/cliff.toml` |
| 83 | +- `$HOME/.cliff.toml` |
| 84 | +- `$HOME/.config/cliff.toml` |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +### 📊 Per-Commit Statistics |
| 89 | + |
| 90 | +You can now get per-commit statistics in the release context: |
| 91 | + |
| 92 | +```jinja2 |
| 93 | +{% for commit in commits %} |
| 94 | + - {{ commit.message }} ({{ commit.statistics.files_changed }} files, +{{ commit.statistics.additions }}, -{{ commit.statistics.deletions }}) |
| 95 | +{% endfor %} |
| 96 | +``` |
| 97 | + |
| 98 | +Results in: |
| 99 | + |
| 100 | +```md |
| 101 | +- Fix a bug (3 files, +10, -2) |
| 102 | +``` |
| 103 | + |
| 104 | +The available statistics are: |
| 105 | + |
| 106 | +- `{{ commit.statistics.files_changed }}`: Number of files changed in the commit |
| 107 | +- `{{ commit.statistics.additions }}`: Number of lines added in the commit |
| 108 | +- `{{ commit.statistics.deletions }}`: Number of lines deleted in the commit |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +### 🏷️ Bump Type in Context |
| 113 | + |
| 114 | +The determined bump type is now available in the release context as `{{ bump_type }}`. |
| 115 | +This can be used to conditionally render content based on the bump type, for example: |
| 116 | + |
| 117 | +```jinja2 |
| 118 | +{% if bump_type == "major" %} |
| 119 | + - This is a major release! |
| 120 | +{% endif %} |
| 121 | +``` |
| 122 | + |
| 123 | +The available bump types are `major`, `minor` and `patch`. |
| 124 | + |
| 125 | +--- |
| 126 | + |
| 127 | +### 📡 Environment Variable for Offline |
| 128 | + |
| 129 | +You can now also set the `GIT_CLIFF_OFFLINE` environment variable to execute in offline mode: |
| 130 | + |
| 131 | +```sh |
| 132 | +$ GIT_CLIFF_OFFLINE=true git-cliff |
| 133 | +``` |
| 134 | + |
| 135 | +Is the same as: |
| 136 | + |
| 137 | +```toml |
| 138 | +[remote] |
| 139 | +offline = false |
| 140 | +``` |
| 141 | + |
| 142 | +Or passing the `--offline` flag. |
| 143 | + |
| 144 | +--- |
| 145 | + |
| 146 | +### 🐋 Docker Tag Updates |
| 147 | + |
| 148 | +There were some updates to the Docker tags pushed from the CI: |
| 149 | + |
| 150 | +- `latest`: only on version tag builds |
| 151 | +- `main`: only on pushes to the `main` branch |
| 152 | +- `sha-<short>`: commit SHA builds (e.g. `sha-954106f`) |
| 153 | +- `X.Y.Z`: SemVer tag derived from Git tag (e.g. `2.13.0`) |
| 154 | + |
| 155 | +e.g. to pull the latest stable version, you can now use: |
| 156 | + |
| 157 | +```sh |
| 158 | +$ docker pull orhun/git-cliff:latest |
| 159 | +``` |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +### 🧰 Other |
| 164 | + |
| 165 | +- _(lib)_ Raise MSRV to 1.87.0 ([#1479](https://github.com/orhun/git-cliff/issues/1479)) - ([9b38cb4](https://github.com/orhun/git-cliff/commit/9b38cb451e799590d43ef86d0b57917dd2cb256c)) |
| 166 | +- _(args)_ Correctly parse multiple env values for include/exclude paths ([#1450](https://github.com/orhun/git-cliff/issues/1450)) - ([f1874b8](https://github.com/orhun/git-cliff/commit/f1874b85362cec70f346f812109e72e754e323ca)) |
| 167 | +- _(cli)_ Warn when `--with-commit` does not change version ([#1484](https://github.com/orhun/git-cliff/issues/1484)) - ([3d6a7cb](https://github.com/orhun/git-cliff/commit/3d6a7cbdbbc922dea9d780ec0320de926341d7b9)) |
| 168 | +- _(remote)_ Deserialize GitLab API data models safely ([#1368](https://github.com/orhun/git-cliff/issues/1368)) - ([954106f](https://github.com/orhun/git-cliff/commit/954106f3a7d8a6ddea5a51e304d449d4fa728614)) |
| 169 | +- _(docker)_ Install ca-certificates in docker image ([#1425](https://github.com/orhun/git-cliff/issues/1425)) - ([1732b9a](https://github.com/orhun/git-cliff/commit/1732b9a5d41029daa6577a1374c4eeb1fb714e40)) |
| 170 | +- _(cd)_ Publish musl wheels to PyPI by matching matrix.build.NAME ([#1490](https://github.com/orhun/git-cliff/issues/1490)) - ([9b5e732](https://github.com/orhun/git-cliff/commit/9b5e73232d164294d701003ed1f6b690fa6f4bc7)) |
| 171 | + |
| 172 | +--- |
| 173 | + |
| 174 | +## New Contributors ❤️ |
| 175 | + |
| 176 | +- @truffle-dev made their first contribution in [#1490](https://github.com/orhun/git-cliff/pull/1490) |
| 177 | +- @WaterWhisperer made their first contribution in [#1487](https://github.com/orhun/git-cliff/pull/1487) |
| 178 | +- @ChihebBENCHEIKH1 made their first contribution in [#1483](https://github.com/orhun/git-cliff/pull/1483) |
| 179 | +- @sermuns made their first contribution in [#1486](https://github.com/orhun/git-cliff/pull/1486) |
| 180 | +- @danielpza made their first contribution in [#1448](https://github.com/orhun/git-cliff/pull/1448) |
| 181 | +- @niklasmarderx made their first contribution in [#1456](https://github.com/orhun/git-cliff/pull/1456) |
| 182 | +- @lawrence3699 made their first contribution in [#1484](https://github.com/orhun/git-cliff/pull/1484) |
| 183 | +- @mixator made their first contribution in [#1392](https://github.com/orhun/git-cliff/pull/1392) |
| 184 | +- @saudademjj made their first contribution in [#1450](https://github.com/orhun/git-cliff/pull/1450) |
| 185 | +- @nbelsterling made their first contribution in [#1425](https://github.com/orhun/git-cliff/pull/1425) |
| 186 | +- @y5 made their first contribution in [#1427](https://github.com/orhun/git-cliff/pull/1427) |
| 187 | +- @Garbee made their first contribution in [#1371](https://github.com/orhun/git-cliff/pull/1371) |
| 188 | + |
| 189 | +Any contribution is highly appreciated! See the [contribution guidelines](https://github.com/orhun/git-cliff/blob/main/CONTRIBUTING.md) for getting started. |
| 190 | + |
| 191 | +Feel free to [submit issues](https://github.com/orhun/git-cliff/issues/new/choose) and join our [Discord](https://discord.gg/W3mAwMDWH4) / [Matrix](https://matrix.to/#/#git-cliff:matrix.org) for discussion! |
| 192 | + |
| 193 | +Follow `git-cliff` on [Twitter](https://twitter.com/git_cliff) & [Mastodon](https://fosstodon.org/@git_cliff) to not miss any news! |
| 194 | + |
| 195 | +## Support 🌟 |
| 196 | + |
| 197 | +If you liked `git-cliff` and/or my other projects [on GitHub](https://github.com/orhun), consider [donating](https://donate.orhun.dev) to support my open source endeavors. |
| 198 | + |
| 199 | +- 💖 GitHub Sponsors: [@orhun](https://github.com/sponsors/orhun) |
| 200 | +- ☕ Buy Me A Coffee: [https://www.buymeacoffee.com/orhun](https://www.buymeacoffee.com/orhun) |
| 201 | + |
| 202 | +Have a fantastic day! ⛰️ |
0 commit comments