fetch: refactor fetch refs to be more extendable
[alt-git.git] / Documentation / RelNotes / 2.34.0.txt
blobe378a99416a448fa9509945a7a540e186fe9536e
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.
18 Performance, Internal Implementation, Development Support etc.
20  * "git bisect" spawned "git show-branch" only to pretty-print the
21    title of the commit after checking out the next version to be
22    tested; this has been rewritten in C.
24  * "git add" can work better with the sparse index.
26  * Support for ancient versions of cURL library (pre 7.19.4) has been
27    dropped.
29  * A handful of tests that assumed implementation details of files
30    backend for refs have been cleaned up.
32  * trace2 logs learned to show parent process name to see in what
33    context Git was invoked.
35  * Loading of ref tips to prepare for common ancestry negotiation in
36    "git fetch-pack" has been optimized by taking advantage of the
37    commit graph when available.
39  * Remind developers that the userdiff patterns should be kept simple
40    and permissive, assuming that the contents they apply are always
41    syntactically correct.
43  * The current implementation of GIT_TEST_FAIL_PREREQS is broken in
44    that checking for the lack of a prerequisite would not work.  Avoid
45    the use of "if ! test_have_prereq X" in a test script.
48 Fixes since v2.33
49 -----------------
51  * Input validation of "git pack-objects --stdin-packs" has been
52    corrected.
53    (merge 561fa03529 ab/pack-stdin-packs-fix later to maint).
55  * Bugfix for common ancestor negotiation recently introduced in "git
56    push" code path.
57    (merge 82823118b9 jt/push-negotiation-fixes later to maint).
59  * "git pull" had various corner cases that were not well thought out
60    around its --rebase backend, e.g. "git pull --ff-only" did not stop
61    but went ahead and rebased when the history on other side is not a
62    descendant of our history.  The series tries to fix them up.
63    (merge 6f843a3355 en/pull-conflicting-options later to maint).
65  * "git apply" miscounted the bytes and failed to read to the end of
66    binary hunks.
67    (merge 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint).
69  * "git range-diff" code clean-up.
70    (merge c4d5907324 jk/range-diff-fixes later to maint).
72  * Other code cleanup, docfix, build fix, etc.
73    (merge 1d9c8daef8 ab/bundle-doc later to maint).
74    (merge 81483fe613 en/merge-strategy-docs later to maint).
75    (merge 626beebdf8 js/log-protocol-version later to maint).
76    (merge 00e302da76 cb/builtin-merge-format-string-fix later to maint).
77    (merge ad51ae4dc0 cb/ci-freebsd-update later to maint).