Git 2.39 Released: A More Flexible shortlog and Object Backups
Git 2.39 made git shortlog group commits by arbitrary format specifiers, added a repack option to back up expired objects, and sped up the push connectivity check.
Historical Archive. This article documents an event from 2022 and is preserved with its original date for reference. It is not current news, and details may have changed since publication.
What happened
Git 2.39 was released on December 12, 2022, according to the GitHub blog's Highlights from Git series, closing out the year with features and fixes from more than 86 contributors, 31 of them new.
A more flexible shortlog
The git shortlog command, used to summarise git log output, became more flexible by learning to aggregate commits based on arbitrary formatting specifiers. Previously used mainly to list contributors and their commit counts, it can now group commits by things like the year and month they were committed, replacing awkward pipelines of git log, sort and uniq with a single command. The flexibility is limited only by Git's pretty-format specifiers.
Object backups and faster pushes
Building on the cruft-packs garbage-collection work, git repack gained an --expire-to option that writes any objects removed during garbage collection into an external backup packfile, making it easier to recover a repository if collection removes an object that turns out to be needed. Separately, Git 2.39 enhanced the connectivity check that servers run before accepting a push to consider only advertised references, which in a test repository with millions of references made the check roughly four-and-a-half times faster.
Security hardening
The release added defense-in-depth security measures, including git apply refusing to apply patches larger than about one gigabyte to avoid potential integer overflows, and correctly redacting sensitive header information when verbose curl tracing is enabled over HTTP/2. The Git project also codified and wrote down how it coordinates and discloses embargoed security releases.
Why it mattered
Git 2.39's changes were a mix of everyday ergonomics and infrastructure robustness: a far more useful shortlog for anyone analysing project history, an object-backup safety net for garbage collection, and a faster push path for large hosting setups, alongside meaningful security hardening.
Related on Skillo
See also: Git 2.42's reference and object improvements.
Sources
Published date reflects the original event date (2022-12-12). This article is original Skillo editorial written from the sources above; facts were verified in September 2026.
Written by
Skillo Staff
0 Comments
Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.