object-store-ll.h: split this header out of object-store.h
[alt-git.git] / Documentation / RelNotes / 2.42.0.txt
blobe78ee2662bf8a871fcb5ff104b6e9c5356d49d7b
1 Git v2.42 Release Notes
2 =======================
4 UI, Workflows & Features
6  * "git pack-refs" learns "--include" and "--exclude" to tweak the ref
7    hierarchy to be packed using pattern matching.
10 Performance, Internal Implementation, Development Support etc.
12  * "git diff-tree" has been taught to take advantage of the
13    sparse-index feature.
15  * Clang's sanitizer implementation seems to work better than GCC's.
16    (merge d88d727143 jk/ci-use-clang-for-sanitizer-jobs later to maint).
19 Fixes since v2.41
20 -----------------
22  * "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
23    command failed, so that the user can salvage what they typed.
24    (merge 08c12ec1d0 kh/keep-tag-editmsg-upon-failure later to maint).
26  * The "-s" (silent, squelch) option of the "diff" family of commands
27    did not interact with other options that specify the output format
28    well.  This has been cleaned up so that it will clear all the
29    formatting options given before.
30    (merge 9d484b92ed jc/diff-s-with-other-options later to maint).
32  * Update documentation regarding Coccinelle patches.
33    (merge 3bd0097cfc gc/doc-cocci-updates later to maint).
35  * Some atoms that can be used in "--format=<format>" for "git ls-tree"
36    were not supported by "git ls-files", even though they were relevant
37    in the context of the latter.
38    (merge 4d28c4f75f zh/ls-files-format-atoms later to maint).
40  * Document more pseudo-refs and teach the command line completion
41    machinery to complete AUTO_MERGE.
42    (merge 982ff3a649 pb/complete-and-document-auto-merge-and-friends later to maint).
44  * "git submodule" code trusted the data coming from the config (and
45    the in-tree .gitmodules file) too much without validating, leading
46    to NULL dereference if the user mucks with a repository (e.g.
47    submodule.<name>.url is removed).  This has been corrected.
48    (merge fbc806acd1 tb/submodule-null-deref-fix later to maint).
50  * The value of config.worktree is per-repository, but has been kept
51    in a singleton global variable per process. This has been OK as
52    most Git operations interacted with a single repository at a time,
53    but not right for operations like recursive "grep" that want to
54    access multiple repositories from a single process without forking.
56    The global variable has been eliminated and made into a member in
57    the per-repository data structure.
58    (merge 3867f6d650 vd/worktree-config-is-per-repository later to maint).
60  * "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.
61    (merge 8260bc5902 jk/log-follow-with-non-literal-pathspec later to maint).
63  * Other code cleanup, docfix, build fix, etc.
64    (merge 51f9d2e563 sa/doc-ls-remote later to maint).
65    (merge c6d26a9dda jk/format-patch-message-id-unleak later to maint).
66    (merge f7e063f326 ps/fetch-cleanups later to maint).
67    (merge e4cf013468 tl/quote-problematic-arg-for-clarity later to maint).
68    (merge 20025fdfc7 tz/test-ssh-verifytime-fix later to maint).
69    (merge e48a21df65 tz/test-fix-pthreads-prereq later to maint).
70    (merge 68b51172e3 mh/commit-reach-get-reachable-plug-leak later to maint).
71    (merge aeee1408ce kh/use-default-notes-doc later to maint).
72    (merge 3b8724bce6 jc/test-modernization later to maint).
73    (merge 447a3b7331 jc/test-modernization-2 later to maint).
74    (merge d57fa7fc73 la/doc-interpret-trailers later to maint).