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
33 * "git submodule" learned various ways to spell the same option,
34 e.g. "--branch=B" can be spelled "--branch B" or "-bB".
35 (merge b86f0f9071 re/submodule-parse-opt later to maint).
37 * Tweak the help text used for the option value placeholders by
38 parse-options API so that translations can customize the "<>"
39 placeholder signal (e.g. "--option=<value>").
40 (merge 5b34dd08d0 as/long-option-help-i18n later to maint).
42 * CI jobs gave sporadic failures, which turns out that that the
43 object finalization code was giving an error when it did not have
45 (merge d7fcbe2c56 ps/object-collision-check later to maint).
47 * The code to compute "unique" name used git_rand() which can fail or
48 get stuck; the callsite does not require cryptographic security.
49 Introduce the "insecure" mode and use it appropriately.
50 (merge 0b4f8afef6 ps/reftable-get-random-fix later to maint).
52 * A misconfigured "fsck.skiplist" configuration variable was not
53 diagnosed as an error, which has been corrected.
54 (merge ca7158076f jt/fsck-skiplist-parse-fix later to maint).
56 * Extended SHA-1 expression parser did not work well when a branch
57 with an unusual name (e.g. "foo{bar") is involved.
58 (merge 191f0c8db2 en/object-name-with-funny-refname-fix later to maint).
60 * The meson build procedure looked for the 'version-def.h' file in a
61 wrong directory, which has been corrected.
62 (merge 4771501c0a tc/meson-use-our-version-def-h later to maint).
64 * The meson build procedure for Documentation/technical/ hierarchy was
65 missing necessary dependencies, which has been corrected.
66 (merge 1dca492edd sj/meson-doc-technical-dependency-fix later to maint).
68 * The "instaweb" bound only to local IP address without "--local" and
69 to all addresses with "--local", which was the other way around, when
70 using Python's http.server class, which has been corrected.
71 (merge 76baf97fa1 ak/instaweb-python-port-binding-fix later to maint).
73 * Document that it is insecure to use Personal Access Tokens, which
74 some hosting providers take as username/password, embedded in URLs.
75 (merge a90ff409f0 mh/doc-credential-helpers-with-pat later to maint).
77 * The help text from "git $cmd -h" appear on the standard output for
78 some $cmd and the standard error for others. The built-in commands
79 have been fixed to show them on the standard output consistently.
80 (merge f66d1423f5 jc/show-usage-help later to maint).
82 * The meson-driven build is now aware of "git-subtree" housed in
83 contrib/subtree hierarchy.
84 (merge 8454b42f94 ps/build-meson-subtree later to maint).
86 * It was possible for "git unpack-objects" and "git index-pack" to
87 make an unaligned access, which has been corrected.
88 (merge 98046591b9 jk/pack-header-parse-alignment-fix later to maint).
90 * The "cache" credential back-end did not handle authtype correctly,
91 which has been corrected.
92 (merge 0b43274850 mh/credential-cache-authtype-request-fix later to maint).
94 * "git branch --sort=..." and "git for-each-ref --format=... --sort=..."
95 did not work as expected with some atoms, which has been corrected.
96 (merge c5490ce9d1 rs/ref-fitler-used-atoms-value-fix later to maint).
98 * reflog entries for symbolic ref updates were broken, which has been
100 (merge 3519492430 kn/reflog-symref-fix later to maint).
102 * The trace2 code was not prepared to show a configuration variable
103 that is set to true using the valueless true syntax, which has been
105 (merge 2fd367cf63 am/trace2-with-valueless-true later to maint).
107 * The "git refs migrate" command did not migrate the reflog for
108 refs/stash, which is the contents of the stashes, which has been
110 (merge a0bea0978f ps/reflog-migration-with-logall-fix later to maint).
112 * Doc and short-help text for "show-index" has been clarified to
113 stress that the command reads its data from the standard input.
114 (merge 49edce4ff9 jc/show-index-h-update later to maint).
116 * Other code cleanup, docfix, build fix, etc.
117 (merge ddb5287894 jk/t7407-use-test-grep later to maint).
118 (merge 21e1b44865 aj/difftool-config-doc-fix later to maint).
119 (merge 6a63995335 mh/gitattr-doc-markup-fix later to maint).
120 (merge 43850dcf9c sk/unit-test-hash later to maint).
121 (merge 4ad47d2de3 jc/cli-doc-option-and-config later to maint).
122 (merge 2d0ff147e5 jp/t8002-printf-fix later to maint).
123 (merge 69666e6746 ja/doc-restore-markup-update later to maint).
124 (merge d11d003ba5 sk/strlen-returns-size_t later to maint).
125 (merge 77b2d29e91 ja/doc-notes-markup-updates later to maint).