| 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. |
| |
| |
| 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. |
| |
| |
| 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). |
| |
| * 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). |