docs: say that `--rebase=preserve` is deprecated
[git/raj.git] / Documentation / RelNotes / 2.22.0.txt
blob9e1f738bf6ed8ade02b61147aa36c6e24ceaed2b
1 Git 2.22 Release Notes
2 ======================
4 Updates since v2.21
5 -------------------
7 UI, Workflows & Features
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.
14  * The %(trailers) formatter in "git log --format=..."  now allows to
15    optionally pick trailers selectively by keyword, show only values,
16    etc.
18  * Four new configuration variables {author,committer}.{name,email}
19    have been introduced to override user.{name,email} in more specific
20    cases.
22  * Command-line completion (in contrib/) learned to tab-complete the
23    "git submodule absorbgitdirs" subcommand.
25  * "git branch" learned a new subcommand "--show-current".
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.
31  * The command line completion (in contrib/) has been taught to
32    complete more subcommand parameters.
35 Performance, Internal Implementation, Development Support etc.
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.
42  * The implementation of pack-redundant has been updated for
43    performance in a repository with many packfiles.
45  * A more structured way to obtain execution trace has been added.
47  * "git prune" has been taught to take advantage of reachability
48    bitmap when able.
51 Fixes since v2.21
52 -----------------
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).
58  * Split-index fix.
59    (merge 6e37c8ed3c nd/split-index-null-base-fix later to maint).
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).
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).
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).