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