Git's Own Roadmap Won't Commit to a Date for Version 3.0
Software / explainer
Git's Own Roadmap Won't Commit to a Date for Version 3.0
Git 2.56 reached its third release candidate Sept. 22 while the project's breaking-changes document, which lists SHA-256 and a Rust-only build as defaults, still says no release date has been set.
Git's 2.56 release has been in testing for nearly two weeks, reaching release candidate rc2 on Sept. 22 after rc0 shipped Sept. 10 and rc1 followed Sept. 16, according to tag timestamps in the git/git repository on GitHub. Project maintainer Junio Hamano tagged all three release candidates himself, the same repository shows, and the stable 2.56.0 build has not shipped as of this writing.
The new version adds subcommands to git refs for creating, deleting, updating and renaming references directly, a --delete-merged flag for git branch that removes local branches already merged into their remote tracking branch, and a --resolved option for git add that stages only files whose conflict markers have actually been cleared, according to the project's own 2.56.0 release notes. git status now names the specific remote and branch in the git pull command it suggests when a branch has diverged, and merge-base computation was changed to stop early once one side's commits are exhausted, which the notes describe as a source of speedups on large repositories.
What Git 3.0 actually changes
Git's own BreakingChanges.adoc document, maintained in the project's repository, lists four defaults that will flip in the next major version: new repositories will hash objects with SHA-256 instead of SHA-1, store references in the reftable format instead of flat files, name their first branch main, and require a Rust toolchain to build at all. None of these affect a repository created before the change ships; the document is explicit that only new repositories pick up the new defaults.
The Rust requirement is already partway rolled out. Git 2.52 auto-detected Rust and left it disabled by default so the project could sort out its build infrastructure, and Git 2.55, which has already shipped, switched both build systems to enable Rust by default, meaning a from-source build without a Rust toolchain already fails unless a distributor passes a flag to disable it. Git 3.0 removes that opt-out entirely.
| Rust milestone | What changes |
|---|---|
| Git 2.52 | Auto-detected, disabled by default |
| Git 2.55 (shipped) | Enabled by default in both build systems |
| Git 3.0 | Mandatory, no build-time opt-out |
The document also lists several removals for 3.0: support for grafting commits, the git-pack-redundant command, the decades-old .git/branches/ and .git/remotes/ shorthand directories, the --stdin option on name-rev, git-whatchanged, and the core.commentString=auto and core.preferSymlinkRefs=true settings. The last version before 3.0 will be declared a long-term-support release, getting bug fixes for four release cycles and security fixes for six, the document says.
Why outside estimates keep moving
Git's BreakingChanges.adoc states plainly: "There is no planned release date for this breaking version yet." Coverage of the project has not treated that as settled. Phoronix, writing Sept. 11 about the 2.56-rc0 testing cycle, described Git 3.0 as "potentially coming around the end of 2026." A week later, an LWN report by Jonathan Corbet, published Sept. 18, carried a later update citing a concrete plan: a December 2026 release numbered 2.98 to signal the transition is coming, followed by a 2.99 long-term-support release in April 2027, with Git 3.0 shipping at the same time as 2.99.
The gap between those two accounts is nine to ten months, and it maps onto when each was written: Phoronix's estimate predates the version-numbering plan LWN later reported, rather than the two outlets disagreeing about the same information. Git's breaking-changes document itself has not been updated to include the 2.98/2.99 numbering scheme, which means the closest thing to an official date lives in a mailing list discussion Corbet cited rather than in the project's own tracked roadmap. Anyone deciding today whether to test the SHA-256 or reftable defaults early is working from a target the project's own paperwork has not caught up to yet.
Git is not the only decades-old project in the news for how it handles its own history this month. A GitHub-trending agent framework that passed 7,600 stars shipped its own breaking v0.3.0 update with far less advance warning than Git has given for SHA-256 or Rust, and a FoxPro revival covered here is dealing with a 20-year-old flaw of its own. Git has a formal document tracking what it plans to break, and even its own maintainers will not put a date on the version it describes.
Sources
More in Software
- 01Qualcomm Ships a Snapdragon X2 Linux Preview, Certifies Ubuntu for 2027The Sept. 23 developer preview pairs a custom kernel with Debian 13 for kernel developers only, and Qualcomm says first-generation Snapdragon X Elite laptops get no official support commitment at all.
- 02A New Postgres Safety Checker Meets Its Limits on Hacker NewsSafe-Not-Safe, built by a former Cloudflare Postgres lead who supported 170-plus product teams, grades a migration in the browser, but a rival maintainer showed within hours why static rules alone can't see what a live database will actually do.
- 03Microsoft Copilot Adds Autopilot as Just 7% of Seats PayThe Sept. 25 relaunch bills coding and autonomous agents by usage on top of the existing $30-a-month license, while Microsoft's own announcement never names the rival already leading enterprise AI use.
- 04Independent Testing Cuts Floci's 24-Millisecond Claim to 3 SecondsFloci's own docs claim a 24-millisecond startup against LocalStack's 3.3 seconds, but an April benchmark measured Floci itself at roughly 3 seconds, as the free AWS emulator passes 25,000 GitHub stars five months after LocalStack's free tier ended.