Junio Hamano announced the release of Git 2.51-rc0 to kick off the new week and the first step toward Git 2.51 as the next milestone for this open-source distributed version control system.
Git 2.51 is notable in that it is making further preparations toward Git 3.0 where SHA-256 will be used by default rather than the less secure SHA-1 default that Git has used up to this point. It’s been long known Git 3.0 would likely be that milestone where the switch to the SHA-256 hash by default, and finally it’s now mentioned in the v2.51-rc0 news:
* Flipping the default hash function to SHA-256 at Git 3.0 boundary is planned.”
In addition, now when building Git 2.51 and newer with the “WITH_BREAKING_CHANGES” build option, SHA-256 is used by default. The commit changing that default notes:
“Our document on breaking changes indicates that we intend to default to SHA-256 in Git 3.0. Since most people choose the default option, this is an important security upgrade to our defaults.
To allow people to test this case, when WITH_BREAKING_CHANGES is set in the configuration, build Git with SHA-256 as the default hash.”
Git 2.51-rc0 on the SHA-256 front also now adds support to gitk for SHA-256 repositories and also adds support to git-gui for SHA-256 repositories.
Great seeing the continued preparations underway for making the more secure SHA-256 the default. Today’s announcement also notes that Git’s reftable ref back-end has matured enough that for Git 3.0 they are planning to make it the default for newly-created Git repositories.
Git 2.51-rc0 also brings userdiff patterns for the R language, improved “git send-email” documentation, the long-broken “git imap-send” has seen improvements, and a variety of other improvements and fixes.