The sixth batch
[alt-git.git] / Documentation / RelNotes / 2.45.0.txt
blob2e759325393add7b2ac88fb69eaf501685e567bd
1 Git v2.45 Release Notes
2 =======================
4 Backward Compatibility Notes
6 UI, Workflows & Features
8  * Integrate the reftable code into the refs framework as a backend.
9    With "git init --ref-format=reftable", hopefully it would be a lot
10    more efficient to manage a repository with many references.
12  * "git checkout -p" and friends learned that that "@" is a synonym
13    for "HEAD".
15  * Variants of vimdiff learned to honor mergetool.<variant>.layout
16    settings.
18  * "git reflog" learned a "list" subcommand that enumerates known reflogs.
20  * When a merge conflicted at a submodule, merge-ort backend used to
21    unconditionally give a lengthy message to suggest how to resolve
22    it.  Now the message can be squelched as an advice message.
24  * "git for-each-ref" learned "--include-root-refs" option to show
25    even the stuff outside the 'refs/' hierarchy.
27  * "git rev-list --missing=print" has learned to optionally take
28    "--allow-missing-tips", which allows the objects at the starting
29    points to be missing.
31  * "git merge-tree" has learned that the three trees involved in the
32    3-way merge only need to be trees, not necessarily commits.
34  * "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
35    other kinds of *_HEAD pseudorefs.
38 Performance, Internal Implementation, Development Support etc.
40  * The code to iterate over refs with the reftable backend has seen
41    some optimization.
43  * More tests that are marked as "ref-files only" have been updated to
44    improve test coverage of reftable backend.
46  * Some parts of command line completion script (in contrib/) have
47    been micro-optimized.
49  * The way placeholders are to be marked-up in documentation have been
50    specified; use "_<placeholder>_" to typeset the word inside a pair
51    of <angle-brakets> emphasized.
53  * "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
54    fetching of objects from the promisor remote, which may be handy
55    for debugging.
58 Fixes since v2.44
59 -----------------
61  * "git apply" on a filesystem without filemode support have learned
62    to take a hint from what is in the index for the path, even when
63    not working with the "--index" or "--cached" option, when checking
64    the executable bit match what is required by the preimage in the
65    patch.
66    (merge 45b625142d cp/apply-core-filemode later to maint).
68  * "git column" has been taught to reject negative padding value, as
69    it would lead to nonsense behaviour including division by zero.
70    (merge 76fb807faa kh/column-reject-negative-padding later to maint).
72  * "git am --help" now tells readers what actions are available in
73    "git am --whitespace=<action>", in addition to saying that the
74    option is passed through to the underlying "git apply".
75    (merge a171dac734 jc/am-whitespace-doc later to maint).
77  * "git tag --column" failed to check the exit status of its "git
78    column" invocation, which has been corrected.
79    (merge 92e66478fc rj/tag-column-fix later to maint).
81  * Credential helper based on libsecret (in contrib/) has been updated
82    to handle an empty password correctly.
83    (merge 8f1f2023b7 mh/libsecret-empty-password-fix later to maint).
85  * "git difftool --dir-diff" learned to honor the "--trust-exit-code"
86    option; it used to always exit with 0 and signalled success.
87    (merge eb84c8b6ce ps/difftool-dir-diff-exit-code later to maint).
89  * The code incorrectly attempted to use textconv cache when asked,
90    even when we are not running in a repository, which has been
91    corrected.
92    (merge affe355fe7 jk/textconv-cache-outside-repo-fix later to maint).
94  * Remove an empty file that shouldn't have been added in the first
95    place.
96    (merge 4f66942215 js/remove-cruft-files later to maint).
98  * The logic to access reflog entries by date and number had ugly
99    corner cases at the boundaries, which have been cleaned up.
100    (merge 5edd126720 jk/reflog-special-cases-fix later to maint).
102  * An error message from "git upload-pack", which responds to "git
103    fetch" requests, had a trialing NUL in it, which has been
104    corrected.
105    (merge 3f4c7a0805 sg/upload-pack-error-message-fix later to maint).
107  * Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
108    to be the first header file.
109    (merge 4e89f0e07c jc/doc-compat-util later to maint).
111  * "git commit -v --cleanup=scissors" used to add the scissors line
112    twice in the log message buffer, which has been corrected.
113    (merge e90cc075cc jt/commit-redundant-scissors-fix later to maint).
115  * A custom remote helper no longer cannot access the newly created
116    repository during "git clone", which is a regression in Git 2.44.
117    This has been corrected.
118    (merge 199f44cb2e ps/remote-helper-repo-initialization-fix later to maint).
120  * Various parts of upload-pack has been updated to bound the resource
121    consumption relative to the size of the repository to protect from
122    abusive clients.
123    (merge 6cd05e768b jk/upload-pack-bounded-resources later to maint).
125  * The upload-pack program, when talking over v2, accepted the
126    packfile-uris protocol extension from the client, even if it did
127    not advertise the capability, which has been corrected.
128    (merge a922bfa3b5 jk/upload-pack-v2-capability-cleanup later to maint).
130  * Make sure failure return from merge_bases_many() is properly caught.
131    (merge 25fd20eb44 js/merge-base-with-missing-commit later to maint).
133  * Other code cleanup, docfix, build fix, etc.
134    (merge f0e578c69c rs/use-xstrncmpz later to maint).
135    (merge 83e6eb7d7a ba/credential-test-clean-fix later to maint).
136    (merge 64562d784d jb/doc-interactive-singlekey-do-not-need-perl later to maint).
137    (merge c431a235e2 cp/t9146-use-test-path-helpers later to maint).
138    (merge 82d75402d5 ds/doc-send-email-capitalization later to maint).
139    (merge 41bff66e35 jc/doc-add-placeholder-fix later to maint).
140    (merge 6835f0efe9 jw/remote-doc-typofix later to maint).
141    (merge 244001aa20 hs/rebase-not-in-progress later to maint).
142    (merge 2ca6c07db2 jc/no-include-of-compat-util-from-headers later to maint).
143    (merge 87bd7fbb9c rs/fetch-simplify-with-starts-with later to maint).
144    (merge f39addd0d9 rs/name-rev-with-mempool later to maint).
145    (merge 9a97b43e03 rs/submodule-prefix-simplify later to maint).
146    (merge 40b8076462 ak/rebase-autosquash later to maint).
147    (merge 3223204456 eg/add-uflags later to maint).
148    (merge 5f78d52dce es/config-doc-sort-sections later to maint).