| Git 2.15 Release Notes | 
 | ====================== | 
 |  | 
 | Backward compatibility notes and other notable changes. | 
 |  | 
 |  * Use of an empty string as a pathspec element that is used for | 
 |    'everything matches' is still warned and Git asks users to use a | 
 |    more explicit '.' for that instead.  The hope is that existing | 
 |    users will not mind this change, and eventually the warning can be | 
 |    turned into a hard error, upgrading the deprecation into removal of | 
 |    this (mis)feature.  That is now scheduled to happen in the upcoming | 
 |    release. | 
 |  | 
 |  * Git now avoids blindly falling back to ".git" when the setup | 
 |    sequence said we are _not_ in Git repository.  A corner case that | 
 |    happens to work right now may be broken by a call to die("BUG"). | 
 |    We've tried hard to locate such cases and fixed them, but there | 
 |    might still be cases that need to be addressed--bug reports are | 
 |    greatly appreciated. | 
 |  | 
 |  | 
 | Updates since v2.14 | 
 | ------------------- | 
 |  | 
 | UI, Workflows & Features | 
 |  | 
 |  * An example that is now obsolete has been removed from a sample hook, | 
 |    and an old example in it that added a sign-off manually has been | 
 |    improved to use the interpret-trailers command. | 
 |  | 
 |  * The advice message given when "git rebase" stops for conflicting | 
 |    changes has been improved. | 
 |  | 
 |  * The "rerere-train" script (in contrib/) learned the "--overwrite" | 
 |    option to allow overwriting existing recorded resolutions. | 
 |    (merge ad53bf79aa rg/rerere-train-overwrite later to maint). | 
 |  | 
 |  * "git contacts" (in contrib/) now lists the address on the | 
 |    "Reported-by:" trailer to its output, in addition to those on | 
 |    S-o-b: and other trailers, to make it easier to notify (and thank) | 
 |    the original bug reporter. | 
 |    (merge 09ac673788 eb/contacts-reported-by later to maint). | 
 |  | 
 |  | 
 | Performance, Internal Implementation, Development Support etc. | 
 |  | 
 |  * Conversion from uchar[20] to struct object_id continues. | 
 |  | 
 |  * Start using selected c99 constructs in small, stable and | 
 |    essentialpart of the system to catch people who care about | 
 |    older compilers that do not grok them. | 
 |  | 
 |  * The filter-process interface learned to allow a process with long | 
 |    latency give a "delayed" response. | 
 |  | 
 |  * Many uses of comparision callback function the hashmap API uses | 
 |    cast the callback function type when registering it to | 
 |    hashmap_init(), which defeats the compile time type checking when | 
 |    the callback interface changes (e.g. gaining more parameters). | 
 |    The callback implementations have been updated to take "void *" | 
 |    pointers and cast them to the type they expect instead. | 
 |  | 
 |  * Because recent Git for Windows do come with a real msgfmt, the | 
 |    build procedure for git-gui has been updated to use it instead of a | 
 |    hand-rolled substitute. | 
 |    (merge 90dbf226ba js/git-gui-msgfmt-on-windows later to maint). | 
 |  | 
 |  | 
 | Also contains various documentation updates and code clean-ups. | 
 |  | 
 |  | 
 | Fixes since v2.14 | 
 | ----------------- | 
 |  | 
 |  * "%C(color name)" in the pretty print format always produced ANSI | 
 |    color escape codes, which was an early design mistake.  They now | 
 |    honor the configuration (e.g. "color.ui = never") and also tty-ness | 
 |    of the output medium. | 
 |    (merge 11b087adfd jk/ref-filter-colors later to maint). | 
 |  | 
 |  * The http.{sslkey,sslCert} configuration variables are to be | 
 |    interpreted as a pathname that honors "~[username]/" prefix, but | 
 |    weren't, which has been fixed. | 
 |    (merge 8d1549643e jc/http-sslkey-and-ssl-cert-are-paths later to maint). | 
 |  | 
 |  * Numerous bugs in walking of reflogs via "log -g" and friends have | 
 |    been fixed. | 
 |    (merge de239446b6 jk/reflog-walk later to maint). | 
 |  | 
 |  * "git commit" when seeing an totally empty message said "you did not | 
 |    edit the message", which is clearly wrong.  The message has been | 
 |    corrected. | 
 |    (merge bc17f35f8c ks/commit-abort-on-empty-message-fix later to maint). | 
 |  | 
 |  * When a directory is not readable, "gitweb" fails to build the | 
 |    project list.  Work this around by skipping such a directory. | 
 |    (merge 46a13857fc hb/gitweb-project-list later to maint). | 
 |  | 
 |  * Some versions of GnuPG fails to kill gpg-agent it auto-spawned | 
 |    and such a left-over agent can interfere with a test.  Work it | 
 |    around by attempting to kill one before starting a new test. | 
 |    (merge 29ff1f8f74 st/lib-gpg-kill-stray-agent later to maint). | 
 |  | 
 |  * A recently added test for the "credential-cache" helper revealed | 
 |    that EOF detection done around the time the connection to the cache | 
 |    daemon is torn down were flaky.  This was fixed by reacting to | 
 |    ECONNRESET and behaving as if we got an EOF. | 
 |    (merge 1f180e5eb9 dl/credential-cache-socket-in-xdg-cache later to maint). | 
 |  | 
 |  * "git log --tag=no-such-tag" showed log starting from HEAD, which | 
 |    has been fixed---it now shows nothing. | 
 |    (merge 5d34d1ac06 jk/rev-list-empty-input later to maint). | 
 |  | 
 |  * The "tag.pager" configuration variable was useless for those who | 
 |    actually create tag objects, as it interfered with the use of an | 
 |    editor.  A new mechanism has been introduced for commands to enable | 
 |    pager depending on what operation is being carried out to fix this, | 
 |    and then "git tag -l" is made to run pager by default. | 
 |    (merge 595d59e2b5 ma/pager-per-subcommand-action later to maint). | 
 |  | 
 |  * Other minor doc, test and build updates and code cleanups. | 
 |    (merge 5b114f3bb0 rs/bswap-ubsan-fix later to maint). | 
 |    (merge 168e63554c rs/move-array later to maint). | 
 |    (merge 268ba20110 rs/stat-data-unaligned-reads-fix later to maint). | 
 |    (merge 78e7b98f45 jt/fsck-code-cleanup later to maint). | 
 |    (merge c7b0780545 rs/pack-objects-pbase-cleanup later to maint). | 
 |    (merge c1e860f1dc js/run-process-parallel-api-fix later to maint). | 
 |    (merge 7a40a95eb4 cc/ref-is-hidden-microcleanup later to maint). | 
 |    (merge c0bb6d9cef ah/doc-wserrorhighlight later to maint). | 
 |    (merge edd64ef4f7 dc/fmt-merge-msg-microcleanup later to maint). | 
 |    (merge fa64a2fdbe jt/subprocess-handshake later to maint). | 
 |    (merge 0ba9c9a0fb jb/t8008-cleanup later to maint). | 
 |    (merge a7c28a2161 jt/t1450-fsck-corrupt-packfile later to maint). |