Documentation / RelNotes / 2.9.1.txton commit Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c (5ab7e0f)
   1Git v2.9.1 Release Notes
   2========================
   3
   4Fixes since v2.9
   5----------------
   6
   7 * When "git daemon" is run without --[init-]timeout specified, a
   8   connection from a client that silently goes offline can hang around
   9   for a long time, wasting resources.  The socket-level KEEPALIVE has
  10   been enabled to allow the OS to notice such failed connections.
  11
  12 * The commands in `git log` family take %C(auto) in a custom format
  13   string.  This unconditionally turned the color on, ignoring
  14   --no-color or with --color=auto when the output is not connected to
  15   a tty; this was corrected to make the format truly behave as
  16   "auto".
  17
  18 * "git rev-list --count" whose walk-length is limited with "-n"
  19   option did not work well with the counting optimized to look at the
  20   bitmap index.
  21
  22 * "git show -W" (extend hunks to cover the entire function, delimited
  23   by lines that match the "funcname" pattern) used to show the entire
  24   file when a change added an entire function at the end of the file,
  25   which has been fixed.
  26
  27 * The documentation set has been updated so that literal commands,
  28   configuration variables and environment variables are consistently
  29   typeset in fixed-width font and bold in manpages.
  30
  31 * "git svn propset" subcommand that was added in 2.3 days is
  32   documented now.
  33
  34 * The documentation tries to consistently spell "GPG"; when
  35   referring to the specific program name, "gpg" is used.
  36
  37 * "git reflog" stopped upon seeing an entry that denotes a branch
  38   creation event (aka "unborn"), which made it appear as if the
  39   reflog was truncated.
  40
  41 * The git-prompt scriptlet (in contrib/) was not friendly with those
  42   who uses "set -u", which has been fixed.
  43
  44 * A codepath that used alloca(3) to place an unbounded amount of data
  45   on the stack has been updated to avoid doing so.
  46
  47 * "git update-index --add --chmod=+x file" may be usable as an escape
  48   hatch, but not a friendly thing to force for people who do need to
  49   use it regularly.  "git add --chmod=+x file" can be used instead.
  50
  51 * Build improvements for gnome-keyring (in contrib/)
  52
  53 * "git status" used to say "working directory" when it meant "working
  54   tree".
  55
  56 * Comments about misbehaving FreeBSD shells have been clarified with
  57   the version number (9.x and before are broken, newer ones are OK).
  58
  59 * "git cherry-pick A" worked on an unborn branch, but "git
  60   cherry-pick A..B" didn't.
  61
  62 * "git add -i/-p" learned to honor diff.compactionHeuristic
  63   experimental knob, so that the user can work on the same hunk split
  64   as "git diff" output.
  65
  66 * "log --graph --format=" learned that "%>|(N)" specifies the width
  67   relative to the terminal's left edge, not relative to the area to
  68   draw text that is to the right of the ancestry-graph section.  It
  69   also now accepts negative N that means the column limit is relative
  70   to the right border.
  71
  72 * The ownership rule for the piece of memory that hold references to
  73   be fetched in "git fetch" was screwy, which has been cleaned up.
  74
  75 * "git bisect" makes an internal call to "git diff-tree" when
  76   bisection finds the culprit, but this call did not initialize the
  77   data structure to pass to the diff-tree API correctly.
  78
  79 * Formats of the various data (and how to validate them) where we use
  80   GPG signature have been documented.
  81
  82 * Fix an unintended regression in v2.9 that breaks "clone --depth"
  83   that recurses down to submodules by forcing the submodules to also
  84   be cloned shallowly, which many server instances that host upstream
  85   of the submodules are not prepared for.
  86
  87 * Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
  88   to set the default value, without enclosing it in double quotes.
  89
  90 * Some platform-specific code had non-ANSI strict declarations of C
  91   functions that do not take any parameters, which has been
  92   corrected.
  93
  94 * The internal code used to show local timezone offset is not
  95   prepared to handle timestamps beyond year 2100, and gave a
  96   bogus offset value to the caller.  Use a more benign looking
  97   +0000 instead and let "git log" going in such a case, instead
  98   of aborting.
  99
 100 * One among four invocations of readlink(1) in our test suite has
 101   been rewritten so that the test can run on systems without the
 102   command (others are in valgrind test framework and t9802).
 103
 104 * t/perf needs /usr/bin/time with GNU extension; the invocation of it
 105   is updated to "gtime" on Darwin.
 106
 107 * A bug, which caused "git p4" while running under verbose mode to
 108   report paths that are omitted due to branch prefix incorrectly, has
 109   been fixed; the command said "Ignoring file outside of prefix" for
 110   paths that are _inside_.
 111
 112 * The top level documentation "git help git" still pointed at the
 113   documentation set hosted at now-defunct google-code repository.
 114   Update it to point to https://git.github.io/htmldocs/git.html
 115   instead.
 116
 117Also contains minor documentation updates and code clean-ups.