t0301: fixes for windows compatibility
[git/debian.git] / Documentation / RelNotes / 2.34.0.txt
blobd21a63ed83d1a3cd5090744c7c2197e05a61b648
1 Git 2.34 Release Notes
2 ======================
4 Updates since Git 2.33
5 ----------------------
7 UI, Workflows & Features
9  * Pathname expansion (like "~username/") learned a way to specify a
10    location relative to Git installation (e.g. its $sharedir which is
11    $(prefix)/share), with "%(prefix)".
13  * Use `ort` instead of `recursive` as the default merge strategy.
15  * The userdiff pattern for "java" language has been updated.
17  * "git rebase" by default skips changes that are equivalent to
18    commits that are already in the history the branch is rebased onto;
19    give messages when this happens to let the users be aware of
20    skipped commits, and also teach them how to tell "rebase" to keep
21    duplicated changes.
23  * The advice message that "git cherry-pick" gives when it asks
24    conflicted replay of a commit to be resolved by the end user has
25    been updated.
27  * After "git clone --recurse-submodules", all submodules are cloned
28    but they are not by default recursed into by other commands.  With
29    submodule.stickyRecursiveClone configuration set, submodule.recurse
30    configuration is set to true in a repository created by "clone"
31    with "--recurse-submodules" option.
33  * The logic for auto-correction of misspelt subcommands learned to go
34    interactive when the help.autocorrect configuration variable is set
35    to 'prompt'.
38 Performance, Internal Implementation, Development Support etc.
40  * "git bisect" spawned "git show-branch" only to pretty-print the
41    title of the commit after checking out the next version to be
42    tested; this has been rewritten in C.
44  * "git add" can work better with the sparse index.
46  * Support for ancient versions of cURL library (pre 7.19.4) has been
47    dropped.
49  * A handful of tests that assumed implementation details of files
50    backend for refs have been cleaned up.
52  * trace2 logs learned to show parent process name to see in what
53    context Git was invoked.
55  * Loading of ref tips to prepare for common ancestry negotiation in
56    "git fetch-pack" has been optimized by taking advantage of the
57    commit graph when available.
59  * Remind developers that the userdiff patterns should be kept simple
60    and permissive, assuming that the contents they apply are always
61    syntactically correct.
63  * The current implementation of GIT_TEST_FAIL_PREREQS is broken in
64    that checking for the lack of a prerequisite would not work.  Avoid
65    the use of "if ! test_have_prereq X" in a test script.
67  * The revision traversal API has been optimized by taking advantage
68    of the commit-graph, when available, to determine if a commit is
69    reachable from any of the existing refs.
71  * "git fetch --quiet" optimization to avoid useless computation of
72    info that will never be displayed.
74  * Callers from older advice_config[] based API has been updated to
75    use the newer advice_if_enabled() and advice_enabled() API.
78 Fixes since v2.33
79 -----------------
81  * Input validation of "git pack-objects --stdin-packs" has been
82    corrected.
83    (merge 561fa03529 ab/pack-stdin-packs-fix later to maint).
85  * Bugfix for common ancestor negotiation recently introduced in "git
86    push" code path.
87    (merge 82823118b9 jt/push-negotiation-fixes later to maint).
89  * "git pull" had various corner cases that were not well thought out
90    around its --rebase backend, e.g. "git pull --ff-only" did not stop
91    but went ahead and rebased when the history on other side is not a
92    descendant of our history.  The series tries to fix them up.
93    (merge 6f843a3355 en/pull-conflicting-options later to maint).
95  * "git apply" miscounted the bytes and failed to read to the end of
96    binary hunks.
97    (merge 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint).
99  * "git range-diff" code clean-up.
100    (merge c4d5907324 jk/range-diff-fixes later to maint).
102  * "git commit --fixup" now works with "--edit" again, after it was
103    broken in v2.32.
104    (merge 8ef6aad664 jk/commit-edit-fixup-fix later to maint).
106  * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
107    new version has a blocker bug for that architecture.
108    (merge 3cf9bb36bf cb/ci-use-upload-artifacts-v1 later to maint).
110  * Checking out all the paths from HEAD during the last conflicted
111    step in "git rebase" and continuing would cause the step to be
112    skipped (which is expected), but leaves MERGE_MSG file behind in
113    $GIT_DIR and confuses the next "git commit", which has been
114    corrected.
115    (merge e5ee33e855 pw/rebase-skip-final-fix later to maint).
117  * Various bugs in "git rebase -r" have been fixed.
118    (merge f2563c9ef3 pw/rebase-r-fixes later to maint).
120  * mmap() imitation used to call xmalloc() that dies upon malloc()
121    failure, which has been corrected to just return an error to the
122    caller to be handled.
123    (merge 95b4ff3931 rs/git-mmap-uses-malloc later to maint).
125  * "git diff --relative" segfaulted and/or produced incorrect result
126    when there are unmerged paths.
127    (merge 8174627b3d dd/diff-files-unmerged-fix later to maint).
129  * The delayed checkout code path in "git checkout" etc. were chatty
130    even when --quiet and/or --no-progress options were given.
131    (merge 7a132c628e mt/quiet-with-delayed-checkout later to maint).
133  * "git branch -D <branch>" used to refuse to remove a broken branch
134    ref that points at a missing commit, which has been corrected.
135    (merge 597a977489 rs/branch-allow-deleting-dangling later to maint).
137  * Build update for Apple clang.
138    (merge f32c5d3716 cb/makefile-apple-clang later to maint).
140  * The parser for the "--nl" option of "git column" has been
141    corrected.
142    (merge c93ca46cf5 sg/column-nl later to maint).
144  * "git upload-pack" which runs on the other side of "git fetch"
145    forgot to take the ref namespaces into account when handling
146    want-ref requests.
147    (merge 53a66ec37c ka/want-ref-in-namespace later to maint).
149  * The sparse-index support can corrupt the index structure by storing
150    a stale and/or uninitialized data, which has been corrected.
151    (merge d9e9b44d7a jh/sparse-index-resize-fix later to maint).
153  * Buggy tests could damage repositories outside the throw-away test
154    area we created.  We now by default export GIT_CEILING_DIRECTORIES
155    to limit the damage from such a stray test.
156    (merge 614c3d8f2e sg/set-ceiling-during-tests later to maint).
158  * Even when running "git send-email" without its own threaded
159    discussion support, a threading related header in one message is
160    carried over to the subsequent message to result in an unwanted
161    threading, which has been corrected.
162    (merge e082113484 mh/send-email-reset-in-reply-to later to maint).
164  * The output from "git fast-export", when its anonymization feature
165    is in use, showed an annotated tag incorrectly.
166    (merge 2f040a9671 tk/fast-export-anonymized-tag-fix later to maint).
168  * Doc update plus improved error reporting.
169    (merge 1e93770888 jk/log-warn-on-bogus-encoding later to maint).
171  * Other code cleanup, docfix, build fix, etc.
172    (merge 1d9c8daef8 ab/bundle-doc later to maint).
173    (merge 81483fe613 en/merge-strategy-docs later to maint).
174    (merge 626beebdf8 js/log-protocol-version later to maint).
175    (merge 00e302da76 cb/builtin-merge-format-string-fix later to maint).
176    (merge ad51ae4dc0 cb/ci-freebsd-update later to maint).
177    (merge be6444d1ca fc/completion-updates later to maint).
178    (merge ff7b83f562 ti/tcsh-completion-regression-fix later to maint).
179    (merge 325b06deda sg/make-fix-ar-invocation later to maint).
180    (merge bd72824c60 me/t5582-cleanup later to maint).
181    (merge f6a5af0f62 ga/send-email-sendmail-cmd later to maint).
182    (merge f58c7468cd ab/ls-remote-packet-trace later to maint).
183    (merge 0160f7e725 ab/rebase-fatal-fatal-fix later to maint).
184    (merge a16eb6b1ff js/maintenance-launchctl-fix later to maint).
185    (merge c21b2511c2 jk/t5323-no-pack-test-fix later to maint).
186    (merge 5146c2f148 mh/credential-leakfix later to maint).
187    (merge 1549577338 dd/t6300-wo-gpg-fix later to maint).
188    (merge 66e905b7dd rs/xopen-reports-open-failures later to maint).
189    (merge 469888e6a5 es/walken-tutorial-fix later to maint).
190    (merge 88682b016d ba/object-info later to maint).
191    (merge b45c172e51 ab/gc-log-rephrase later to maint).
192    (merge ccdd5d1eb1 ab/mailmap-leakfix later to maint).
193    (merge 6540b71614 cb/remote-ndebug-fix later to maint).
194    (merge e4f8d27585 rs/show-branch-simplify later to maint).
195    (merge e124ecf7f7 rs/archive-use-object-id later to maint).
196    (merge cebead1ebf cb/ci-build-pedantic later to maint).