Ringing the changes
“One big release”: Git 1.9 is officially here
Version 1.9 of Git - a free and open source distributed version control system capable of handling diverse projects quickly and efficiently - is now available.
Continuing an established pattern of ‘big’ releases, Git 1.9 offers a multitude of fixes and cleanups. Along with these new additions, old and outmoded statements such as repo-config tar-tree, lost-found and peek-remote have been stripped out - all the better to make way for various new features.
The devs behind this release note that various bugfixes have been implemented to remote-bzr and remote-hg. Moreover, two-level configuration variable names in "branch.*" and "remote.*" now work as they should.
String statements passed to "git submodule foreach" now go through to the shell without undergoing any evaluation - a behavior that is not backward compatible with earlier versions of Git.
On the new additions side, the "git difftool" shows how many different paths there are in total and how many of them were already taken into account in the progress bar.
There are also some changes in tag meanings. The ‐‐tags option in git fetch now fetches tags as well as what is fetched by the same command without the option.
Fetching from shallowly-cloned repositories, a previously forbidden function, is now cricket - but note that the receiver now becomes a shallow repository with a truncated history too.
Performance improvements for the planned 2.0 release will also make it into the Git-1.9 version. For an overview of all new features, you can take a look at the full Release Notes on GitHub. To get a more overarching introduction to the technology, we highly recommend taking a look at Ben Straub’s awesome tutorial, which explains exactly why “Git is simple".