diff options
Diffstat (limited to 'Documentation/RelNotes/2.41.0.txt')
| -rw-r--r-- | Documentation/RelNotes/2.41.0.txt | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/Documentation/RelNotes/2.41.0.txt b/Documentation/RelNotes/2.41.0.txt new file mode 100644 index 0000000000..0fc82a83fc --- /dev/null +++ b/Documentation/RelNotes/2.41.0.txt @@ -0,0 +1,210 @@ +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). |
