| Git v2.55 Release Notes |
| ======================= |
| |
| UI, Workflows & Features |
| ------------------------ |
| |
| * Hook scripts defined via the configuration system can now be |
| configured to run in parallel. |
| |
| * The userdiff driver for the Scheme language has been extended to |
| cover other Lisp dialects. |
| |
| * Terminal control sequences coming over the sideband while talking |
| to a remote repository are mostly disabled by default, except for |
| ANSI color escape sequences. |
| |
| * "ort" merge backend improvements. |
| |
| * "git checkout -m another-branch" was invented to deal with local |
| changes to paths that are different between the current and the new |
| branch, but it gave only one chance to resolve conflicts. The command |
| was taught to create a stash to save the local changes. |
| |
| * A new builtin "git format-rev" is introduced for pretty formatting |
| one revision expression per line or commit object names found in |
| running text. |
| |
| * "git history" learned "fixup" command. |
| |
| * The internal URL parsing logic has been made accessible via a new |
| subcommand "git url-parse". |
| |
| * Misspelt proxy URL (e.g., httt://...) did not trigger any warning |
| or failure, which has been corrected. |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| -------------------------------------------------------------- |
| |
| * Promisor remote handling has been refactored and fixed in |
| preparation for auto-configuration of advertised remotes. |
| |
| * Rust support is enabled by default (but still allows opting out) in |
| some future version of Git. |
| |
| * Preparation of the xdiff/ codebase to work with Rust. |
| |
| * Use a larger buffer size in the code paths to ingest pack stream. |
| |
| * Refactor service routines in the ref subsystem backends. |
| |
| * Shrink wasted memory in Myers diff that does not account for common |
| prefix and suffix removal. |
| |
| * Enable expensive tests to catch topics that may cause breakages on |
| integration branches closer to their origin in the contributor PR |
| builds. |
| |
| |
| Fixes since v2.54 |
| ----------------- |
| |
| * Code clean-up to use the right instance of a repository instance in |
| calls inside refs subsystem. |
| (merge 57c590feb9 sp/refs-reduce-the-repository later to maint). |
| |
| * The check that implements the logic to see if an in-core cache-tree |
| is fully ready to write out a tree object was broken, which has |
| been corrected. |
| (merge 521731213c dl/cache-tree-fully-valid-fix later to maint). |
| |
| * The test suite harness and many individual test scripts have been |
| updated to work correctly when 'set -e' is in effect, which helps |
| detect misspelled test commands. |
| (merge ffe8005b9d ps/test-set-e-clean later to maint). |
| |
| * Revert a recent change that introduced a regression to help mksh users. |
| |
| * Update various GitHub Actions versions. |
| |
| * Avoid hitting the pathname limit for socks proxy socket during the |
| test.. |
| |
| * To help Windows 10 installations, avoid removing files whose |
| contents are still mmap()'ed. |
| |
| * The 'git backfill' command now rejects revision-limiting options that |
| are incompatible with its operation, uses standard documentation for |
| revision ranges, and includes blobs from boundary commits by default |
| to improve performance of subsequent operations. |
| (merge a1ad4a0fca en/backfill-fixes-and-edges later to maint). |
| |
| * "git grep" update. |
| (merge 9ff4b5ab1b rs/grep-column-only-match-fix later to maint). |
| |
| * Headers from glibc 2.43 when used with clang does not allow |
| disabling C11 language features, causing build failures.. |
| |
| * The 'http.emptyAuth=auto' configuration now correctly attempts |
| Negotiate authentication before falling back to manual credentials. |
| This allows seamless Kerberos ticket-based authentication without |
| requiring users to explicitly set 'http.emptyAuth=true'. |
| (merge 4919938d28 mc/http-emptyauth-negotiate-fix later to maint). |
| |
| * Ramifications of turning off commit-graph has been documented a bit |
| more clearly. |
| (merge 48c855bb8f kh/doc-commit-graph later to maint). |
| |
| * "git rebase --update-refs", when used with an rebase.instructionFormat |
| with "%d" (describe) in it, tried to update local branch HEAD by |
| mistake, which has been corrected. |
| (merge 106b6885c7 ag/rebase-update-refs-limit-to-branches later to maint). |
| |
| * Tweak the way how sideband messages from remote are printed while |
| we talk with a remote repository to avoid tickling terminal |
| emulator glitches. |
| (merge 31e8fcabd8 rs/sideband-clear-line-before-print later to maint). |
| |
| * The configuration variable submodule.fetchJobs was not read correctly, |
| which has been corrected. |
| (merge aa45a5902f sj/submodule-update-clone-config-fix later to maint). |
| |
| * Update code paths that assumed "unsigned long" was long enough for |
| "size_t". |
| (merge 7a094d68a2 js/objects-larger-than-4gb-on-windows later to maint). |
| |
| * Stop using unmaintained custom allocator in Windows build which was |
| the last user of the code. |
| |
| * The computation to shorten the filenames shown in diffstat measured |
| width of individual UTF-8 characters to add up, but forgot to take |
| into account error cases (e.g., an invalid UTF-8 sequence, or a |
| control character). |
| (merge 09d86a3b98 en/diffstat-utf8-truncation-fix later to maint). |
| |
| * Some tests assume that bare repository accesses are by default |
| allowed; rewrite some of them to avoid the assumption, rewrite |
| others to explicitly set safe.bareRepository to allow them. |
| (merge 985b38ca6c js/adjust-tests-to-explicitly-access-bare-repo later to maint). |
| |
| * Signing commit with custom encoding was passing the data to be |
| signed at a wrong stage in the pipeline, which has been corrected. |
| (merge 7735d7eee3 bc/sign-commit-with-custom-encoding later to maint). |
| |
| * Further update to the i18n alias support to avoid regressions. |
| |
| * "git fetch --deepen=<n>" in a full clone truncated the history to <n> |
| commits deep, which has been corrected to be a no-op instead. |
| (merge 2431f5e0e5 sp/shallow-deepen-on-non-shallow-repo-fix later to maint). |
| |
| * Other code cleanup, docfix, build fix, etc. |
| (merge 80f4b802e9 ja/doc-difftool-synopsis-style later to maint). |
| (merge b96490241e jc/doc-timestamps-in-stat later to maint). |
| (merge ef85286e51 ss/t7004-unhide-git-failures later to maint). |
| (merge 7584d10bc2 mf/format-patch-cover-letter-format-docfix later to maint). |
| (merge 8547908eb3 pw/rename-to-get-current-worktree later to maint). |
| (merge 890229b3f3 sg/t6112-unwanted-tilde-expansion-fix later to maint). |
| (merge ab9753e7bc kh/doc-restore-double-underscores-fix later to maint). |
| (merge 4a9e097228 za/t2000-modernise-more later to maint). |
| (merge b635fd0725 kh/doc-log-decorate-list later to maint). |