summaryrefslogtreecommitdiffstats
path: root/RelNotes/2.44.0.txt
blob: b44e88fb1585049233b926109a1851c6acfb2141 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Git v2.44 Release Notes
=======================

UI, Workflows & Features

 * "git add" and "git stash" learned to support the ":(attr:...)"
   magic pathspec.

 * "git rebase --autosquash" is now enabled for non-interactive rebase,
   but it is still incompatible with the apply backend.

 * Introduce "git replay", a tool meant on the server side without
   working tree to recreate a history.

 * "git merge-file" learned to take the "--diff-algorithm" option to
   use algorithm different from the default "myers" diff.

 * Command line completion (in contrib/) learned to complete path
   arguments to the "add/set" subcommands of "git sparse-checkout"
   better.


Performance, Internal Implementation, Development Support etc.

 * Process to add some form of low-level unit tests has started.

 * Add support for GitLab CI.

 * "git for-each-ref --no-sort" still sorted the refs alphabetically
   which paid non-trivial cost.  It has been redefined to show output
   in an unspecified order, to allow certain optimizations to take
   advantage of.

 * Simplify API implementation to delete references by eliminating
   duplication.

 * Subject approxidate() and show_date() machinery to OSS-Fuzz.


Fixes since v2.43
-----------------

 * The way CI testing used "prove" could lead to running the test
   suite twice needlessly, which has been corrected.
   (merge e7e03ef995 js/ci-discard-prove-state later to maint).

 * Update ref-related tests.

 * "git format-patch --encode-email-headers" ignored the option when
   preparing the cover letter, which has been corrected.

 * Newer versions of Getopt::Long started giving warnings against our
   (ab)use of it in "git send-email".  Bump the minimum version
   requirement for Perl to 5.8.1 (from September 2002) to allow
   simplifying our implementation.
   (merge 6ff658cc78 tz/send-email-negatable-options later to maint).

 * Earlier we stopped relying on commit-graph that (still) records
   information about commits that are lost from the object store,
   which has negative performance implications.  The default has been
   flipped to disable this pessimization.
   (merge b1df3b3867 ps/commit-graph-less-paranoid later to maint).

 * Stale URLs have been updated to their current counterparts (or
   archive.org) and HTTP links are replaced with working HTTPS links.
   (merge 62b4f7b9c6 js/update-urls-in-doc-and-comment later to maint).

 * trace2 streams used to record the URLs that potentially embed
   authentication material, which has been corrected.
   (merge 16fa3eebc0 jh/trace2-redact-auth later to maint).

 * The sample pre-commit hook that tries to catch introduction of new
   paths that use potentially non-portable characters did not notice
   an existing path getting renamed to such a problematic path, when
   rename detection was enabled.
   (merge d9fd71fa2a jp/use-diff-index-in-pre-commit-sample later to maint).

 * The command line parser for the "log" family of commands was too
   loose when parsing certain numbers, e.g., silently ignoring the
   extra 'q' in "git log -n 1q" without complaining, which has been
   tightened up.
   (merge 71a1e94821 jc/revision-parse-int later to maint).

 * "git $cmd --end-of-options --rev -- --path" for some $cmd failed
   to interpret "--rev" as a rev, and "--path" as a path.  This was
   fixed for many programs like "reset" and "checkout".
   (merge 9385174627 jk/end-of-options later to maint).

 * "git bisect reset" has been taught to clean up state files and refs
   even when BISECT_START file is gone.
   (merge daaa03e54c jk/bisect-reset-fix later to maint).

 * Some codepaths did not correctly parse configuration variables
   specified with valueless "true", which has been corrected.
   (merge d49cb162fa jk/implicit-true later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 50f1abcff6 js/packfile-h-typofix later to maint).
   (merge cbf498eb53 jb/reflog-expire-delete-dry-run-options later to maint).
   (merge 7854bf4960 rs/i18n-cannot-be-used-together later to maint).
   (merge cd3c28c53a rs/column-leakfix later to maint).
   (merge 866a1b9026 ps/ref-tests-update-more later to maint).
   (merge e4299d26d4 mk/doc-gitfile-more later to maint).
   (merge 792b86283b rs/incompatible-options-messages later to maint).
   (merge ea8f9494ab jk/config-cleanup later to maint).