@@ -4,17 +4,62 @@ Git 2.27 Release Notes
44Updates since v2.26
55-------------------
66
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+
728UI, Workflows & Features
829
930 * A handful of options to configure SSL when talking to proxies have
1031 been added.
1132
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+
1250
1351Performance, Internal Implementation, Development Support etc.
1452
1553 * The advise API has been revamped to allow more systematic enumeration of
1654 advice knobs in the future.
1755
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+
1863
1964Fixes since v2.26
2065-----------------
@@ -32,6 +77,14 @@ Fixes since v2.26
3277 rewrite of "git rebase" in C, which has been corrected.
3378 (merge 430b75f720 pw/advise-rebase-skip later to maint).
3479
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+
3588 * Other code cleanup, docfix, build fix, etc.
3689 (merge 564956f358 jc/maintain-doc later to maint).
3790 (merge 7422b2a0a1 sg/commit-slab-clarify-peek later to maint).
0 commit comments