Performance and Internal Implementation (please report possible regressions)
+ * Bash completion script (in contrib/) have been cleaned up to make
+ future work on it simpler.
+
* An experimental "version 4" format of the index file has been
introduced to reduce on-disk footprint and I/O overhead.
releases are contained in this release (see release notes to them for
details).
- * When a submodule repository uses alternate object store mechanism,
- some commands that were started from the superproject did not
- notice it and failed with "No such object" errors. The subcommands
- of "git submodule" command that properly recursed into the
- submodule in a separate process were OK; only the ones that cheated
- and peeked directly into the submodule's repository from the
- primary process were affected.
- (merge 5e73633 hv/submodule-alt-odb later to maint).
-
- * The directory path used in "git diff --no-index", when it recurses
- down, was broken with a recent update after v1.7.10.1 release.
- (merge 176a335 bp/diff-no-index-strbuf-fix later to maint).
-
- * "git status --porcelain" ignored "--branch" option by mistake. The
- output for "git status --branch -z" was also incorrect and did not
- terminate the record for the current branch name with NUL as asked.
- (merge d4a6bf1 jk/maint-status-porcelain-z-b later to maint).
+ * The progress indicator for a large "git checkout" was sent to
+ stderr even if it is not a terminal.
+ (merge e9fc64c ap/checkout-no-progress-for-non-tty later to maint).
+
+ * A name taken from mailmap was copied into an internal buffer
+ incorrectly and could overun the buffer if it is too long.
+ (merge c9b4e9e jk/format-person-part-buffer-limit later to maint).
+
+ * A malformed commit object that has a header line chomped in the
+ middle could kill git with a NULL pointer dereference.
+ (merge a9c7a8a jk/pretty-commit-header-incomplete-line later to maint).
+
+ * An author/committer name that is a single character was mishandled
+ as an invalid name by mistake.
+ (merge d9955fd jk/ident-split-fix later to maint).
+
+ * "git grep -e '$pattern'", unlike the case where the patterns are
+ read from a file, did not treat individual lines in the given
+ pattern argument as separate regular expressions as it should.
+ (merge ec83061 rs/maint-grep-F later to maint).
* "git diff --stat" used to fully count a binary file with modified
execution bits whose contents is unmodified, which was not quite