| Git v2.8.4 Release Notes | 
 | ======================== | 
 |  | 
 | Fixes since v2.8.3 | 
 | ------------------ | 
 |  | 
 |  * Documentation for "git merge --verify-signatures" has been updated | 
 |    to clarify that the signature of only the commit at the tip is | 
 |    verified.  Also the phrasing used for signature and key validity is | 
 |    adjusted to align with that used by OpenPGP. | 
 |  | 
 |  * On Windows, .git and optionally any files whose name starts with a | 
 |    dot are now marked as hidden, with a core.hideDotFiles knob to | 
 |    customize this behaviour. | 
 |  | 
 |  * Portability enhancement for "rebase -i" to help platforms whose | 
 |    shell does not like "for i in <empty>" (which is not POSIX-kosher). | 
 |  | 
 |  * "git fsck" learned to catch NUL byte in a commit object as | 
 |    potential error and warn. | 
 |  | 
 |  * CI test was taught to build documentation pages. | 
 |  | 
 |  * Many 'linkgit:<git documentation page>' references were broken, | 
 |    which are all fixed with this. | 
 |  | 
 |  * "git describe --contains" often made a hard-to-justify choice of | 
 |    tag to give name to a given commit, because it tried to come up | 
 |    with a name with smallest number of hops from a tag, causing an old | 
 |    commit whose close descendant that is recently tagged were not | 
 |    described with respect to an old tag but with a newer tag.  It did | 
 |    not help that its computation of "hop" count was further tweaked to | 
 |    penalize being on a side branch of a merge.  The logic has been | 
 |    updated to favor using the tag with the oldest tagger date, which | 
 |    is a lot easier to explain to the end users: "We describe a commit | 
 |    in terms of the (chronologically) oldest tag that contains the | 
 |    commit." | 
 |  | 
 |  * Running tests with '-x' option to trace the individual command | 
 |    executions is a useful way to debug test scripts, but some tests | 
 |    that capture the standard error stream and check what the command | 
 |    said can be broken with the trace output mixed in.  When running | 
 |    our tests under "bash", however, we can redirect the trace output | 
 |    to another file descriptor to keep the standard error of programs | 
 |    being tested intact. | 
 |  | 
 |  * "http.cookieFile" configuration variable clearly wants a pathname, | 
 |    but we forgot to treat it as such by e.g. applying tilde expansion. | 
 |  | 
 |  * When de-initialising all submodules, "git submodule deinit" gave a | 
 |    faulty recommendation to use "git submodule deinit .", which would | 
 |    result in a strange error message in a pathological corner case. | 
 |    This has been corrected to suggest "submodule deinit --all" instead. | 
 |  | 
 |  * Many commands normalize command line arguments from NFD to NFC | 
 |    variant of UTF-8 on OSX, but commands in the "diff" family did | 
 |    not, causing "git diff $path" to complain that no such path is | 
 |    known to Git.  They have been taught to do the normalization. | 
 |  | 
 |  * A couple of bugs around core.autocrlf have been fixed. | 
 |  | 
 |  * "git difftool" learned to handle unmerged paths correctly in | 
 |    dir-diff mode. | 
 |  | 
 |  * The "are we talking with TTY, doing an interactive session?" | 
 |    detection has been updated to work better for "Git for Windows". | 
 |  | 
 |  | 
 | Also contains other minor documentation updates and code clean-ups. |