Merge branch 'ar/test-style-fixes'
[git] / Documentation / RelNotes / 2.27.0.txt
1 Git 2.27 Release Notes
2 ======================
3
4 Updates since v2.26
5 -------------------
6
7 Backward compatibility notes
8
9  * When "git describe C" finds that commit C is pointed by a signed or
10    annotated tag, which records T as its tagname in the object, the
11    command gives T as its answer.  Even if the user renames or moves
12    such a tag from its natural location in the "refs/tags/" hierarchy,
13    "git describe C" would still give T as the answer, but in such a
14    case "git show T^0" would no longer work as expected.  There may be
15    nothing at "refs/tags/T" or even worse there may be a different tag
16    instead.
17
18    Starting from this version, "git describe" will always use the
19    "long" version, as if the "--long" option were given, when giving
20    its output based on such a misplaced tag to work around the problem.
21
22  * "git pull" issues a warning message until the pull.rebase
23    configuration variable is explicitly given, which some existing
24    users may find annoying---those who prefer not to rebase need to
25    set the variable to false to squelch the warning.
26
27
28 UI, Workflows & Features
29
30  * A handful of options to configure SSL when talking to proxies have
31    been added.
32
33  * Smudge/clean conversion filters are now given more information
34    (e.g. the object of the tree-ish in which the blob being converted
35    appears, in addition to its path, which has already been given).
36
37  * When "git describe C" finds an annotated tag with tagname A to be
38    the best name to explain commit C, and the tag is stored in a
39    "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the
40    command gave a warning message but used A (not B) to describe C.
41    If C is exactly at the tag, the describe output would be "A", but
42    "git rev-parse A^0" would not be equal as "git rev-parse C^0".  The
43    behavior of the command has been changed to use the "long" form
44    i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse.
45
46  * "git pull" learned to warn when no pull.rebase configuration
47    exists, and neither --[no-]rebase nor --ff-only is given (which
48    would result a merge).
49
50
51 Performance, Internal Implementation, Development Support etc.
52
53  * The advise API has been revamped to allow more systematic enumeration of
54    advice knobs in the future.
55
56  * SHA-256 transition continues.
57
58  * The code to interface with GnuPG has been refactored.
59
60  * "git stash" has kept an escape hatch to use the scripted version
61    for a few releases, which got stale.  It has been removed.
62
63
64 Fixes since v2.26
65 -----------------
66
67  * The real_path() convenience function can easily be misused; with a
68    bit of code refactoring in the callers' side, its use has been
69    eliminated.
70    (merge 49d3c4b481 am/real-path-fix later to maint).
71
72  * Update "git p4" to work with Python 3.
73    (merge 6bb40ed20a yz/p4-py3 later to maint).
74
75  * The mechanism to prevent "git commit" from making an empty commit
76    or amending during an interrupted cherry-pick was broken during the
77    rewrite of "git rebase" in C, which has been corrected.
78    (merge 430b75f720 pw/advise-rebase-skip later to maint).
79
80  * Fix "git checkout --recurse-submodules" of a nested submodule
81    hierarchy.
82    (merge 846f34d351 pb/recurse-submodules-fix later to maint).
83
84  * The "--fork-point" mode of "git rebase" regressed when the command
85    was rewritten in C back in 2.20 era, which has been corrected.
86    (merge f08132f889 at/rebase-fork-point-regression-fix later to maint).
87
88  * Other code cleanup, docfix, build fix, etc.
89    (merge 564956f358 jc/maintain-doc later to maint).
90    (merge 7422b2a0a1 sg/commit-slab-clarify-peek later to maint).
91    (merge 9c688735f6 rs/doc-passthru-fetch-options later to maint).
92    (merge 757c2ba3e2 en/oidset-uninclude-hashmap later to maint).
93    (merge 8312aa7d74 jc/config-tar later to maint).
94    (merge d00a5bdd50 ss/submodule-foreach-cb later to maint).