| Git v2.41 Release Notes |
| ======================= |
| |
| UI, Workflows & Features |
| |
| * Allow information carried on the WWW-AUthenticate header to be |
| passed to the credential helpers. |
| |
| * A new "fetch.hideRefs" option can be used to exclude specified refs |
| from "rev-list --objects --stdin --not --all" traversal for |
| checking object connectivity, most useful when there are many |
| unrelated histories in a single repository. |
| |
| * "git push" has been taught to allow deletion of refs with one-level |
| names to help repairing a repository who acquired such a ref by |
| mistake. In general, we don't encourage use of such a ref, and |
| creation or update to such a ref is rejected as before. |
| |
| * Allow "git bisect reset" to check out the original branch when the |
| branch is already checked out in a different worktree linked to the |
| same repository. |
| |
| * A few subcommands have been taught to stop users from working on a |
| branch that is being used in another worktree linked to the same |
| repository. |
| |
| * "git format-patch" learned to write a log-message only output file |
| for empty commits. |
| |
| * "git format-patch" honors the src/dst prefixes set to nonstandard |
| values with configuration variables like "diff.noprefix", causing |
| receiving end of the patch that expects the standard -p1 format to |
| break. "format-patch" has been taught to ignore end-user configuration |
| and always use the standard prefixes. |
| |
| This is a backward compatibility breaking change. |
| |
| * Lift the limitation that colored prompts can only be used with |
| PROMPT_COMMAND mode. |
| |
| * "git blame --contents=<file> <rev> -- <path>" used to be forbidden, |
| but now it finds the origins of lines starting at <file> contents |
| through the history that leads to <rev>. |
| |
| * "git pack-redundant" gave a warning when run, as the command has |
| outlived its usefulness long ago and is nominated for future |
| removal. Now we escalate to give an error. |
| |
| * "git clone" from an empty repository learned to propagate the |
| choice of the hash algorithm from the source repository to the |
| newly created repository. |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| |
| * Code clean-up to clarify directory traversal API. |
| |
| * Code clean-up to clarify the rule that "git-compat-util.h" must be |
| the first to be included. |
| |
| * More work towards -Wunused. |
| |
| * Instead of forcing each command to choose to honor GPG related |
| configuration variables, make the subsystem lazily initialize |
| itself. |
| |
| * Remove workaround for ancient versions of DocBook to make it work |
| correctly with groff, which has not been necessary since docbook |
| 1.76 from 2010. |
| |
| * Code clean-up to include and/or uninclude parse-options.h file as |
| needed. |
| |
| * The code path that reports what "git fetch" did to each ref has |
| been cleaned up. |
| |
| * Assorted config API updates. |
| |
| * A few configuration variables to tell the cURL library that |
| different types of ssl-cert and ssl-key are in use have been added. |
| |
| * Split key function and data structure definitions out of cache.h to |
| new header files and adjust the users. |
| |
| * "git fetch --all" does not have to download and handle the same |
| bundleURI over and over, which has been corrected. |
| |
| * "git sparse-checkout" command learns a debugging aid for the sparse |
| rule definitions. |
| |
| |
| Fixes since v2.40 |
| ----------------- |
| |
| * "git fsck" learned to check the index files in other worktrees, |
| just like "git gc" honors them as anchoring points. |
| (merge 8d3e7eac52 jk/fsck-indices-in-worktrees later to maint). |
| |
| * Fix a segfaulting loop. The function and its caller may need |
| further clean-up. |
| (merge c5773dc078 ew/commit-reach-clean-up-flags-fix later to maint). |
| |
| * "git restore" supports options like "--ours" that are only |
| meaningful during a conflicted merge, but these options are only |
| meaningful when updating the working tree files. These options are |
| marked to be incompatible when both "--staged" and "--worktree" are |
| in effect. |
| (merge ee8a88826a ak/restore-both-incompatible-with-conflicts later to maint). |
| |
| * Simplify UI to control progress meter given by "git bundle" command. |
| (merge 8b95521edb jk/bundle-progress later to maint). |
| |
| * "git bundle" learned that "-" is a common way to say that the input |
| comes from the standard input and/or the output goes to the |
| standard output. It used to work only for output and only from the |
| root level of the working tree. |
| (merge 0bbe10313e jk/bundle-use-dash-for-stdfiles later to maint). |
| |
| * Once we start running, we assumed that the list of alternate object |
| databases would never change. Hook into the machinery used to |
| update the list of packfiles during runtime to update this list as |
| well. |
| (merge e2d003dbed ds/reprepare-alternates-when-repreparing-packfiles later to maint). |
| |
| * The code to parse "git rebase -X<opt>" was not prepared to see an |
| unparsable option string, which has been corrected. |
| (merge 15a4cc912e ab/fix-strategy-opts-parsing later to maint). |
| |
| * "git add -p" while the index is unmerged sometimes failed to parse |
| the diff output it internally produces and died, which has been |
| corrected. |
| (merge 28d1122f9c jk/add-p-unmerged-fix later to maint). |
| |
| * Fix for a "ls-files --format="%(path)" that produced nonsense |
| output, which was a bug in 2.38. |
| (merge cfb62dd006 aj/ls-files-format-fix later to maint). |
| |
| * "git receive-pack" that responds to "git push" requests failed to |
| clean a stale lockfile when killed in the middle, which has been |
| corrected. |
| (merge c55c30669c ps/receive-pack-unlock-before-die later to maint). |
| |
| * "git rev-parse --quiet foo@{u}", or anything that asks @{u} to be |
| parsed with GET_OID_QUIETLY option, did not quietly fail, which has |
| been corrected. |
| (merge dfbfdc521d fc/oid-quietly-parse-upstream later to maint). |
| |
| * Transports that do not support protocol v2 did not correctly fall |
| back to protocol v0 under certain conditions, which has been |
| corrected. |
| (merge eaa0fd6584 jk/fix-proto-downgrade-to-v0 later to maint). |
| |
| * time(2) on glib 2.31+, especially on Linux, goes out of sync with |
| higher resolution timers used for gettimeofday(2) and by the |
| filesystem. Replace all calls to it with a git_time() wrapper and |
| (merge 370ddcbc89 pe/time-use-gettimeofday later to maint). |
| |
| * Code clean-up to use designated initializers in parse-options API. |
| (merge 353e6d4554 sg/parse-options-h-initializers later to maint). |
| |
| * A recent-ish change to allow unicode character classes to be used |
| with "grep -P" triggered a JIT bug in older pcre2 libraries. |
| The problematic change in Git built with these older libraries has |
| been disabled to work around the bug. |
| (merge 14b9a04479 mk/workaround-pcre-jit-ucp-bug later to maint). |
| |
| * The wildmatch library code unlearns exponential behaviour it |
| acquired some time ago since it was borrowed from rsync. |
| (merge 3dc0b7f0dc pw/wildmatch-fixes later to maint). |
| |
| * The index files can become corrupt under certain conditions when |
| the split-index feature is in use, especially together with |
| fsmonitor, which have been corrected. |
| (merge 061dd722dc js/split-index-fixes later to maint). |
| |
| * Document what the pathname-looking strings in "rev-list --object" |
| output are for and what they mean. |
| (merge 15364d2a3c jk/document-rev-list-object-name later to maint). |
| |
| * Fix unnecessary truncation of generation numbers used in-core. |
| (merge d3af1c193d ps/ahead-behind-truncation-fix later to maint). |
| |
| * Code clean-up around the use of the_repository. |
| (merge 4a93b899c1 ab/remove-implicit-use-of-the-repository later to maint). |
| |
| * Consistently spell "Message-ID" as such, not "Message-Id". |
| (merge ba4324c4e1 jc/spell-id-in-both-caps-in-message-id later to maint). |
| |
| * Correct use of an uninitialized structure member. |
| (merge dc12ee77ab jx/cap-object-info-uninitialized-fix later to maint). |
| |
| * Tests had a few places where we ignored PERL_PATH and blindly used |
| /usr/bin/perl, which have been corrected. |
| (merge c1917156a0 jk/use-perl-path-consistently later to maint). |
| |
| * Other code cleanup, docfix, build fix, etc. |
| (merge f7111175df as/doc-markup-fix later to maint). |
| (merge 90ff7c9898 fc/test-aggregation-clean-up later to maint). |
| (merge 9b0c7f308a jc/am-doc-refer-to-format-patch later to maint). |
| (merge b10cbdac4c bb/unicode-width-table-15 later to maint). |
| (merge 3457b50e8c ab/retire-scripted-add-p later to maint). |
| (merge d52fcf493b ds/p2000-fix-grep-sparse later to maint). |
| (merge ec063d2591 ss/hashmap-typofix later to maint). |
| (merge 1aaed69d11 rs/archive-mtime later to maint). |
| (merge 2da2cc9b28 ob/rollback-after-commit-lock-failure later to maint). |
| (merge 54dbd0933b ob/sequencer-save-head-simplify later to maint). |
| (merge a93cbe8d78 ar/test-cleanup-unused-file-creation later to maint). |
| (merge cc48ddd937 jk/chainlint-fixes later to maint). |
| (merge 4833b08426 ow/ref-format-remove-unused-member later to maint). |
| (merge d0ea2ca1cf dw/doc-submittingpatches-grammofix later to maint). |