The fifth batch
[alt-git.git] / Documentation / RelNotes / 2.39.0.txt
blob8153661826dec0cf4776df2f1fdb2ab2523cb394
1 Git v2.39 Release Notes
2 =======================
4 UI, Workflows & Features
5 ------------------------
7  * "git grep" learned to expand the sparse-index more lazily and on
8    demand in a sparse checkout.
10  * By default, use of fsmonitor on a repository on networked
11    filesystem is disabled. Add knobs to make it workable on macOS.
13  * After checking out a "branch" that is a symbolic-ref that points at
14    another branch, "git symbolic-ref HEAD" reports the underlying
15    branch, not the symbolic-ref the user gave checkout as argument.
16    The command learned the "--no-recurse" option to stop after
17    dereferencing a symbolic-ref only once.
19  * "git branch --edit-description @{-1}" is now a way to edit branch
20    description of the branch you were on before switching to the
21    current branch.
24 Performance, Internal Implementation, Development Support etc.
25 --------------------------------------------------------------
27  * With a bit of header twiddling, use the native regexp library on
28    macOS instead of the compat/ one.
30  * Prepare for GNU [ef]grep that throw warning of their uses.
32  * Sources related to fuzz testing have been moved down to their own
33    directory.
35  * Most credential helpers ignored unknown entries in a credential
36    description, but a few died upon seeing them.  The latter were
37    taught to ignore them, too
39  * "scalar unregister" in a repository that is already been
40    unregistered reported an error.
42  * Remove error detection from a function that fetches from promisor
43    remotes, and make it die when such a fetch fails to bring all the
44    requested objects, to give an early failure to various operations.
46  * Update CodingGuidelines to clarify what features to use and avoid
47    in C99.
48    (merge 438c2f859b ab/coding-guidelines-c99 later to maint).
50  * Avoid false-positive from LSan whose assumption may be broken with
51    higher optimization levels.
54 Fixes since v2.38
55 -----------------
57  * The codepath that reads from the index v4 had unaligned memory
58    accesses, which has been corrected.
59    (merge 4a6ed30f96 vd/fix-unaligned-read-index-v4 later to maint).
61  * Fix messages incorrectly marked for translation.
62    (merge 02cb8b9ee3 ah/fsmonitor-daemon-usage-non-l10n later to maint).
64  * "git fsck" failed to release contents of tree objects already used
65    from the memory, which has been fixed.
66    (merge 51b27747e5 jk/fsck-on-diet later to maint).
68  * "git clone" did not like to see the "--bare" and the "--origin"
69    options used together without a good reason.
70    (merge 3b910d6e29 jk/clone-allow-bare-and-o-together later to maint).
72  * "git remote rename" failed to rename a remote without fetch
73    refspec, which has been corrected.
74    (merge 5a97b38109 jk/remote-rename-without-fetch-refspec later to maint).
76  * Documentation on various Boolean GIT_* environment variables have
77    been clarified.
78    (merge 819fb68222 jc/environ-docs later to maint).
80  * "git rebase -i" can mistakenly attempt to apply a fixup to a commit
81    itself, which has been corrected.
82    (merge 3e367a5f2f ja/rebase-i-avoid-amending-self later to maint).
84  * "git multi-pack-index repack/expire" used to repack unreachable
85    cruft into a new pack, which have been corrected.
86    (merge b62ad5681f tb/midx-repack-ignore-cruft-packs later to maint).
88  * In read-only repositories, "git merge-tree" tried to come up with a
89    merge result tree object, which it failed (which is not wrong) and
90    led to a segfault (which is bad), which has been corrected.
91    (merge 92481d1b26 js/merge-ort-in-read-only-repo later to maint).
93  * Force C locale while running tests around httpd to make sure we can
94    find expected error messages in the log.
95    (merge 7a2d8ea47e rs/test-httpd-in-C-locale later to maint).
97  * Fix a logic in "mailinfo -b" that miscomputed the length of a
98    substring, which lead to an out-of-bounds access.
99    (merge 3ef1494685 pw/mailinfo-b-fix later to maint).
101  * The codepath to sign learned to report errors when it fails to read
102    from "ssh-keygen".
103    (merge 36fb0d07d8 pw/ssh-sign-report-errors later to maint).
105  * Code clean-up that results in plugging a leak.
106    (merge 246526d019 rs/bisect-start-leakfix later to maint).
108  * "GIT_EDITOR=: git branch --edit-description" resulted in failure,
109    which has been corrected.
110    (merge e288b3de35 jc/branch-description-unset later to maint).
112  * The code to clean temporary object directories (used for
113    quarantine) tried to remove them inside its signal handler, which
114    was a no-no.
115    (merge 22613b25ec jc/tmp-objdir later to maint).
117  * Update comment in the Makefile about the RUNTIME_PREFIX config knob.
118    (merge ebb6c16607 dd/document-runtime-prefix-better later to maint).
120  * Clarify that "the sentence after <area>: prefix does not begin with
121    a capital letter" rule applies only to the commit title.
122    (merge 3991bb73dd jc/use-of-uc-in-log-messages later to maint).
124  * "git branch --edit-description" on an unborh branch misleadingly
125    said that no such branch exists, which has been corrected.
126    (merge bcfc82bd48 rj/branch-edit-desc-unborn later to maint).
128  * Work around older clang that warns against C99 zero initialization
129    syntax for struct.
130    (merge 54795d37d9 jh/struct-zero-init-with-older-clang later to maint).
132  * Giving "--invert-grep" and "--all-match" without "--grep" to the
133    "git log" command resulted in an attempt to access grep pattern
134    expression structure that has not been allocated, which has been
135    corrected.
136    (merge db84376f98 ab/grep-simplify-extended-expression later to maint).
138  * Other code cleanup, docfix, build fix, etc.
139    (merge c34a6bd291 so/diff-merges-cleanup later to maint).
140    (merge 5e7c8b75e7 ab/test-malloc-with-sanitize-leak later to maint).
141    (merge 2a905f8fa8 ah/branch-autosetupmerge-grammofix later to maint).
142    (merge abcac2e19f rj/ref-filter-get-head-description-leakfix later to maint).
143    (merge 71e5473493 hn/parse-worktree-ref later to maint).
144    (merge 7190b7ebf9 ds/bundle-uri-docfix later to maint).
145    (merge 45350aeb11 jk/sequencer-missing-author-name-check later to maint).
146    (merge edbf9a2e20 nb/doc-mergetool-typofix later to maint).
147    (merge b004c90282 rs/gc-pack-refs-simplify later to maint).
148    (merge 69c5f17f11 jk/cleanup-callback-parameters later to maint).
149    (merge 7c07f36ad2 ab/unused-annotation later to maint).
150    (merge f7669676d0 rs/use-fspathncmp later to maint).
151    (merge a677d3c416 pw/remove-rebase-p-test later to maint).
152    (merge e3733b646d rs/archive-dedup-printf later to maint).
153    (merge 413bc6d20a ds/cmd-main-reorder later to maint).