]>
Commit | Line | Data |
---|---|---|
bc7a3d4d JH |
1 | Git 2.26 Release Notes |
2 | ====================== | |
3 | ||
4 | Updates since v2.25 | |
5 | ------------------- | |
6 | ||
7 | UI, Workflows & Features | |
8 | ||
9 | * Sample credential helper for using .netrc has been updated to work | |
10 | out of the box. | |
11 | ||
344ee187 JH |
12 | * gpg.minTrustLevel configuration variable has been introduced to |
13 | tell various signature verification codepaths the required minimum | |
14 | trust level. | |
15 | ||
16 | * The command line completion (in contrib/) learned to complete | |
17 | subcommands and arguments to "git worktree". | |
18 | ||
d8437c57 JH |
19 | * Disambiguation logic to tell revisions and pathspec apart has been |
20 | tweaked so that backslash-escaped glob special characters do not | |
21 | count in the "wildcards are pathspec" rule. | |
22 | ||
23 | * One effect of specifying where the GIT_DIR is (either with the | |
24 | environment variable, or with the "git --git-dir=<where> cmd" | |
25 | option) is to disable the repository discovery. This has been | |
26 | placed a bit more stress in the documentation, as new users often | |
27 | get confused. | |
28 | ||
7ae7e234 JH |
29 | * Two help messages given when "git add" notices the user gave it |
30 | nothing to add have been updated to use advise() API. | |
31 | ||
32 | * A new version of fsmonitor-watchman hook has been introduced, to | |
33 | avoid races. | |
34 | ||
51ebf55b JH |
35 | * "git config" learned to show in which "scope", in addition to in |
36 | which file, each config setting comes from. | |
37 | ||
2d2118b8 JH |
38 | * The basic 7 colors learned the brighter counterparts |
39 | (e.g. "brightred"). | |
40 | ||
bc7a3d4d JH |
41 | |
42 | Performance, Internal Implementation, Development Support etc. | |
43 | ||
344ee187 JH |
44 | * Tell .editorconfig that in this project, *.txt files are indented |
45 | with tabs. | |
46 | ||
47 | * The test-lint machinery knew to check "VAR=VAL shell_function" | |
48 | construct, but did not check "VAR= shell_funciton", which has been | |
49 | corrected. | |
50 | ||
51 | * Replace "git config --bool" calls with "git config --type=bool" in | |
52 | sample templates. | |
53 | ||
de93cc14 JH |
54 | * The effort to move "git-add--interactive" to C continues. |
55 | ||
56 | * Improve error message generation for "git submodule add". | |
57 | ||
58 | * Preparation of test scripts for the day when the object names will | |
59 | use SHA-256 continues. | |
60 | ||
d8437c57 JH |
61 | * Warn programmers about pretend_object_file() that allows the code |
62 | to tentatively use in-core objects. | |
63 | ||
7ae7e234 JH |
64 | * The way "git pack-objects" reuses objects stored in existing pack |
65 | to generate its result has been improved. | |
66 | ||
67 | * The transport protocol version 2 becomes the default one. | |
68 | ||
69 | * Traditionally, we avoided threaded grep while searching in objects | |
70 | (as opposed to files in the working tree) as accesses to the object | |
71 | layer is not thread-safe. This limitation is getting lifted. | |
72 | ||
73 | * "git rebase -i" (and friends) used to unnecessarily check out the | |
74 | tip of the branch to be rebased, which has been corrected. | |
75 | ||
76 | * A low-level API function get_oid(), that accepts various ways to | |
77 | name an object, used to issue end-user facing error messages | |
78 | without l10n, which has been updated to be translatable. | |
79 | ||
80 | * Unneeded connectivity check is now disabled in a partial clone when | |
81 | fetching into it. | |
82 | ||
83 | * Some rough edges in the sparse-checkout feature, especially around | |
84 | the cone mode, have been cleaned up. | |
85 | ||
86 | * The diff-* plumbing family of subcommands now pay attention to the | |
87 | diff.wsErrorHighlight configuration, which has been ignored before; | |
88 | this allows "git add -p" to also show the whitespace problems to | |
89 | the end user. | |
90 | ||
91 | * Some codepaths were given a repository instance as a parameter to | |
92 | work in the repository, but passed the_repository instance to its | |
93 | callees, which has been cleaned up (somewhat). | |
94 | ||
51ebf55b JH |
95 | * Memory footprint and performance of "git name-rev" has been |
96 | improved. | |
97 | ||
bc7a3d4d JH |
98 | |
99 | Fixes since v2.25 | |
100 | ----------------- | |
101 | ||
102 | * "git commit" gives output similar to "git status" when there is | |
103 | nothing to commit, but without honoring the advise.statusHints | |
104 | configuration variable, which has been corrected. | |
bc7a3d4d JH |
105 | |
106 | * has_object_file() said "no" given an object registered to the | |
107 | system via pretend_object_file(), making it inconsistent with | |
108 | read_object_file(), causing lazy fetch to attempt fetching an | |
109 | empty tree from promisor remotes. | |
bc7a3d4d JH |
110 | |
111 | * Complete an update to tutorial that encourages "git switch" over | |
112 | "git checkout" that was done only half-way. | |
bc7a3d4d JH |
113 | |
114 | * C pedantry ;-) fix. | |
bc7a3d4d JH |
115 | |
116 | * The code that tries to skip over the entries for the paths in a | |
117 | single directory using the cache-tree was not careful enough | |
118 | against corrupt index file. | |
bc7a3d4d JH |
119 | |
120 | * Reduce unnecessary round-trip when running "ls-remote" over the | |
121 | stateless RPC mechanism. | |
bc7a3d4d JH |
122 | |
123 | * "git restore --staged" did not correctly update the cache-tree | |
124 | structure, resulting in bogus trees to be written afterwards, which | |
125 | has been corrected. | |
bc7a3d4d | 126 | |
344ee187 JH |
127 | * The code recently added to move to the entry beyond the ones in the |
128 | same directory in the index in the sparse-cone mode did not count | |
129 | the number of entries to skip over incorrectly, which has been | |
130 | corrected. | |
344ee187 JH |
131 | |
132 | * Rendering by "git log --graph" of ancestry lines leading to a merge | |
133 | commit were made suboptimal to waste vertical space a bit with a | |
134 | recent update, which has been corrected. | |
344ee187 JH |
135 | |
136 | * Work around test breakages caused by custom regex engine used in | |
137 | libasan, when address sanitizer is used with more recent versions | |
138 | of gcc and clang. | |
344ee187 JH |
139 | |
140 | * Minor bugfixes to "git add -i" that has recently been rewritten in C. | |
141 | (merge 849e43cc18 js/builtin-add-i-cmds later to maint). | |
142 | ||
143 | * "git fetch --refmap=" option has got a better documentation. | |
344ee187 | 144 | |
de93cc14 JH |
145 | * "git checkout X" did not correctly fail when X is not a local |
146 | branch but could name more than one remote-tracking branches | |
147 | (i.e. to be dwimmed as the starting point to create a corresponding | |
148 | local branch), which has been corrected. | |
149 | (merge fa74180d08 am/checkout-file-and-ref-ref-ambiguity later to maint). | |
150 | ||
151 | * Corner case bugs in "git clean" that stems from a (necessarily for | |
152 | performance reasons) awkward calling convention in the directory | |
153 | enumeration API has been corrected. | |
de93cc14 JH |
154 | |
155 | * A fetch that is told to recursively fetch updates in submodules | |
156 | inevitably produces reams of output, and it becomes hard to spot | |
157 | error messages. The command has been taught to enumerate | |
158 | submodules that had errors at the end of the operation. | |
159 | (merge 0222540827 es/fetch-show-failed-submodules-atend later to maint). | |
160 | ||
161 | * The "--recurse-submodules" option of various subcommands did not | |
162 | work well when run in an alternate worktree, which has been | |
163 | corrected. | |
164 | (merge a9472afb63 pb/recurse-submodule-in-worktree-fix later to maint). | |
165 | ||
d8437c57 JH |
166 | * Futureproofing a test not to depend on the current implementation |
167 | detail. | |
d8437c57 JH |
168 | |
169 | * Running "git rm" on a submodule failed unnecessarily when | |
170 | .gitmodules is only cache-dirty, which has been corrected. | |
171 | (merge 7edee32985 dt/submodule-rm-with-stale-cache later to maint). | |
172 | ||
173 | * C pedantry ;-) fix. | |
174 | (merge cf82bff73f jk/clang-sanitizer-fixes later to maint). | |
175 | ||
176 | * "git grep --no-index" should not get affected by the contents of | |
177 | the .gitmodules file but when "--recurse-submodules" is given or | |
178 | the "submodule.recurse" variable is set, it did. Now these | |
179 | settings are ignored in the "--no-index" mode. | |
d8437c57 JH |
180 | |
181 | * Technical details of the bundle format has been documented. | |
d8437c57 JH |
182 | |
183 | * Unhelpful warning messages during documentation build have been squelched. | |
d8437c57 | 184 | |
7ae7e234 JH |
185 | * "git rebase -i" identifies existing commits in its todo file with |
186 | their abbreviated object name, which could become ambigous as it | |
187 | goes to create new commits, and has a mechanism to avoid ambiguity | |
188 | in the main part of its execution. A few other cases however were | |
189 | not covered by the protection against ambiguity, which has been | |
190 | corrected. | |
191 | (merge 26027625dd js/rebase-i-with-colliding-hash later to maint). | |
192 | ||
193 | * Allow the rebase.missingCommitsCheck configuration to kick in when | |
194 | "rebase --edit-todo" and "rebase --continue" restarts the procedure. | |
195 | (merge 5a5445d878 ag/edit-todo-drop-check later to maint). | |
196 | ||
197 | * The way "git submodule status" reports an initialized but not yet | |
198 | populated submodule has not been reimplemented correctly when a | |
199 | part of the "git submodule" command was rewritten in C, which has | |
200 | been corrected. | |
201 | (merge f38c92452d pk/status-of-uncloned-submodule later to maint). | |
202 | ||
203 | * The code to automatically shrink the fan-out in the notes tree had | |
204 | an off-by-one bug, which has been killed. | |
205 | (merge dbc27477ff jh/notes-fanout-fix later to maint). | |
206 | ||
207 | * The index-pack code now diagnoses a bad input packstream that | |
208 | records the same object twice when it is used as delta base; the | |
209 | code used to declare a software bug when encountering such an | |
210 | input, but it is an input error. | |
211 | (merge a21781011f jk/index-pack-dupfix later to maint). | |
212 | ||
213 | * The code to compute the commit-graph has been taught to use a more | |
214 | robust way to tell if two object directories refer to the same | |
215 | thing. | |
216 | (merge a7df60cac8 tb/commit-graph-object-dir later to maint). | |
217 | ||
2d2118b8 JH |
218 | * "git remote rename X Y" needs to adjust configuration variables |
219 | (e.g. branch.<name>.remote) whose value used to be X to Y. | |
220 | branch.<name>.pushRemote is now also updated. | |
221 | ||
bc7a3d4d JH |
222 | * Other code cleanup, docfix, build fix, etc. |
223 | (merge 26f924d50e en/simplify-check-updates-in-unpack-trees later to maint). | |
344ee187 JH |
224 | (merge d0d0a357a1 am/update-pathspec-f-f-tests later to maint). |
225 | (merge f94f7bd00d am/test-pathspec-f-f-error-cases later to maint). | |
344ee187 | 226 | (merge c513a958b6 ss/t6025-modernize later to maint). |
de93cc14 JH |
227 | (merge b441717256 dl/test-must-fail-fixes later to maint). |
228 | (merge d031049da3 mt/sparse-checkout-doc-update later to maint). | |
d8437c57 | 229 | (merge 145136a95a jc/skip-prefix later to maint). |
7ae7e234 | 230 | (merge 5290d45134 jk/alloc-cleanups later to maint). |
51ebf55b JH |
231 | (merge 7a9f8ca805 rs/parse-options-concat-dup later to maint). |
232 | (merge 517b60564e rs/strbuf-insertstr later to maint). | |
233 | (merge f696a2b1c8 jk/mailinfo-cleanup later to maint). | |
234 | (merge 076ee3e8a2 js/test-write-junit-xml-fix later to maint). | |
235 | (merge de26f02db1 js/test-avoid-pipe later to maint). | |
236 | (merge bfe2bbb47f js/test-unc-fetch later to maint). | |
237 | (merge 08809c09aa js/mingw-open-in-gdb later to maint). | |
238 | (merge cc4f2eb828 jk/doc-credential-helper later to maint). | |
239 | (merge e0020b2f82 es/outside-repo-errmsg-hints later to maint). | |
2d2118b8 | 240 | (merge a2dc43414c es/doc-mentoring later to maint). |