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