aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/RelNotes/2.46.0.txt
blob: ff3ce813daff17ec2d6b5b255baf6385685c3884 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Git v2.46 Release Notes
=======================

Backward Compatibility Notes

 (None at this moment)

UI, Workflows & Features

 * The "--rfc" option of "git format-patch" learned to take an
   optional string value to be used in place of "RFC" to tweak the
   "[PATCH]" on the subject header.

 * The credential helper protocol, together with the HTTP layer, have
   been enhanced to support authentication schemes different from
   username & password pair, like Bearer and NTLM.

 * Command line completion script (in contrib/) learned to complete
   "git symbolic-ref" a bit better (you need to enable plumbing
   commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).

 * When the user responds to a prompt given by "git add -p" with an
   unsupported command, list of available commands were given, which
   was too much if the user knew what they wanted to type but merely
   made a typo.  Now the user gets a much shorter error message.

 * The color parsing code learned to handle 12-bit RGB colors, spelled
   as "#RGB" (in addition to "#RRGGBB" that is already supported).

 * The operation mode options (like "--get") the "git config" command
   uses have been deprecated and replaced with subcommands (like "git
   config get").

 * "git tag" learned the "--trailer" option to futz with the trailers
   in the same way as "git commit" does.

 * A new global "--no-advice" option can be used to disable all advice
   messages, which is meant to be used only in scripts.

 * Updates to symbolic refs can now be made as a part of ref
   transaction.


Performance, Internal Implementation, Development Support etc.

 * Advertise "git contacts", a tool for newcomers to find people to
   ask review for their patches, a bit more in our developer
   documentation.

 * In addition to building the objects needed, try to link the objects
   that are used in fuzzer tests, to make sure at least they build
   without bitrot, in Linux CI runs.

 * Code to write out reftable has seen some optimization and
   simplification.

 * Tests to ensure interoperability between reftable written by jgit
   and our code have been added and enabled in CI.

 * The singleton index_state instance "the_index" has been eliminated
   by always instantiating "the_repository" and replacing references
   to "the_index"  with references to its .index member.

 * Git-GUI has a new maintainer, Johannes Sixt.
   (merge e18ad8eb26 jc/git-gui-maintainer-update later to maint).

 * The "test-tool" has been taught to run testsuite tests in parallel,
   bypassing the need to use the "prove" tool.

 * The "whitespace check" task that was enabled for GitHub Actions CI
   has been ported to GitLab CI.

 * The refs API lost functions that implicitly assumes to work on the
   primary ref_store by forcing the callers to pass a ref_store as an
   argument.


Fixes since v2.45
-----------------

 * "git rebase --signoff" used to forget that it needs to add a
   sign-off to the resulting commit when told to continue after a
   conflict stops its operation.
   (merge a6c2654f83 pw/rebase-m-signoff-fix later to maint).

 * The procedure to build multi-pack-index got confused by the
   replace-refs mechanism, which has been corrected by disabling the
   latter.
   (merge 93e2ae1c95 xx/disable-replace-when-building-midx later to maint).

 * The "-k" and "--rfc" options of "format-patch" will now error out
   when used together, as one tells us not to add anything to the
   title of the commit, and the other one tells us to add "RFC" in
   addition to "PATCH".
   (merge cadcf58085 ds/format-patch-rfc-and-k later to maint).

 * "git stash -S" did not handle binary files correctly, which has
   been corrected.
   (merge 5fb7686409 aj/stash-staged-fix later to maint).

 * A scheduled "git maintenance" job is expected to work on all
   repositories it knows about, but it stopped at the first one that
   errored out.  Now it keeps going.
   (merge c75662bfc9 js/for-each-repo-keep-going later to maint).

 * zsh can pretend to be a normal shell pretty well except for some
   glitches that we tickle in some of our scripts. Work them around
   so that "vimdiff" and our test suite works well enough with it.
   (merge fedd5c79ff bc/zsh-compatibility later to maint).

 * Command line completion support for zsh (in contrib/) has been
   updated to stop exposing internal state to end-user shell
   interaction.
   (merge 3c20acdf46 dk/zsh-git-repo-path-fix later to maint).

 * Tests that try to corrupt in-repository files in chunked format did
   not work well on macOS due to its broken "mv", which has been
   worked around.
   (merge 861dc19ba8 jc/test-workaround-broken-mv later to maint).

 * The maximum size of attribute files is enforced more consistently.
   (merge c793f9cb08 tb/attr-limits later to maint).

 * Unbreak CI jobs so that we do not attempt to use Python 2 that has
   been removed from the platform.
   (merge 5ca0c455f1 ps/ci-python-2-deprecation later to maint).

 * Git 2.43 started using the tree of HEAD as the source of attributes
   in a bare repository, which has severe performance implications.
   For now, revert the change, without ripping out a more explicit
   support for the attr.tree configuration variable.
   (merge 51441e6460 jc/no-default-attr-tree-in-bare later to maint).

 * The "--exit-code" option of "git diff" command learned to work with
   the "--ext-diff" option.
   (merge 11be65cfa4 rs/external-diff-with-exit-code later to maint).

 * Windows CI running in GitHub Actions started complaining about the
   order of arguments given to calloc(); the imported regex code uses
   the wrong order almost consistently, which has been corrected.
   (merge f01301aabe jc/compat-regex-calloc-fix later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 4cf6e7bf5e jt/doc-submitting-rerolled-series later to maint).
   (merge a5a4cb7b27 rs/diff-parseopts-cleanup later to maint).
   (merge 395c130fd8 ma/win32-unix-domain-socket later to maint).
   (merge 7df2405b38 jk/ci-macos-gcc13-fix later to maint).
   (merge 55702c543e fa/p4-error later to maint).
   (merge 2566a77774 vd/doc-merge-tree-x-option later to maint).
   (merge b64b0df9da ds/scalar-reconfigure-all-fix later to maint).