-
"git archive --format=zip" did not honor core.autocrlf while --format=tar did.
-
Continuing "git rebase -i" was very confused when the user left modified files in the working tree while resolving conflicts.
-
Continuing "git rebase -i" was also very confused when the user left some staged changes in the index after "edit".
-
"git rebase -i" now honors the pre-rebase hook, just like the other rebase implementations "git rebase" and "git rebase -m".
-
"git rebase -i" incorrectly aborted when there is no commit to replay.
-
Behaviour of "git diff --quiet" was inconsistent with "diff --exit-code" with the output redirected to /dev/null.
-
"git diff --no-index" on binary files no longer outputs a bogus "diff --git" header line.
-
"git diff" hunk header patterns with multiple elements separated by LF were not used correctly.
-
Hunk headers in "git diff" default to using extended regular expressions, fixing some of the internal patterns on non-GNU platforms.
-
New config "diff.*.xfuncname" exposes extended regular expressions for user specified hunk header patterns.
-
"git gc" when ejecting otherwise unreachable objects from packfiles into loose form leaked memory.
-
"git index-pack" was recently broken and mishandled objects added by thin-pack completion processing under memory pressure.
-
"git index-pack" was recently broken and misbehaved when run from inside .git/objects/pack/ directory.
-
"git stash apply sash@{1}" was fixed to error out. Prior versions would have applied stash@{0} incorrectly.
-
"git stash apply" now offers a better suggestion on how to continue if the working tree is currently dirty.
-
"git for-each-ref --format=%(subject)" fixed for commits with no newline in the message body.
-
"git remote" fixed to protect printf from user input.
-
"git remote show -v" now displays all URLs of a remote.
-
"git checkout -b branch" was confused when branch already existed.
-
"git checkout -q" once again suppresses the locally modified file list.
-
"git clone -q", "git fetch -q" asks remote side to not send progress messages, actually making their output quiet.
-
Cross-directory renames are no longer used when creating packs. This allows more graceful behavior on filesystems like sshfs.
-
Stale temporary files under $GIT_DIR/objects/pack are now cleaned up automatically by "git prune".
-
"git merge" once again removes directories after the last file has been removed from it during the merge.
-
"git merge" did not allocate enough memory for the structure itself when enumerating the parents of the resulting commit.
-
"git blame -C -C" no longer segfaults while trying to pass blame if it encounters a submodule reference.
-
"git rm" incorrectly claimed that you have local modifications when a path was merely stat-dirty.
-
"git svn" fixed to display an error message when set-tree failed, instead of a Perl compile error.
-
"git submodule" fixed to handle checking out a different commit than HEAD after initializing the submodule.
-
The "git commit" error message when there are still unmerged files present was clarified to match "git write-tree".
-
"git init" was confused when core.bare or core.sharedRepository are set in system or user global configuration file by mistake. When --bare or --shared is given from the command line, these now override such settings made outside the repositories.
-
Some segfaults due to uncaught NULL pointers were fixed in multiple tools such as apply, reset, update-index.
-
Solaris builds now default to OLD_ICONV=1 to avoid compile warnings; Solaris 8 does not define NEEDS_LIBICONV by default.
-
"Git.pm" tests relied on unnecessarily more recent version of Perl.
-
"gitweb" triggered undef warning on commits without log messages.
-
"gitweb" triggered undef warnings on missing trees.
-
"gitweb" now removes PATH_INFO from its URLs so users don’t have to manually set the URL in the gitweb configuration.
-
Bash completion removed support for legacy "git-fetch", "git-push" and "git-pull" as these are no longer installed. Dashless form ("git fetch") is still however supported.
Many other documentation updates.