]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/RelNotes/2.41.0.txt
The sixth batch
[thirdparty/git.git] / Documentation / RelNotes / 2.41.0.txt
1 Git v2.41 Release Notes
2 =======================
3
4 UI, Workflows & Features
5
6 * Allow information carried on the WWW-AUthenticate header to be
7 passed to the credential helpers.
8
9 * A new "fetch.hideRefs" option can be used to exclude specified refs
10 from "rev-list --objects --stdin --not --all" traversal for
11 checking object connectivity, most useful when there are many
12 unrelated histories in a single repository.
13
14 * "git push" has been taught to allow deletion of refs with one-level
15 names to help repairing a repository who acquired such a ref by
16 mistake. In general, we don't encourage use of such a ref, and
17 creation or update to such a ref is rejected as before.
18
19 * Allow "git bisect reset" to check out the original branch when the
20 branch is already checked out in a different worktree linked to the
21 same repository.
22
23 * A few subcommands have been taught to stop users from working on a
24 branch that is being used in another worktree linked to the same
25 repository.
26
27 * "git format-patch" learned to write a log-message only output file
28 for empty commits.
29
30 * "git format-patch" honors the src/dst prefixes set to nonstandard
31 values with configuration variables like "diff.noprefix", causing
32 receiving end of the patch that expects the standard -p1 format to
33 break. "format-patch" has been taught to ignore end-user configuration
34 and always use the standard prefixes.
35
36 This is a backward compatibility breaking change.
37
38 * Lift the limitation that colored prompts can only be used with
39 PROMPT_COMMAND mode.
40
41
42 Performance, Internal Implementation, Development Support etc.
43
44 * Code clean-up to clarify directory traversal API.
45
46 * Code clean-up to clarify the rule that "git-compat-util.h" must be
47 the first to be included.
48
49 * More work towards -Wunused.
50
51 * Instead of forcing each command to choose to honor GPG related
52 configuration variables, make the subsystem lazily initialize
53 itself.
54
55 * Remove workaround for ancient versions of DocBook to make it work
56 correctly with groff, which has not been necessary since docbook
57 1.76 from 2010.
58
59 * Code clean-up to include and/or uninclude parse-options.h file as
60 needed.
61
62
63 Fixes since v2.40
64 -----------------
65
66 * "git fsck" learned to check the index files in other worktrees,
67 just like "git gc" honors them as anchoring points.
68 (merge 8d3e7eac52 jk/fsck-indices-in-worktrees later to maint).
69
70 * Fix a segfaulting loop. The function and its caller may need
71 further clean-up.
72 (merge c5773dc078 ew/commit-reach-clean-up-flags-fix later to maint).
73
74 * "git restore" supports options like "--ours" that are only
75 meaningful during a conflicted merge, but these options are only
76 meaningful when updating the working tree files. These options are
77 marked to be incompatible when both "--staged" and "--worktree" are
78 in effect.
79 (merge ee8a88826a ak/restore-both-incompatible-with-conflicts later to maint).
80
81 * Simplify UI to control progress meter given by "git bundle" command.
82 (merge 8b95521edb jk/bundle-progress later to maint).
83
84 * "git bundle" learned that "-" is a common way to say that the input
85 comes from the standard input and/or the output goes to the
86 standard output. It used to work only for output and only from the
87 root level of the working tree.
88 (merge 0bbe10313e jk/bundle-use-dash-for-stdfiles later to maint).
89
90 * Once we start running, we assumed that the list of alternate object
91 databases would never change. Hook into the machinery used to
92 update the list of packfiles during runtime to update this list as
93 well.
94 (merge e2d003dbed ds/reprepare-alternates-when-repreparing-packfiles later to maint).
95
96 * The code to parse "git rebase -X<opt>" was not prepared to see an
97 unparsable option string, which has been corrected.
98 (merge 15a4cc912e ab/fix-strategy-opts-parsing later to maint).
99
100 * "git add -p" while the index is unmerged sometimes failed to parse
101 the diff output it internally produces and died, which has been
102 corrected.
103 (merge 28d1122f9c jk/add-p-unmerged-fix later to maint).
104
105 * Fix for a "ls-files --format="%(path)" that produced nonsense
106 output, which was a bug in 2.38.
107 (merge cfb62dd006 aj/ls-files-format-fix later to maint).
108
109 * "git receive-pack" that responds to "git push" requests failed to
110 clean a stale lockfile when killed in the middle, which has been
111 corrected.
112 (merge c55c30669c ps/receive-pack-unlock-before-die later to maint).
113
114 * "git rev-parse --quiet foo@{u}", or anything that asks @{u} to be
115 parsed with GET_OID_QUIETLY option, did not quietly fail, which has
116 been corrected.
117 (merge dfbfdc521d fc/oid-quietly-parse-upstream later to maint).
118
119 * Transports that do not support protocol v2 did not correctly fall
120 back to protocol v0 under certain conditions, which has been
121 corrected.
122 (merge eaa0fd6584 jk/fix-proto-downgrade-to-v0 later to maint).
123
124 * time(2) on glib 2.31+, especially on Linux, goes out of sync with
125 higher resolution timers used for gettimeofday(2) and by the
126 filesystem. Replace all calls to it with a git_time() wrapper and
127 (merge 370ddcbc89 pe/time-use-gettimeofday later to maint).
128
129 * Code clean-up to use designated initializers in parse-options API.
130 (merge 353e6d4554 sg/parse-options-h-initializers later to maint).
131
132 * A recent-ish change to allow unicode character classes to be used
133 with "grep -P" triggered a JIT bug in older pcre2 libraries.
134 The problematic change in Git built with these older libraries has
135 been disabled to work around the bug.
136 (merge 14b9a04479 mk/workaround-pcre-jit-ucp-bug later to maint).
137
138 * Other code cleanup, docfix, build fix, etc.
139 (merge f7111175df as/doc-markup-fix later to maint).
140 (merge 90ff7c9898 fc/test-aggregation-clean-up later to maint).
141 (merge 9b0c7f308a jc/am-doc-refer-to-format-patch later to maint).
142 (merge b10cbdac4c bb/unicode-width-table-15 later to maint).
143 (merge 3457b50e8c ab/retire-scripted-add-p later to maint).
144 (merge d52fcf493b ds/p2000-fix-grep-sparse later to maint).
145 (merge ec063d2591 ss/hashmap-typofix later to maint).