]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/RelNotes/2.45.0.txt
Merge branch 'bb/t0006-negative-tz-offset'
[thirdparty/git.git] / Documentation / RelNotes / 2.45.0.txt
CommitLineData
a2082dbd
JH
1Git v2.45 Release Notes
2=======================
3
4Backward Compatibility Notes
5
6UI, Workflows & Features
7
8 * Integrate the reftable code into the refs framework as a backend.
9 With "git init --ref-format=reftable", hopefully it would be a lot
10 more efficient to manage a repository with many references.
11
12 * "git checkout -p" and friends learned that that "@" is a synonym
13 for "HEAD".
14
0f9d4d28
JH
15 * Variants of vimdiff learned to honor mergetool.<variant>.layout
16 settings.
17
b387623c
JH
18 * "git reflog" learned a "list" subcommand that enumerates known reflogs.
19
43072b4c
JH
20 * When a merge conflicted at a submodule, merge-ort backend used to
21 unconditionally give a lengthy message to suggest how to resolve
22 it. Now the message can be squelched as an advice message.
23
24 * "git for-each-ref" learned "--include-root-refs" option to show
25 even the stuff outside the 'refs/' hierarchy.
26
e09f1254
JH
27 * "git rev-list --missing=print" has learned to optionally take
28 "--allow-missing-tips", which allows the objects at the starting
29 points to be missing.
30
31 * "git merge-tree" has learned that the three trees involved in the
32 3-way merge only need to be trees, not necessarily commits.
33
34 * "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
35 other kinds of *_HEAD pseudorefs.
36
2953d95d
JH
37 * Platform specific tweaks for OS/390 has been added to
38 config.mak.uname.
39
a2082dbd
JH
40
41Performance, Internal Implementation, Development Support etc.
42
43 * The code to iterate over refs with the reftable backend has seen
44 some optimization.
45
46 * More tests that are marked as "ref-files only" have been updated to
47 improve test coverage of reftable backend.
48
0f9d4d28
JH
49 * Some parts of command line completion script (in contrib/) have
50 been micro-optimized.
51
b387623c
JH
52 * The way placeholders are to be marked-up in documentation have been
53 specified; use "_<placeholder>_" to typeset the word inside a pair
54 of <angle-brakets> emphasized.
55
e09f1254
JH
56 * "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
57 fetching of objects from the promisor remote, which may be handy
58 for debugging.
59
4f9b731b
JH
60 * The implementation in "git clean" that makes "-n" and "-i" ignore
61 clean.requireForce has been simplified, together with the
62 documentation.
63
64 * The code to iterate over refs with the reftable backend has seen
65 some optimization.
66
2953d95d
JH
67 * Uses of xwrite() helper have been audited and updated for better
68 error checking and simpler code.
69
3bd955d2
JH
70 * Some trace2 events that lacked def_param have learned to show it,
71 enriching the output.
72
a2082dbd
JH
73
74Fixes since v2.44
75-----------------
76
77 * "git apply" on a filesystem without filemode support have learned
78 to take a hint from what is in the index for the path, even when
79 not working with the "--index" or "--cached" option, when checking
80 the executable bit match what is required by the preimage in the
81 patch.
82 (merge 45b625142d cp/apply-core-filemode later to maint).
83
84 * "git column" has been taught to reject negative padding value, as
85 it would lead to nonsense behaviour including division by zero.
86 (merge 76fb807faa kh/column-reject-negative-padding later to maint).
87
0f9d4d28
JH
88 * "git am --help" now tells readers what actions are available in
89 "git am --whitespace=<action>", in addition to saying that the
90 option is passed through to the underlying "git apply".
91 (merge a171dac734 jc/am-whitespace-doc later to maint).
92
93 * "git tag --column" failed to check the exit status of its "git
94 column" invocation, which has been corrected.
95 (merge 92e66478fc rj/tag-column-fix later to maint).
96
97 * Credential helper based on libsecret (in contrib/) has been updated
98 to handle an empty password correctly.
99 (merge 8f1f2023b7 mh/libsecret-empty-password-fix later to maint).
100
b387623c
JH
101 * "git difftool --dir-diff" learned to honor the "--trust-exit-code"
102 option; it used to always exit with 0 and signalled success.
103 (merge eb84c8b6ce ps/difftool-dir-diff-exit-code later to maint).
104
43072b4c
JH
105 * The code incorrectly attempted to use textconv cache when asked,
106 even when we are not running in a repository, which has been
107 corrected.
108 (merge affe355fe7 jk/textconv-cache-outside-repo-fix later to maint).
109
110 * Remove an empty file that shouldn't have been added in the first
111 place.
112 (merge 4f66942215 js/remove-cruft-files later to maint).
113
114 * The logic to access reflog entries by date and number had ugly
115 corner cases at the boundaries, which have been cleaned up.
116 (merge 5edd126720 jk/reflog-special-cases-fix later to maint).
117
118 * An error message from "git upload-pack", which responds to "git
119 fetch" requests, had a trialing NUL in it, which has been
120 corrected.
121 (merge 3f4c7a0805 sg/upload-pack-error-message-fix later to maint).
122
123 * Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
124 to be the first header file.
125 (merge 4e89f0e07c jc/doc-compat-util later to maint).
126
e09f1254
JH
127 * "git commit -v --cleanup=scissors" used to add the scissors line
128 twice in the log message buffer, which has been corrected.
129 (merge e90cc075cc jt/commit-redundant-scissors-fix later to maint).
130
131 * A custom remote helper no longer cannot access the newly created
132 repository during "git clone", which is a regression in Git 2.44.
133 This has been corrected.
134 (merge 199f44cb2e ps/remote-helper-repo-initialization-fix later to maint).
135
136 * Various parts of upload-pack has been updated to bound the resource
137 consumption relative to the size of the repository to protect from
138 abusive clients.
139 (merge 6cd05e768b jk/upload-pack-bounded-resources later to maint).
140
141 * The upload-pack program, when talking over v2, accepted the
142 packfile-uris protocol extension from the client, even if it did
143 not advertise the capability, which has been corrected.
144 (merge a922bfa3b5 jk/upload-pack-v2-capability-cleanup later to maint).
145
94511502
JH
146 * Make sure failure return from merge_bases_many() is properly caught.
147 (merge 25fd20eb44 js/merge-base-with-missing-commit later to maint).
148
4f9b731b
JH
149 * FSMonitor client code was confused when FSEvents were given in a
150 different case on a case-insensitive filesystem, which has been
151 corrected.
152 (merge 29c139ce78 jh/fsmonitor-icase-corner-case-fix later to maint).
153
154 * The "core.commentChar" configuration variable only allows an ASCII
155 character, which was not clearly documented, which has been
156 corrected.
157 (merge fb7c556f58 kh/doc-commentchar-is-a-byte later to maint).
158
159 * With release 2.44 we got rid of all uses of test_i18ngrep and there
160 is no in-flight topic that adds a new use of it. Make a call to
161 test_i18ngrep a hard failure, so that we can remove it at the end
162 of this release cycle.
163 (merge 381a83dfa3 jc/test-i18ngrep later to maint).
164
165 * The command line completion script (in contrib/) learned to
166 complete "git reflog" better.
167 (merge 1284f9cc11 rj/complete-reflog later to maint).
168
169 * The logic to complete the command line arguments to "git worktree"
170 subcommand (in contrib/) has been updated to correctly honor things
171 like "git -C dir" etc.
172 (merge 3574816d98 rj/complete-worktree-paths-fix later to maint).
173
2953d95d
JH
174 * When git refuses to create a branch because the proposed branch
175 name is not a valid refname, an advice message is given to refer
176 the user to exact naming rules.
177 (merge 8fbd903e58 kh/branch-ref-syntax-advice later to maint).
178
3bd955d2
JH
179 * Code simplification by getting rid of code that sets an environment
180 variable that is no longer used.
181 (merge 72a8d3f027 pw/rebase-i-ignore-cherry-pick-help-environment later to maint).
182
a2082dbd
JH
183 * Other code cleanup, docfix, build fix, etc.
184 (merge f0e578c69c rs/use-xstrncmpz later to maint).
0f9d4d28
JH
185 (merge 83e6eb7d7a ba/credential-test-clean-fix later to maint).
186 (merge 64562d784d jb/doc-interactive-singlekey-do-not-need-perl later to maint).
b387623c
JH
187 (merge c431a235e2 cp/t9146-use-test-path-helpers later to maint).
188 (merge 82d75402d5 ds/doc-send-email-capitalization later to maint).
189 (merge 41bff66e35 jc/doc-add-placeholder-fix later to maint).
190 (merge 6835f0efe9 jw/remote-doc-typofix later to maint).
191 (merge 244001aa20 hs/rebase-not-in-progress later to maint).
43072b4c
JH
192 (merge 2ca6c07db2 jc/no-include-of-compat-util-from-headers later to maint).
193 (merge 87bd7fbb9c rs/fetch-simplify-with-starts-with later to maint).
194 (merge f39addd0d9 rs/name-rev-with-mempool later to maint).
195 (merge 9a97b43e03 rs/submodule-prefix-simplify later to maint).
196 (merge 40b8076462 ak/rebase-autosquash later to maint).
e09f1254 197 (merge 3223204456 eg/add-uflags later to maint).
94511502 198 (merge 5f78d52dce es/config-doc-sort-sections later to maint).
2953d95d 199 (merge 781fb7b4c2 as/option-names-in-messages later to maint).
3bd955d2 200 (merge 51d41dc243 jk/doc-remote-helpers-markup-fix later to maint).