]>
Commit | Line | Data |
---|---|---|
745f6812 JH |
1 | Git 2.24 Release Notes |
2 | ====================== | |
3 | ||
4 | Updates since v2.23 | |
5 | ------------------- | |
6 | ||
7 | Backward compatibility note | |
8 | ||
9 | * (no entry yet so far) | |
10 | ||
11 | ||
12 | UI, Workflows & Features | |
13 | ||
4c861400 JH |
14 | * We now have an active interim maintainer for the Git-Gui part of |
15 | the system. Praise and thank Pratyush Yadav for volunteering. | |
16 | ||
f1d4a282 JH |
17 | * The command line parser learned "--end-of-options" notation; the |
18 | standard convention for scripters to have hardcoded set of options | |
19 | first on the command line, and force the command to treat end-user | |
20 | input as non-options, has been to use "--" as the delimiter, but | |
21 | that would not work for commands that use "--" as a delimiter | |
22 | between revs and pathspec. | |
23 | ||
24 | * A mechanism to affect the default setting for a (related) group of | |
25 | configuration variables is introduced. | |
26 | ||
27 | * "git fetch" learned "--set-upstream" option to help those who first | |
28 | clone from their private fork they intend to push to, add the true | |
29 | upstream via "git remote add" and then "git fetch" from it. | |
30 | ||
31 | * Device-tree files learned their own userdiff patterns. | |
32 | (merge 3c81760bc6 sb/userdiff-dts later to maint). | |
745f6812 | 33 | |
4c861400 JH |
34 | * "git rebase --rebase-merges" learned to drive different merge |
35 | strategies and pass strategy specific options to them. | |
36 | ||
37 | * A new "pre-merge-commit" hook has been introduced. | |
38 | ||
39 | * Command line completion updates for "git -c var.name=val" have been | |
40 | added. | |
41 | ||
42 | * The lazy clone machinery has been taught that there can be more | |
43 | than one promisor remote and consult them in order when downloading | |
44 | missing objects on demand. | |
45 | ||
46 | * The list-objects-filter API (used to create a sparse/lazy clone) | |
47 | learned to take a combined filter specification. | |
48 | ||
745f6812 JH |
49 | |
50 | Performance, Internal Implementation, Development Support etc. | |
51 | ||
52 | * The code to write commit-graph over given commit object names has | |
53 | been made a bit more robust. | |
54 | ||
55 | * The first line of verbose output from each test piece now carries | |
56 | the test name and number to help scanning with eyeballs. | |
57 | ||
f1d4a282 JH |
58 | * Further clean-up of the initialization code. |
59 | ||
4c861400 JH |
60 | * xmalloc() used to have a mechanism to ditch memory and address |
61 | space resources as the last resort upon seeing an allocation | |
62 | failure from the underlying malloc(), which made the code complex | |
63 | and thread-unsafe with dubious benefit, as major memory resource | |
64 | users already do limit their uses with various other mechanisms. | |
65 | It has been simplified away. | |
66 | ||
67 | * Unnecessary full-tree diff in "git log -L" machinery has been | |
68 | optimized away. | |
69 | ||
70 | * The http transport lacked some optimization the native transports | |
71 | learned to avoid unnecessary ref advertisement, which has been | |
72 | corrected. | |
73 | ||
745f6812 JH |
74 | |
75 | Fixes since v2.23 | |
76 | ----------------- | |
77 | ||
78 | * "git grep --recurse-submodules" that looks at the working tree | |
79 | files looked at the contents in the index in submodules, instead of | |
80 | files in the working tree. | |
81 | (merge 6a289d45c0 mt/grep-submodules-working-tree later to maint). | |
82 | ||
83 | * Codepaths to walk tree objects have been audited for integer | |
84 | overflows and hardened. | |
85 | (merge 5aa02f9868 jk/tree-walk-overflow later to maint). | |
86 | ||
87 | * "git pack-refs" can lose refs that are created while running, which | |
88 | is getting corrected. | |
89 | (merge a613d4f817 sc/pack-refs-deletion-racefix later to maint). | |
90 | ||
91 | * "git checkout" and "git restore" to re-populate the index from a | |
92 | tree-ish (typically HEAD) did not work correctly for a path that | |
93 | was removed and then added again with the intent-to-add bit, when | |
94 | the corresponding working tree file was empty. This has been | |
95 | corrected. | |
96 | ||
97 | * Compilation fix. | |
98 | (merge 70597e8386 rs/nedalloc-fixlets later to maint). | |
99 | ||
f1d4a282 JH |
100 | * "git gui" learned to call the clean-up procedure before exiting. |
101 | (merge 0d88f3d2c5 py/git-gui-do-quit later to maint). | |
102 | ||
103 | * We promoted the "indent heuristics" that decides where to split | |
104 | diff hunks from experimental to the default a few years ago, but | |
105 | some stale documentation still marked it as experimental, which has | |
106 | been corrected. | |
107 | (merge 64e5e1fba1 sg/diff-indent-heuristic-non-experimental later to maint). | |
108 | ||
109 | * Fix a mismerge that happened in 2.22 timeframe. | |
110 | (merge acb7da05ac en/checkout-mismerge-fix later to maint). | |
111 | ||
112 | * "git archive" recorded incorrect length in extended pax header in | |
113 | some corner cases, which has been corrected. | |
114 | (merge 71d41ff651 rs/pax-extended-header-length-fix later to maint). | |
115 | ||
116 | * On-demand object fetching in lazy clone incorrectly tried to fetch | |
117 | commits from submodule projects, while still working in the | |
118 | superproject, which has been corrected. | |
119 | (merge a63694f523 jt/diff-lazy-fetch-submodule-fix later to maint). | |
120 | ||
121 | * Prepare get_short_oid() codepath to be thread-safe. | |
122 | (merge 7cfcb16b0e rs/sort-oid-array-thread-safe later to maint). | |
123 | ||
124 | * "for-each-ref" and friends that show refs did not protect themselves | |
125 | against ancient tags that did not record tagger names when asked to | |
126 | show "%(taggername)", which have been corrected. | |
127 | (merge 8b3f33ef11 mp/for-each-ref-missing-name-or-email later to maint). | |
128 | ||
129 | * The "git am" based backend of "git rebase" ignored the result of | |
130 | updating ".gitattributes" done in one step when replaying | |
131 | subsequent steps. | |
132 | (merge 2c65d90f75 bc/reread-attributes-during-rebase later to maint). | |
133 | ||
4c861400 JH |
134 | * Tell cURL library to use the same malloc() implementation, with the |
135 | xmalloc() wrapper, as the rest of the system, for consistency. | |
136 | (merge 93b980e58f cb/curl-use-xmalloc later to maint). | |
137 | ||
745f6812 JH |
138 | * Other code cleanup, docfix, build fix, etc. |
139 | (merge d1387d3895 en/fast-import-merge-doc later to maint). | |
f1d4a282 JH |
140 | (merge 1c24a54ea4 bm/repository-layout-typofix later to maint). |
141 | (merge 415b770b88 ds/midx-expire-repack later to maint). | |
142 | (merge 19800bdc3f nd/diff-parseopt later to maint). | |
143 | (merge 58166c2e9d tg/t0021-racefix later to maint). |