summaryrefslogtreecommitdiffstats
path: root/RelNotes/2.43.0.txt
blob: f5b426a9d97eb643c54e12923e3df7eb8c9fa3c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
Git v2.43 Release Notes
=======================

Backward Compatibility Notes

 * The "--rfc" option of "git format-patch" used to be a valid way to
   override an earlier "--subject-prefix=<something>" on the command
   line and replace it with "[RFC PATCH]", but from this release, it
   merely prefixes the string "RFC " in front of the given subject
   prefix.  If you are negatively affected by this change, please use
   "--subject-prefix=PATCH --rfc" as a replacement.


UI, Workflows & Features

 * A message written in olden time prevented a branch from getting
   checked out saying it is already checked out elsewhere, but these
   days, we treat a branch that is being bisected or rebased just like
   a branch that is checked out and protect it.  Rephrase the message
   to say that the branch is in use.

 * Hourly and other schedule of "git maintenance" jobs are randomly
   distributed now.

 * "git cmd -h" learned to signal which options can be negated by
   listing such options like "--[no-]opt".

 * The way authentication related data other than passwords (e.g.
   oath token and password expiration data) are stored in libsecret
   keyrings has been rethought.

 * Update two credential helpers to correctly match which credential
   to erase; they dropped not the ones with stale password.

 * Git GUI updates.

 * "git format-patch" learns a way to feed cover letter description,
   that (1) can be used on detached HEAD where there is no branch
   description available, and (2) also can override the branch
   description if there is one.

 * Use of --max-pack-size to allow multiple packfiles to be created is
   now supported even when we are sending unreachable objects to cruft
   packs.

 * "git format-patch --rfc --subject-prefix=<foo>" used to ignore the
   "--subject-prefix" option and used "[RFC PATCH]"; now we will add
   "RFC" prefix to whatever subject prefix is specified.

 * "git log --format" has been taught the %(decorate) placeholder.

 * The default log message created by "git revert", when reverting a
   commit that records a revert, has been tweaked, to encourage people
   describe complex "revert of revert of revert" situation better in
   their own words.

 * The command-line complation support (in contrib/) learned to
   complete "git commit --trailer=" for possible trailer keys.


 * "git update-index" learns "--show-index-version" to inspect
   the index format version used by the on-disk index file.


Performance, Internal Implementation, Development Support etc.

 * "git check-attr" has been taught to work better with sparse-index.

 * It may be tempting to leave the help text NULL for a command line
   option that is either hidden or too obvious, but "git subcmd -h"
   and "git subcmd --help-all" would have segfaulted if done so.  Now
   the help text is optional.

 * Tests that are known to pass with LSan are now marked as such.
   (merge 5fafe8c95f tb/mark-more-tests-as-leak-free later to maint).

 * Flakey "git p4" tests, as well as "git svn" tests, are now skipped
   in the (rather expensive) sanitizer CI job.
   (merge 6ba913629f js/ci-san-skip-p4-and-svn-tests later to maint).

 * Tests with LSan from time to time seem to emit harmless message
   that makes our tests unnecessarily flakey; we work it around by
   filtering the uninteresting output.
   (merge 370ef7e40d jk/test-lsan-denoise-output later to maint).

 * Unused parameters to functions are marked as such, and/or removed,
   in order to bring us closer to -Wunused-parameter clean.

 * The code to keep track of existing packs in the repository while
   repacking has been refactored.


Fixes since v2.42
-----------------

 * Overly long label names used in the sequencer machinery are now
   chopped to fit under filesystem limitation.
   (merge ac300bda10 mp/rebase-label-length-limit later to maint).

 * Scalar updates.
   (merge f9a547d3a7 ds/scalar-updates later to maint).

 * Tweak GitHub Actions CI so that pushing the same commit to multiple
   branch tips at the same time will not waste building and testing
   the same thing twice.
   (merge 99fe06cbfd jc/ci-skip-same-commit later to maint).

 * The commit-graph verification code that detects mixture of zero and
   non-zero generation numbers has been updated.
   (merge db6044d762 tb/commit-graph-verify-fix later to maint).

 * "git diff -w --exit-code" with various options did not work
   correctly, which is being addressed.
   (merge a64f8b2595 jc/diff-exit-code-with-w-fixes later to maint).

 * transfer.unpackLimit ought to be used as a fallback, but overrode
   fetch.unpackLimit and receive.unpackLimit instead.
   (merge f3d33f8cfe ts/unpacklimit-config-fix later to maint).

 * The use of API between two calls to require_clean_work_tree() from
   the sequencer code has been cleaned up for consistency.
   (merge a9b5955e07 ob/sequencer-empty-hint-fix later to maint).

 * "git diff --no-such-option" and other corner cases around the exit
   status of the "diff" command has been corrected.
   (merge 5cc6b2d70b jk/diff-result-code-cleanup later to maint).

 * "git for-each-ref --sort='contents:size'" sorts the refs according
   to size numerically, giving a ref that points at a blob twelve-byte
   (12) long before showing a blob hundred-byte (100) long.
   (merge 6d79cd8474 ks/ref-filter-sort-numerically later to maint).

 * We now limit depth of the tree objects and maximum length of
   pathnames recorded in tree objects.
   (merge 4d5693ba05 jk/tree-name-and-depth-limit later to maint).

 * Various fixes to the behaviour of "rebase -i" when the command got
   interrupted by conflicting changes.
   (merge 203573b024 pw/rebase-i-after-failure later to maint).

 * References from description of the `--patch` option in various
   manual pages have been simplified and improved.
   (merge 11422f23e3 so/diff-doc-for-patch-update later to maint).

 * "git grep -e A --no-or -e B" is accepted, even though the negation
   of "or" did not mean anything, which has been tightened.
   (merge aae8558b10 rs/grep-no-no-or later to maint).

 * The completion script (in contrib/) has been taught to treat the
   "-t" option to "git checkout" and "git switch" just like the
   "--track" option, to complete remote-tracking branches.
   (merge 9f892830d6 js/complete-checkout-t later to maint).

 * "git diff --no-index -R <(one) <(two)" did not work correctly,
   which has been corrected.
   (merge 48944f214c pw/diff-no-index-from-named-pipes later to maint).

 * Update "git maintainance" timers' implementation based on systemd
   timers to work with WSL.
   (merge 5e8515e8e8 js/systemd-timers-wsl-fix later to maint).

 * "git diff --cached" codepath did not fill the necessary stat
   information for a file when fsmonitor knows it is clean and ended
   up behaving as if it is not clean, which has been corrected.
   (merge 6a044a2048 js/diff-cached-fsmonitor-fix later to maint).

 * Clarify how "alias.foo = : git cmd ; aliased-command-string" should
   be spelled with necessary whitespaces around punctuation marks to
   work.
   (merge 4333267995 pb/completion-aliases-doc later to maint).

 * HTTP Header redaction code has been adjusted for a newer version of
   cURL library that shows its traces differently from earlier
   versions.
   (merge 0763c3a2c4 jk/redact-h2h3-headers-fix later to maint).

 * An error message given by "git send-email" when given a malformed
   address did not give correct information, which has been corrected.
   (merge 12288cc44e tb/send-email-extract-valid-address-error-message-fix later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge fd3ba590d8 ws/git-push-doc-grammofix later to maint).
   (merge 5f33a843de ds/upload-pack-error-sequence-fix later to maint).
   (merge beaa1d952b jk/function-pointer-mismatches-fix later to maint).
   (merge b46d806ea5 ob/t9001-indent-fix later to maint).
   (merge fdc9914c28 ja/worktree-orphan later to maint).
   (merge c2cbefc510 jc/mv-d-to-d-error-message-fix later to maint).
   (merge d0fc552bfc ch/t6300-verify-commit-test-cleanup later to maint).
   (merge aa4b83dd5e ws/git-svn-retire-faketerm later to maint).
   (merge edf80d23f1 jk/ci-retire-allow-ref later to maint).
   (merge 256a94ef6c bc/more-git-var later to maint).
   (merge 82af2c639c ob/sequencer-reword-error-message later to maint).
   (merge 2a63c79dae rs/grep-parseopt-simplify later to maint).
   (merge 078c42531e rs/name-rev-use-opt-hidden-bool later to maint).
   (merge 63642d58b4 ob/sequencer-remove-dead-code later to maint).
   (merge 8aae489756 ob/t3404-typofix later to maint).
   (merge 58be11432e eg/config-type-path-docfix later to maint).
   (merge 563f339d98 ch/clean-docfix later to maint).