Autogenerated HTML docs for v2.47.0-318-g04eaf
[git-htmldocs.git] / RelNotes / 2.48.0.txt
blobb885050c34342e3086b20089e9083ee825edfc57
1 Git v2.48 Release Notes
2 =======================
4 UI, Workflows & Features
5 ------------------------
7  * A new configuration variable remote.<name>.serverOption makes the
8    transport layer act as if the --serverOption=<value> option is
9    given from the command line.
11  * "git rebase --rebase-merges" now uses branch names as labels when
12    able.
14  * Describe the policy to introduce breaking changes.
16  * Teach 'git notes add' and 'git notes append' a new '-e' flag,
17    instructing them to open the note in $GIT_EDITOR before saving.
20 Performance, Internal Implementation, Development Support etc.
21 --------------------------------------------------------------
23  * Document "amlog" notes.
24    (merge ddfb5bcfc6 tb/notes-amlog-doc later to maint).
26  * The way AsciiDoc is used for SYNOPSIS part of the manual pages has
27    been revamped.  The sources, at least for the simple cases, got
28    vastly pleasant to work with.
30  * The reftable library is now prepared to expect that the memory
31    allocation function given to it may fail to allocate and to deal
32    with such an error.
34  * An extra worktree attached to a repository points at each other to
35    allow finding the repository from the worktree and vice versa
36    possible.  Turn this linkage to relative paths.
38  * Enable Windows-based CI in GitLab.
40  * Commands that can also work outside Git have learned to take the
41    repository instance "repo" when we know we are in a repository, and
42    NULL when we are not, in a parameter.  The uses of the_repository
43    variable in a few of them have been removed using the new calling
44    convention.
46  * The reftable sub-system grew a new reftable-specific strbuf
47    replacement to reduce its dependency on Git-specific data
48    structures.
50  * The ref-filter machinery learns to recognize and avoid cases where
51    sorting would be redundant.
53  * Various platform compatibility fixes split out of the larger effort
54    to use Meson as the primary build tool.
56  * Treat ECONNABORTED the same as ECONNRESET in 'git credential-cache'
57    to work around a possible Cygwin regression. This resolves a race
58    condition caused by changes in Cygwin's handling of socket
59    closures, allowing the client to exit cleanly when encountering
60    ECONNABORTED.
62  * Demonstrate an assertion failure in 'git mv'.
64  * Documentation update to clarify that 'uploadpack.allowAnySHA1InWant'
65    implies both 'allowTipSHA1InWant' and 'allowReachableSHA1InWant'.
67  * Replace various calls to atoi() with strtol_i() and strtoul_ui(),
68    and add improved error handling.
70  * Documentation updates to 'git-update-ref(1)'.
72  * Update the project's CodingGuidelines to discourage naming functions
73    with a "_1()" suffix.
75  * Updates the '.clang-format' to match project conventions.
77  * Centralize documentation for repository extensions into a single place.
79  * Buildfix and upgrade of Clar to a newer version.
81  * Documentation mark-up updates.
83  * Renaming a handful of variables and structure fields.
86 Fixes since v2.47
87 -----------------
89  * Doc update to clarify how periodical maintenance are scheduled,
90    spread across time to avoid thundering hurds.
91    (merge 3d6ab4177d sk/doc-maintenance-schedule later to maint).
93  * Use after free and double freeing at the end in "git log -L... -p"
94    had been identified and fixed.
96  * On macOS, fsmonitor can fall into a race condition that results in
97    a client waiting forever to be notified for an event that have
98    already happened.  This problem has been corrected.
100  * "git maintenance start" crashed due to an uninitialized variable
101    reference, which has been corrected.
103  * Fail gracefully instead of crashing when attempting to write the
104    contents of a corrupt in-core index as a tree object.
106  * A "git fetch" from the superproject going down to a submodule used
107    a wrong remote when the default remote names are set differently
108    between them.
110  * Fixes compile time warnings with 64-bit MSVC.
112  * Teaches 'shortlog' to explicitly use SHA-1 when operating outside
113    of a repository.
115  * Fix 'git grep' regression on macOS by disabling lookahead when
116    encountering invalid UTF-8 byte sequences.
118  * The dumb-http code regressed when the result of re-indexing a pack
119    yielded an *.idx file that differs in content from the *.idx file
120    it downloaded from the remote. This has been corrected by no longer
121    relying on: the *.idx file we got from the remote.
123  * When called with '--left-right' and '--use-bitmap-index', 'rev-list'
124    will produce output without any left/right markers, which has been
125    corrected.
127  * More leakfixes.
129  * Test modernization.
131  * The "--shallow-exclude=<ref>" option to various history transfer
132    commands takes a ref, not an arbitrary revision.
134  * A regression where commit objects missing from a commit-graph can
135    cause an infinite loop when doing a fetch in a partial clone has
136    been fixed.
138  * The MinGW compatibility layer has been taught to support POSIX
139    semantics for atomic renames when other process(es) have a file
140    opened at the destination path.
142  * "git gc" discards any objects that are outside promisor packs that
143    are referred to by an object in a promisor pack, and we do not
144    refetch them from the promisor at runtime, resulting an unusable
145    repository.  Work it around by including these objects in the
146    referring promisor pack at the receiving end of the fetch.
148  * Avoid build/test breakage on a system without working malloc debug
149    support dynamic library.
150    (merge 72ad6dc368 jk/test-malloc-debug-check later to maint).
152  * Double-free fix.
153    (merge fe17a25905 jk/fetch-prefetch-double-free-fix later to maint).
155  * Use of some uninitialized variables in "git difftool" has been
156    corrected.
158  * Object reuse code based on multi-pack-index sent an unwanted copy
159    of object.
160    (merge e199290592 tb/multi-pack-reuse-dupfix later to maint).
162  * Other code cleanup, docfix, build fix, etc.
163    (merge 1164e270b5 jk/output-prefix-cleanup later to maint).
164    (merge f36b8cbaef jh/config-unset-doc-fix later to maint).
165    (merge 4154ed4108 js/doc-platform-support-link-fix later to maint).
166    (merge 77af53f56f aa/t7300-modernize later to maint).
167    (merge 8ead1bba3e jc/doc-refspec-syntax later to maint).
168    (merge 432f666aa6 kn/loose-object-layer-wo-global-hash later to maint).
169    (merge c4b8fb6ef2 kh/merge-tree-doc later to maint).
170    (merge b8139c8f4e kh/checkout-ignore-other-docfix later to maint).
171    (merge 6dab49b9fb tc/bundle-uri-leakfix later to maint).
172    (merge f1ed39987b xx/protocol-v2-doc-markup-fix later to maint).
173    (merge 41869f7447 ak/typofixes later to maint).
174    (merge dcd590a39d bf/t-readme-mention-reftable later to maint).