summaryrefslogtreecommitdiffstats
path: root/RelNotes/2.39.0.txt
blob: c8e333eebd09859f348e41018c847d5943c0cccf (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
Git v2.39 Release Notes
=======================

UI, Workflows & Features
------------------------

 * "git grep" learned to expand the sparse-index more lazily and on
   demand in a sparse checkout.

 * By default, use of fsmonitor on a repository on networked
   filesystem is disabled. Add knobs to make it workable on macOS.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------

 * With a bit of header twiddling, use the native regexp library on
   macOS instead of the compat/ one.

 * Prepare for GNU [ef]grep that throw warning of their uses.

 * Sources related to fuzz testing have been moved down to their own
   directory.

 * Most credential helpers ignored unknown entries in a credential
   description, but a few died upon seeing them.  The latter were
   taught to ignore them, too

 * "scalar unregister" in a repository that is already been
   unregistered reported an error.

 * Remove error detection from a function that fetches from promisor
   remotes, and make it die when such a fetch fails to bring all the
   requested objects, to give an early failure to various operations.


Fixes since v2.38
-----------------

 * The codepath that reads from the index v4 had unaligned memory
   accesses, which has been corrected.
   (merge 4a6ed30f96 vd/fix-unaligned-read-index-v4 later to maint).

 * Fix messages incorrectly marked for translation.
   (merge 02cb8b9ee3 ah/fsmonitor-daemon-usage-non-l10n later to maint).

 * "git fsck" failed to release contents of tree objects already used
   from the memory, which has been fixed.
   (merge 51b27747e5 jk/fsck-on-diet later to maint).

 * "git clone" did not like to see the "--bare" and the "--origin"
   options used together without a good reason.
   (merge 3b910d6e29 jk/clone-allow-bare-and-o-together later to maint).

 * "git remote rename" failed to rename a remote without fetch
   refspec, which has been corrected.
   (merge 5a97b38109 jk/remote-rename-without-fetch-refspec later to maint).

 * Documentation on various Boolean GIT_* environment variables have
   been clarified.
   (merge 819fb68222 jc/environ-docs later to maint).

 * "git rebase -i" can mistakenly attempt to apply a fixup to a commit
   itself, which has been corrected.
   (merge 3e367a5f2f ja/rebase-i-avoid-amending-self later to maint).

 * "git multi-pack-index repack/expire" used to repack unreachable
   cruft into a new pack, which have been corrected.
   (merge b62ad5681f tb/midx-repack-ignore-cruft-packs later to maint).

 * In read-only repositories, "git merge-tree" tried to come up with a
   merge result tree object, which it failed (which is not wrong) and
   led to a segfault (which is bad), which has been corrected.
   (merge 92481d1b26 js/merge-ort-in-read-only-repo later to maint).

 * Force C locale while running tests around httpd to make sure we can
   find expected error messages in the log.
   (merge 7a2d8ea47e rs/test-httpd-in-C-locale later to maint).

 * Fix a logic in "mailinfo -b" that miscomputed the length of a
   substring, which lead to an out-of-bounds access.
   (merge 3ef1494685 pw/mailinfo-b-fix later to maint).

 * The codepath to sign learned to report errors when it fails to read
   from "ssh-keygen".
   (merge 36fb0d07d8 pw/ssh-sign-report-errors later to maint).

 * Code clean-up that results in plugging a leak.
   (merge 246526d019 rs/bisect-start-leakfix later to maint).

 * "GIT_EDITOR=: git branch --edit-description" resulted in failure,
   which has been corrected.
   (merge e288b3de35 jc/branch-description-unset later to maint).

 * The code to clean temporary object directories (used for
   quarantine) tried to remove them inside its signal handler, which
   was a no-no.
   (merge 22613b25ec jc/tmp-objdir later to maint).

 * Update comment in the Makefile about the RUNTIME_PREFIX config knob.
   (merge ebb6c16607 dd/document-runtime-prefix-better later to maint).

 * Clarify that "the sentence after <area>: prefix does not begin with
   a capital letter" rule applies only to the commit title.
   (merge 3991bb73dd jc/use-of-uc-in-log-messages later to maint).

 * "git branch --edit-description" on an unborh branch misleadingly
   said that no such branch exists, which has been corrected.
   (merge bcfc82bd48 rj/branch-edit-desc-unborn later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge c34a6bd291 so/diff-merges-cleanup later to maint).
   (merge 5e7c8b75e7 ab/test-malloc-with-sanitize-leak later to maint).
   (merge 2a905f8fa8 ah/branch-autosetupmerge-grammofix later to maint).
   (merge abcac2e19f rj/ref-filter-get-head-description-leakfix later to maint).
   (merge 71e5473493 hn/parse-worktree-ref later to maint).
   (merge 7190b7ebf9 ds/bundle-uri-docfix later to maint).
   (merge 45350aeb11 jk/sequencer-missing-author-name-check later to maint).
   (merge edbf9a2e20 nb/doc-mergetool-typofix later to maint).
   (merge b004c90282 rs/gc-pack-refs-simplify later to maint).
   (merge 69c5f17f11 jk/cleanup-callback-parameters later to maint).
   (merge 7c07f36ad2 ab/unused-annotation later to maint).
   (merge f7669676d0 rs/use-fspathncmp later to maint).
   (merge a677d3c416 pw/remove-rebase-p-test later to maint).