summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/2.34.0.txt
blob: e378a99416a448fa9509945a7a540e186fe9536e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Git 2.34 Release Notes
======================

Updates since Git 2.33
----------------------

UI, Workflows & Features

 * Pathname expansion (like "~username/") learned a way to specify a
   location relative to Git installation (e.g. its $sharedir which is
   $(prefix)/share), with "%(prefix)".

 * Use `ort` instead of `recursive` as the default merge strategy.

 * The userdiff pattern for "java" language has been updated.


Performance, Internal Implementation, Development Support etc.

 * "git bisect" spawned "git show-branch" only to pretty-print the
   title of the commit after checking out the next version to be
   tested; this has been rewritten in C.

 * "git add" can work better with the sparse index.

 * Support for ancient versions of cURL library (pre 7.19.4) has been
   dropped.

 * A handful of tests that assumed implementation details of files
   backend for refs have been cleaned up.

 * trace2 logs learned to show parent process name to see in what
   context Git was invoked.

 * Loading of ref tips to prepare for common ancestry negotiation in
   "git fetch-pack" has been optimized by taking advantage of the
   commit graph when available.

 * Remind developers that the userdiff patterns should be kept simple
   and permissive, assuming that the contents they apply are always
   syntactically correct.

 * The current implementation of GIT_TEST_FAIL_PREREQS is broken in
   that checking for the lack of a prerequisite would not work.  Avoid
   the use of "if ! test_have_prereq X" in a test script.


Fixes since v2.33
-----------------

 * Input validation of "git pack-objects --stdin-packs" has been
   corrected.
   (merge 561fa03529 ab/pack-stdin-packs-fix later to maint).

 * Bugfix for common ancestor negotiation recently introduced in "git
   push" code path.
   (merge 82823118b9 jt/push-negotiation-fixes later to maint).

 * "git pull" had various corner cases that were not well thought out
   around its --rebase backend, e.g. "git pull --ff-only" did not stop
   but went ahead and rebased when the history on other side is not a
   descendant of our history.  The series tries to fix them up.
   (merge 6f843a3355 en/pull-conflicting-options later to maint).

 * "git apply" miscounted the bytes and failed to read to the end of
   binary hunks.
   (merge 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint).

 * "git range-diff" code clean-up.
   (merge c4d5907324 jk/range-diff-fixes later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 1d9c8daef8 ab/bundle-doc later to maint).
   (merge 81483fe613 en/merge-strategy-docs later to maint).
   (merge 626beebdf8 js/log-protocol-version later to maint).
   (merge 00e302da76 cb/builtin-merge-format-string-fix later to maint).
   (merge ad51ae4dc0 cb/ci-freebsd-update later to maint).