orhun/git-cliff

Performance regression in v2.13.0

Open

#1,519 opened on May 8, 2026

View on GitHub
 (4 comments) (1 reaction) (1 assignee)Rust (308 forks)auto 404
bughelp wantedperformance

Repository metrics

Stars
 (12,040 stars)
PR merge metrics
 (PR metrics pending)

Description

Is there an existing issue for this?

  • I have searched the existing issues

Description of the bug

Starting in 2.13.0 parsing of the git history/commit messages takes way longer compared to previous versions.

In a repository with a large number of commits I see processing times rising to multiple tens of seconds (locally) or even over a minute (CI).

Performance comparison run locally (Apple M4 Pro):

Large history: 0.1s => 23.4s

time ~/Downloads/git-cliff-2.12.0/git-cliff --bumped-version
 INFO  git_cliff > A new version of git-cliff is available: v2.12.0 -> v2.13.1
 WARN  git_cliff > "cliff.toml" is not found, using the default configuration
 WARN  git_cliff_core::changelog > 6453 commit(s) were skipped due to parse error(s) (run with `-vv` for details)
v1.7.46
~/Downloads/git-cliff-2.12.0/git-cliff --bumped-version  0.09s user 0.02s system 95% cpu 0.111 total

time ~/Downloads/git-cliff-2.13.0/git-cliff --bumped-version
INFO  git_cliff > A new version of git-cliff is available: v2.13.0 -> v2.13.1
WARN  git_cliff > "cliff.toml" is not found, using the default configuration
WARN  git_cliff_core::changelog > process_commits: 6453 commit(s) were skipped due to parse error(s) (run with `-vv` for details)
v1.7.46
~/Downloads/git-cliff-2.13.0/git-cliff --bumped-version  23.40s user 3.10s system 99% cpu 26.540 total

Smaller history: 0.01s => 0.15s

time ~/Downloads/git-cliff-2.12.0/git-cliff --bumped-version
 INFO  git_cliff > A new version of git-cliff is available: v2.12.0 -> v2.13.1
 WARN  git_cliff > "cliff.toml" is not found, using the default configuration
 WARN  git_cliff_core::changelog > 329 commit(s) were skipped due to parse error(s) (run with `-vv` for details)
 WARN  git_cliff                 > There is nothing to bump
v1.1.74
~/Downloads/git-cliff-2.12.0/git-cliff --bumped-version  0.01s user 0.02s system 67% cpu 0.049 total
time ~/Downloads/git-cliff-2.13.0/git-cliff --bumped-version
INFO  git_cliff > A new version of git-cliff is available: v2.13.0 -> v2.13.1
WARN  git_cliff > "cliff.toml" is not found, using the default configuration
WARN  git_cliff_core::changelog > process_commits: 329 commit(s) were skipped due to parse error(s) (run with `-vv` for details)
WARN  git_cliff                 > There is nothing to bump
v1.1.74
~/Downloads/git-cliff-2.13.0/git-cliff --bumped-version  0.15s user 0.11s system 99% cpu 0.266 total

Steps To Reproduce

  1. Run git-cliff v2.12.0 with default config and time execution
  2. Run git-cliff v2.13.0 or above with default config and time execution

Expected behavior

Execution time should not increase by a large factor

Screenshots / Logs

No response

Software information

  • Operating system: macOS Sequoia 15.7.5; RHEL8
  • Rust version: n/a (tested with released binaries and docker image)
  • Project version: 2.13.0 / 2.13.1

Additional context

No response

Contributor guide