1 Git v2.49 Release Notes
2 =======================
4 UI, Workflows & Features
5 ------------------------
7 * Completion script updates for zsh
10 Performance, Internal Implementation, Development Support etc.
11 --------------------------------------------------------------
13 * More -Wsign-compare fixes.
15 * meson-based build now supports the unsafe-sha1 build knob.
17 * The code to check LSan results has been simplified and made more
19 (merge 164a2516eb jk/lsan-race-ignore-false-positive later to maint).
21 * More code paths have a repository passed through the callchain,
22 instead of assuming the primary the_repository object.
24 * Move a few more unit tests to the clar test framework.
26 * Introduce a new API to visit objects in batches based on a common
29 * Following the procedure we established to introduce breaking
30 changes for Git 3.0, allow an early opt-in for removing support of
31 $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure
38 * "git submodule" learned various ways to spell the same option,
39 e.g. "--branch=B" can be spelled "--branch B" or "-bB".
40 (merge b86f0f9071 re/submodule-parse-opt later to maint).
42 * Tweak the help text used for the option value placeholders by
43 parse-options API so that translations can customize the "<>"
44 placeholder signal (e.g. "--option=<value>").
45 (merge 5b34dd08d0 as/long-option-help-i18n later to maint).
47 * CI jobs gave sporadic failures, which turns out that that the
48 object finalization code was giving an error when it did not have
50 (merge d7fcbe2c56 ps/object-collision-check later to maint).
52 * The code to compute "unique" name used git_rand() which can fail or
53 get stuck; the callsite does not require cryptographic security.
54 Introduce the "insecure" mode and use it appropriately.
55 (merge 0b4f8afef6 ps/reftable-get-random-fix later to maint).
57 * A misconfigured "fsck.skiplist" configuration variable was not
58 diagnosed as an error, which has been corrected.
59 (merge ca7158076f jt/fsck-skiplist-parse-fix later to maint).
61 * Extended SHA-1 expression parser did not work well when a branch
62 with an unusual name (e.g. "foo{bar") is involved.
63 (merge 191f0c8db2 en/object-name-with-funny-refname-fix later to maint).
65 * The meson build procedure looked for the 'version-def.h' file in a
66 wrong directory, which has been corrected.
67 (merge 4771501c0a tc/meson-use-our-version-def-h later to maint).
69 * The meson build procedure for Documentation/technical/ hierarchy was
70 missing necessary dependencies, which has been corrected.
71 (merge 1dca492edd sj/meson-doc-technical-dependency-fix later to maint).
73 * The "instaweb" bound only to local IP address without "--local" and
74 to all addresses with "--local", which was the other way around, when
75 using Python's http.server class, which has been corrected.
76 (merge 76baf97fa1 ak/instaweb-python-port-binding-fix later to maint).
78 * Document that it is insecure to use Personal Access Tokens, which
79 some hosting providers take as username/password, embedded in URLs.
80 (merge a90ff409f0 mh/doc-credential-helpers-with-pat later to maint).
82 * The help text from "git $cmd -h" appear on the standard output for
83 some $cmd and the standard error for others. The built-in commands
84 have been fixed to show them on the standard output consistently.
85 (merge f66d1423f5 jc/show-usage-help later to maint).
87 * The meson-driven build is now aware of "git-subtree" housed in
88 contrib/subtree hierarchy.
89 (merge 8454b42f94 ps/build-meson-subtree later to maint).
91 * It was possible for "git unpack-objects" and "git index-pack" to
92 make an unaligned access, which has been corrected.
93 (merge 98046591b9 jk/pack-header-parse-alignment-fix later to maint).
95 * The "cache" credential back-end did not handle authtype correctly,
96 which has been corrected.
97 (merge 0b43274850 mh/credential-cache-authtype-request-fix later to maint).
99 * "git branch --sort=..." and "git for-each-ref --format=... --sort=..."
100 did not work as expected with some atoms, which has been corrected.
101 (merge c5490ce9d1 rs/ref-fitler-used-atoms-value-fix later to maint).
103 * reflog entries for symbolic ref updates were broken, which has been
105 (merge 3519492430 kn/reflog-symref-fix later to maint).
107 * The trace2 code was not prepared to show a configuration variable
108 that is set to true using the valueless true syntax, which has been
110 (merge 2fd367cf63 am/trace2-with-valueless-true later to maint).
112 * The "git refs migrate" command did not migrate the reflog for
113 refs/stash, which is the contents of the stashes, which has been
115 (merge a0bea0978f ps/reflog-migration-with-logall-fix later to maint).
117 * Doc and short-help text for "show-index" has been clarified to
118 stress that the command reads its data from the standard input.
119 (merge 49edce4ff9 jc/show-index-h-update later to maint).
121 * The API around choosing to use unsafe variant of SHA-1
122 implementation has been updated in an attempt to make it harder to
124 (merge 04292c3796 tb/unsafe-hash-cleanup later to maint).
126 * Fix bugs in an earlier attempt to fix "git refs migration".
127 (merge f11f0a5a2d kn/reflog-migration-fix-fix later to maint).
129 * Other code cleanup, docfix, build fix, etc.
130 (merge ddb5287894 jk/t7407-use-test-grep later to maint).
131 (merge 21e1b44865 aj/difftool-config-doc-fix later to maint).
132 (merge 6a63995335 mh/gitattr-doc-markup-fix later to maint).
133 (merge 43850dcf9c sk/unit-test-hash later to maint).
134 (merge 4ad47d2de3 jc/cli-doc-option-and-config later to maint).
135 (merge 2d0ff147e5 jp/t8002-printf-fix later to maint).
136 (merge 69666e6746 ja/doc-restore-markup-update later to maint).
137 (merge d11d003ba5 sk/strlen-returns-size_t later to maint).
138 (merge 77b2d29e91 ja/doc-notes-markup-updates later to maint).
139 (merge 6979bf6f8f jk/combine-diff-cleanup later to maint).
140 (merge 8705c9bd13 kn/pack-write-with-reduced-globals later to maint).