Documentation / RelNotes / 2.19.0.txton commit gpg-interface: make parse_gpg_output static and remove from interface header (fbd0f16)
   1Git 2.19 Release Notes
   2======================
   3
   4Updates since v2.18
   5-------------------
   6
   7UI, Workflows & Features
   8
   9 * "git diff" compares the index and the working tree.  For paths
  10   added with intent-to-add bit, the command shows the full contents
  11   of them as added, but the paths themselves were not marked as new
  12   files.  They are now shown as new by default.
  13
  14   "git apply" learned the "--intent-to-add" option so that an
  15   otherwise working-tree-only application of a patch will add new
  16   paths to the index marked with the "intent-to-add" bit.
  17
  18
  19Performance, Internal Implementation, Development Support etc.
  20
  21 * The bulk of "git submodule foreach" has been rewritten in C.
  22
  23 * The in-core "commit" object had an all-purpose "void *util" field,
  24   which was tricky to use especially in library-ish part of the
  25   code.  All of the existing uses of the field has been migrated to a
  26   more dedicated "commit-slab" mechanism and the field is eliminated.
  27
  28 * A less often used command "git show-index" has been modernized.
  29   (merge fb3010c31f jk/show-index later to maint).
  30
  31 * The conversion to pass "the_repository" and then "a_repository"
  32   throughout the object access API continues.
  33
  34 * Continuing with the idea to programatically enumerate various
  35   pieces of data required for command line completion, teach the
  36   codebase to report the list of configuration variables
  37   subcommands care about to help complete them.
  38
  39 * Separate "rebase -p" codepath out of "rebase -i" implementation to
  40   slim down the latter and make it easier to manage.
  41
  42 * Make refspec parsing codepath more robust.
  43
  44 * Some flaky tests have been fixed.
  45
  46 * Continuing with the idea to programmatically enumerate various
  47   pieces of data required for command line completion, the codebase
  48   has been taught to enumerate options prefixed with "--no-" to
  49   negate them.
  50
  51 * Build and test procedure for netrc credential helper (in contrib/)
  52   has been updated.
  53
  54
  55Fixes since v2.18
  56-----------------
  57
  58 * "git remote update" can take both a single remote nickname and a
  59   nickname for remote groups, and the completion script (in contrib/)
  60   has been taught about it.
  61   (merge 9cd4382ad5 ls/complete-remote-update-names later to maint).
  62
  63 * "git fetch --shallow-since=<cutoff>" that specifies the cut-off
  64   point that is newer than the existing history used to end up
  65   grabbing the entire history.  Such a request now errors out.
  66   (merge e34de73c56 nd/reject-empty-shallow-request later to maint).
  67
  68 * Fix for 2.17-era regression around `core.safecrlf`.
  69   (merge 6cb09125be as/safecrlf-quiet-fix later to maint).
  70
  71 * The recent addition of "partial clone" experimental feature kicked
  72   in when it shouldn't, namely, when there is no partial-clone filter
  73   defined even if extensions.partialclone is set.
  74   (merge cac1137dc4 jh/partial-clone later to maint).
  75
  76 * "git send-pack --signed" (hence "git push --signed" over the http
  77   transport) did not read user ident from the config mechanism to
  78   determine whom to sign the push certificate as, which has been
  79   corrected.
  80   (merge d067d98887 ms/send-pack-honor-config later to maint).
  81
  82 * "git fetch-pack --all" used to unnecessarily fail upon seeing an
  83   annotated tag that points at an object other than a commit.
  84   (merge c12c9df527 jk/fetch-all-peeled-fix later to maint).
  85
  86 * When user edits the patch in "git add -p" and the user's editor is
  87   set to strip trailing whitespaces indiscriminately, an empty line
  88   that is unchanged in the patch would become completely empty
  89   (instead of a line with a sole SP on it).  The code introduced in
  90   Git 2.17 timeframe failed to parse such a patch, but now it learned
  91   to notice the situation and cope with it.
  92   (merge f4d35a6b49 pw/add-p-recount later to maint).
  93
  94 * The code to try seeing if a fetch is necessary in a submodule
  95   during a fetch with --recurse-submodules got confused when the path
  96   to the submodule was changed in the range of commits in the
  97   superproject, sometimes showing "(null)".  This has been corrected.
  98
  99 * Code cleanup.
 100   (merge aee9be2ebe sg/update-ref-stdin-cleanup later to maint).
 101   (merge 037714252f jc/clean-after-sanity-tests later to maint).