Updates since v1.8.3
--------------------
-Foreign interfaces and ports.
+Foreign interfaces, subsystems and ports.
+
+ * Git-gui has been updated to its 0.18.0 version.
* MediaWiki remote helper (in contrib/) has been updated to use the
credential helper interface from Git.pm.
UI, Workflows & Features
+ * "git rm" gives a single message followed by list of paths to report
+ multiple paths that cannot be removed.
+
+ * "git rebase" can be told with ":/look for this string" syntax commits
+ to replay the changes onto and where the work to be replayed begins.
+
+ * Many tutorials teach users to set "color.ui" to "auto" as the first
+ thing after you set "user.name/email" to introduce yourselves to
+ Git. Now the variable defaults to "auto".
+
+### * "git status" learned status.branch and status.short configuration
+### variables to use --branch and --short options by default (override
+### with --no-branch and --no-short options from the command line).
+
* "git cmd <name>", when <name> happens to be a 40-hex string,
directly uses the 40-hex string as an object name, even if a ref
"refs/<some hierarchy>/<name>" exists. This disambiguation order
* "git rebase" learned "--[no-]autostash" option to save local
changes instead of refusing to run (to which people's normal
- response was to stash them and re-run).
+ response was to stash them and re-run). This introduced a corner
+ case breakage to "git am --abort" but it has been fixed.
* Instead of typing four capital letters "HEAD", you can say "@" now,
e.g. "git log @".
Performance, Internal Implementation, etc.
+ * Uses of the platform fnmatch(3) function (many places in the code,
+ matching pathspec, .gitignore and .gitattributes to name a few)
+ have been replaced with wildmatch, allowing "foo/**/bar" that would
+ match foo/bar, foo/a/bar, foo/a/b/bar, etc.
+
* Memory ownership and lifetime rules for what for-each-ref feeds to
its callbacks have been clarified (in short, "you do not own it, so
make a copy if you want to keep it").
track are contained in this release (see release notes to them for
details).
+ * "cherry-pick" had a small leak in an error codepath.
+ (merge 706728a fc/sequencer-plug-leak later to maint).
+
* Logic used by git-send-email to suppress cc mishandled names like
"A U. Thor" <author@example.xz>, where the human readable part
needs to be quoted (the user input may not have the double quotes
unquoted strings).
(merge 1495266 mt/send-email-cc-match-fix later to maint).
+ * Call to discard_cache/discard_index (used when we use different
+ contents of the index in-core, in many operations like commit,
+ apply, and merge) used to leak memory that held the array of index
+ entries, which has been plugged.
+ (merge a0fc4db rs/discard-index-discard-array later to maint).
+
* "gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.