Documentation / RelNotes / 2.22.0.txton commit Sync with maint (be9f1c0)
   1Git 2.22 Release Notes
   2======================
   3
   4Updates since v2.21
   5-------------------
   6
   7UI, Workflows & Features
   8
   9 * "git checkout --no-overlay" can be used to trigger a new mode of
  10   checking out paths out of the tree-ish, that allows paths that
  11   match the pathspec that are in the current index and working tree
  12   and are not in the tree-ish.
  13
  14 * The %(trailers) formatter in "git log --format=..."  now allows to
  15   optionally pick trailers selectively by keyword, show only values,
  16   etc.
  17
  18 * Four new configuration variables {author,committer}.{name,email}
  19   have been introduced to override user.{name,email} in more specific
  20   cases.
  21
  22 * Command-line completion (in contrib/) learned to tab-complete the
  23   "git submodule absorbgitdirs" subcommand.
  24
  25 * "git branch" learned a new subcommand "--show-current".
  26
  27 * Output from "diff --cc" did not show the original paths when the
  28   merge involved renames.  A new option adds the paths in the
  29   original trees to the output.
  30
  31 * The command line completion (in contrib/) has been taught to
  32   complete more subcommand parameters.
  33
  34
  35Performance, Internal Implementation, Development Support etc.
  36
  37 * The diff machinery, one of the oldest parts of the system, which
  38   long predates the parse-options API, uses fairly long and complex
  39   handcrafted option parser.  This is being rewritten to use the
  40   parse-options API.
  41
  42 * The implementation of pack-redundant has been updated for
  43   performance in a repository with many packfiles.
  44
  45 * A more structured way to obtain execution trace has been added.
  46
  47 * "git prune" has been taught to take advantage of reachability
  48   bitmap when able.
  49
  50
  51Fixes since v2.21
  52-----------------
  53
  54 * "git prune-packed" did not notice and complain against excess
  55   arguments given from the command line, which now it does.
  56   (merge 9b0bd87ed2 rj/prune-packed-excess-args later to maint).
  57
  58 * Split-index fix.
  59   (merge 6e37c8ed3c nd/split-index-null-base-fix later to maint).
  60
  61 * "git diff --no-index" may still want to access Git goodies like
  62   --ext-diff and --textconv, but so far these have been ignored,
  63   which has been corrected.
  64   (merge 287ab28bfa jk/diff-no-index-initialize later to maint).
  65
  66 * Unify RPC code for smart http in protocol v0/v1 and v2, which fixes
  67   a bug in the latter (lack of authentication retry) and generally
  68   improves the code base.
  69   (merge a97d00799a jt/http-auth-proto-v2-fix later to maint).
  70
  71 * Code cleanup, docfix, build fix, etc.
  72   (merge 11f470aee7 jc/test-yes-doc later to maint).
  73   (merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
  74   (merge 5c326d1252 jk/unused-params later to maint).
  75   (merge 68cabbfda3 dl/doc-submodule-wo-subcommand later to maint).
  76   (merge 9903623761 ab/receive-pack-use-after-free-fix later to maint).
  77   (merge 1ede45e44b en/merge-options-doc later to maint).
  78   (merge 3e14dd2c8e rd/doc-hook-used-in-sample later to maint).
  79   (merge c271dc28fd nd/no-more-check-racy later to maint).