Git 2.55 is out, with contributions from more than 100 developers, 33 of them new to the project. The version makes one architectural commitment that will ripple through every Linux distribution and CI pipeline that builds Git from source: the Rust compiler is now required by default. You can still opt out at build time, but Rust is no longer optional. For one of the most foundational tools in software development, this is a meaningful shift.
Rust by Default — What Changes for You
Git has been integrating Rust incrementally since version 2.54, targeting memory-safety improvements in performance-critical paths. Making the Rust compiler a build dependency by default signals that the Git project considers this integration stable enough for every distro to ship. In practice, package maintainers for Debian, Fedora, Arch, and others will need to add a Rust toolchain to their Git build pipelines if they haven't already. For most developers who install Git via a package manager, nothing changes — distro maintainers will handle it. It matters most if you build Git from source yourself.
Parallel Hook Execution
Git 2.54 introduced config-based hooks — defining pre-commit, post-merge, and other hooks in your .gitconfig rather than only as executable files dropped in $GIT_DIR/hooks. Git 2.55 extends that by allowing compatible hooks to run in parallel. A project with independent pre-commit hooks for linting and unit tests can declare hook.<n>.parallel = true for each and Git will run them concurrently. Parallelism depth is configurable globally via hook.jobs, per hook event via hook.<event>.jobs, or inline with git hook run -j.
In monorepos with expensive pre-commit pipelines — running a type-checker, a linter, and a test suite before every commit — this can shave meaningful seconds off each cycle without changing anything about the checks themselves.
git history fixup
Git 2.54 introduced the experimental git history command. Version 2.55 adds a fixup subcommand: stage your changes, run git history fixup, and Git applies the staged diff to an earlier commit in your branch, then replays subsequent commits on top. It's a first-class version of the git rebase -i + fixup! commit workflow that experienced Git users already rely on — just without the manual dance of writing a fixup commit, launching the interactive rebase editor, and reordering lines.
Large-Repo Performance Gains
Git 2.55 expands the --path-walk flag — a packing optimization that groups objects by path for more efficient traversal — to work with blob:none, blob:limit=, tree:0, object:type=, sparse, and combine filters. This unlocks path-walk packing in more partial-clone and filtered-pack workflows, which translates to measurable speedups when cloning or fetching repositories the size of the Linux kernel tree. Benchmarks cited in the release notes show significant time reductions on large fetch operations in repositories with complex sparse-checkout configurations.
Git 2.55 is available now from the official Git releases page and is rolling out to major Linux distribution repositories.