What’s new in Git 2.45.0?

This post details the introduction of the 'reftable' backend for Git references in version 2.45.0. It explains the limitations of the existing 'files' format (scalability issues with large repositories, atomic read/write problems, inefficient housekeeping, filesystem-specific behavior) and how 'reftable' addresses these by using a new binary format stored in tables. It also highlights improvements to Git tooling, including `--include-root-refs` for `git-for-each-ref` to list all references (including pseudo-refs) and a new `list` subcommand for `git-reflog` to enumerate existing reflogs. Finally, it discusses the optimization of `git pack-refs --auto` for the 'reftable' backend, which leverages self-optimizing heuristics rather than a full repack.