]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/RelNotes/2.46.0.txt
The tenth batch
[thirdparty/git.git] / Documentation / RelNotes / 2.46.0.txt
CommitLineData
d4cc1ec3
JH
1Git v2.46 Release Notes
2=======================
3
4Backward Compatibility Notes
5
6 (None at this moment)
7
8UI, Workflows & Features
9
10 * The "--rfc" option of "git format-patch" learned to take an
11 optional string value to be used in place of "RFC" to tweak the
12 "[PATCH]" on the subject header.
0f3415f1
JH
13
14 * The credential helper protocol, together with the HTTP layer, have
15 been enhanced to support authentication schemes different from
16 username & password pair, like Bearer and NTLM.
17
18 * Command line completion script (in contrib/) learned to complete
19 "git symbolic-ref" a bit better (you need to enable plumbing
20 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).
21
22 * When the user responds to a prompt given by "git add -p" with an
23 unsupported command, list of available commands were given, which
24 was too much if the user knew what they wanted to type but merely
25 made a typo. Now the user gets a much shorter error message.
26
27 * The color parsing code learned to handle 12-bit RGB colors, spelled
28 as "#RGB" (in addition to "#RRGGBB" that is already supported).
d4cc1ec3 29
19fe900c
JH
30 * The operation mode options (like "--get") the "git config" command
31 uses have been deprecated and replaced with subcommands (like "git
32 config get").
33
34 * "git tag" learned the "--trailer" option to futz with the trailers
35 in the same way as "git commit" does.
36
d8ab1d46
JH
37 * A new global "--no-advice" option can be used to disable all advice
38 messages, which is meant to be used only in scripts.
39
4365c6fc
JH
40 * Updates to symbolic refs can now be made as a part of ref
41 transaction.
42
b9cfe484
JH
43 * The trailer API has been reshuffled a bit.
44
3a57aa56
JH
45 * Terminology to call various ref-like things are getting
46 straightened out.
47
48 * The command line completion script (in contrib/) has been adjusted
49 to the recent update to "git config" that adopted subcommand based
50 UI.
51
58bac47f
JH
52 * The knobs to tweak how reftable files are written have been made
53 available as configuration variables.
54
7b0defb3
JH
55 * When "git push" notices that the commit at the tip of the ref on
56 the other side it is about to overwrite does not exist locally, it
57 used to first try fetching it if the local repository is a partial
58 clone. The command has been taught not to do so and immediately
59 fail instead.
60
d4cc1ec3
JH
61
62Performance, Internal Implementation, Development Support etc.
63
64 * Advertise "git contacts", a tool for newcomers to find people to
65 ask review for their patches, a bit more in our developer
66 documentation.
67
68 * In addition to building the objects needed, try to link the objects
69 that are used in fuzzer tests, to make sure at least they build
70 without bitrot, in Linux CI runs.
71
0f3415f1
JH
72 * Code to write out reftable has seen some optimization and
73 simplification.
74
75 * Tests to ensure interoperability between reftable written by jgit
76 and our code have been added and enabled in CI.
77
78 * The singleton index_state instance "the_index" has been eliminated
79 by always instantiating "the_repository" and replacing references
80 to "the_index" with references to its .index member.
81
3e4a232f 82 * Git-GUI has a new maintainer, Johannes Sixt.
3e4a232f 83
19fe900c
JH
84 * The "test-tool" has been taught to run testsuite tests in parallel,
85 bypassing the need to use the "prove" tool.
86
87 * The "whitespace check" task that was enabled for GitHub Actions CI
88 has been ported to GitLab CI.
89
d8ab1d46
JH
90 * The refs API lost functions that implicitly assumes to work on the
91 primary ref_store by forcing the callers to pass a ref_store as an
92 argument.
93
3a57aa56
JH
94 * Code clean-up to reduce inter-function communication inside
95 builtin/config.c done via the use of global variables.
96
97 * The pack bitmap code saw some clean-up to prepare for a follow-up topic.
3a57aa56
JH
98
99 * Preliminary code clean-up for "git send-email".
3a57aa56
JH
100
101 * The default "creation-factor" used by "git format-patch" has been
102 raised to make it more aggressively find matching commits.
58bac47f
JH
103
104 * Before discovering the repository details, We used to assume SHA-1
105 as the "default" hash function, which has been corrected. Hopefully
106 this will smoke out codepaths that rely on such an unwarranted
107 assumptions.
108
109 * The project decision making policy has been documented.
110
111 * The strcmp-offset tests have been rewritten using the unit test
112 framework.
113
114 * "git add -p" learned to complain when an answer with more than one
115 letter is given to a prompt that expects a single letter answer.
3a57aa56 116
3e4a232f 117
d4cc1ec3
JH
118Fixes since v2.45
119-----------------
120
121 * "git rebase --signoff" used to forget that it needs to add a
122 sign-off to the resulting commit when told to continue after a
123 conflict stops its operation.
124 (merge a6c2654f83 pw/rebase-m-signoff-fix later to maint).
125
126 * The procedure to build multi-pack-index got confused by the
127 replace-refs mechanism, which has been corrected by disabling the
128 latter.
129 (merge 93e2ae1c95 xx/disable-replace-when-building-midx later to maint).
130
131 * The "-k" and "--rfc" options of "format-patch" will now error out
132 when used together, as one tells us not to add anything to the
133 title of the commit, and the other one tells us to add "RFC" in
134 addition to "PATCH".
135 (merge cadcf58085 ds/format-patch-rfc-and-k later to maint).
136
137 * "git stash -S" did not handle binary files correctly, which has
138 been corrected.
139 (merge 5fb7686409 aj/stash-staged-fix later to maint).
140
141 * A scheduled "git maintenance" job is expected to work on all
142 repositories it knows about, but it stopped at the first one that
143 errored out. Now it keeps going.
144 (merge c75662bfc9 js/for-each-repo-keep-going later to maint).
145
0f3415f1
JH
146 * zsh can pretend to be a normal shell pretty well except for some
147 glitches that we tickle in some of our scripts. Work them around
148 so that "vimdiff" and our test suite works well enough with it.
149 (merge fedd5c79ff bc/zsh-compatibility later to maint).
150
151 * Command line completion support for zsh (in contrib/) has been
152 updated to stop exposing internal state to end-user shell
153 interaction.
154 (merge 3c20acdf46 dk/zsh-git-repo-path-fix later to maint).
155
3e4a232f
JH
156 * Tests that try to corrupt in-repository files in chunked format did
157 not work well on macOS due to its broken "mv", which has been
158 worked around.
3e4a232f
JH
159
160 * The maximum size of attribute files is enforced more consistently.
161 (merge c793f9cb08 tb/attr-limits later to maint).
162
163 * Unbreak CI jobs so that we do not attempt to use Python 2 that has
164 been removed from the platform.
3e4a232f
JH
165
166 * Git 2.43 started using the tree of HEAD as the source of attributes
167 in a bare repository, which has severe performance implications.
168 For now, revert the change, without ripping out a more explicit
169 support for the attr.tree configuration variable.
3e4a232f 170
19fe900c
JH
171 * The "--exit-code" option of "git diff" command learned to work with
172 the "--ext-diff" option.
173 (merge 11be65cfa4 rs/external-diff-with-exit-code later to maint).
174
4365c6fc
JH
175 * Windows CI running in GitHub Actions started complaining about the
176 order of arguments given to calloc(); the imported regex code uses
177 the wrong order almost consistently, which has been corrected.
4365c6fc 178
b9cfe484
JH
179 * Expose "name conflict" error when a ref creation fails due to D/F
180 conflict in the ref namespace, to improve an error message given by
181 "git fetch".
182 (merge 9339fca23e it/refs-name-conflict later to maint).
183
3a57aa56
JH
184 * The SubmittingPatches document now refers folks to manpages
185 translation project.
3a57aa56
JH
186
187 * The documentation for "git diff --name-only" has been clarified
188 that it is about showing the names in the post-image tree.
189 (merge 4986662cbc jc/doc-diff-name-only later to maint).
190
191 * The credential helper that talks with osx keychain learned to avoid
192 storing back the authentication material it just got received from
193 the keychain.
194 (merge e1ab45b2da kn/osxkeychain-skip-idempotent-store later to maint).
195
58bac47f
JH
196 * The chainlint script (invoked during "make test") did nothing when
197 it failed to detect the number of available CPUs. It now falls
198 back to 1 CPU to avoid the problem.
199 (merge 2e7e9205be es/chainlint-ncores-fix later to maint).
200
201 * Revert overly aggressive "layered defence" that went into 2.45.1
202 and friends, which broke "git-lfs", "git-annex", and other use
203 cases, so that we can rebuild necessary counterparts in the open.
204
7b0defb3
JH
205 * "git init" in an already created directory, when the user
206 configuration has includeif.onbranch, started to fail recently,
207 which has been corrected.
208 (merge 407997c1dd ps/fix-reinit-includeif-onbranch later to maint).
209
d4cc1ec3 210 * Other code cleanup, docfix, build fix, etc.
0f3415f1 211 (merge a5a4cb7b27 rs/diff-parseopts-cleanup later to maint).
3e4a232f 212 (merge 55702c543e fa/p4-error later to maint).
19fe900c
JH
213 (merge 2566a77774 vd/doc-merge-tree-x-option later to maint).
214 (merge b64b0df9da ds/scalar-reconfigure-all-fix later to maint).
b9cfe484
JH
215 (merge c81ffcff83 dm/update-index-doc-fix later to maint).
216 (merge fc0202b0e9 dg/fetch-pack-code-cleanup later to maint).
3a57aa56
JH
217 (merge 7150f140f9 mt/t0211-typofix later to maint).
218 (merge d424488901 jc/rev-parse-fatal-doc later to maint).