Skip to main content

What's new in 2.3.0?

Β· 3 min read
Orhun ParmaksΔ±z
Author of git-cliff

git-cliff is a command-line tool (written in Rust) that provides a highly customizable way to generate changelogs from git history.

It supports using custom regular expressions to alter changelogs which are mostly based on conventional commits. With a single configuration file, a wide variety of formats can be applied for a changelog, thanks to the Jinja2/Django-inspired template engine.

More information and examples can be found in the GitHub repository.

What's new? ⛰️​

The full changelog can be found here.


🦊 GitLab Integration​

git-cliff now supports integrating with repositories hosted on GitLab (gitlab.com or your own instance)!

This means that you can now use the following variables in your changelog:

  • GitLab usernames (${{ commit.gitlab.username }} or ${{ contributor.username }})
  • Contributors list (${{ gitlab.contributors }})
  • Pull requests (${{ commit.gitlab.pr_number }} or ${{ contributor.pr_number }})

Which means you can generate a changelog entries like the following:

## What's Changed

- feat(commit): add merge_commit flag to the context by @orhun in !389
- test(fixture): add test fixture for bumping version by @orhun in !360

## New Contributors

- @someone made their first contribution in !360
- @cliffjumper made their first contribution in !389

<!-- generated by git-cliff -->

To set up git-cliff for your project, simply:

  1. Check out the quickstart guide for installation / initialization.
  2. Set up the Git remote for your GitLab project.
  3. Update the changelog configuration to use the template variables.
tip

See the GitLab integration for detailed documentation and usage examples. It works very similar to the GitHub integration.

Big thanks to dark0dave for the contribution!


πŸ“˜ Bitbucket Integration​

git-cliff now supports integrating with repositories hosted on Bitbucket!

It works similarly with GitHub and GitLab integrations. See the documentation for details and usage examples.

Big thanks to dark0dave for the contribution!


πŸ“€ Output to stdout​

Using - for stdout is common among CLI tools and git-cliff now supports this!

$ git-cliff -o -

You can simply use - instead instead of -o /dev/stdout. It can also be used in conjunction with -p argument as mentioned in this issue.


🧰 Other​

  • (nix) Add installation instructions for Nix (#669) - (63c8ad4)
  • (website) Add more git range examples (#655) - (d451252)
  • (args) Allow -o and -p together if they point to different files (#653) - (076f859)
  • (example) Allow using github template without github variables (#672) - (6a9feba)

Contributions πŸ‘₯​

  • @R11baka made their first contribution in #672
  • @0x61nas made their first contribution in #669
  • @dark0dave made their first contribution in #663
  • @antonengelhardt made their first contribution in #653

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! ⛰️