]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/RelNotes/2.23.0.txt
Merge branch 'xl/record-partial-clone-origin'
[thirdparty/git.git] / Documentation / RelNotes / 2.23.0.txt
1 Git 2.23 Release Notes
2 ======================
3
4 Updates since v2.22
5 -------------------
6
7 Backward compatibility note
8
9 * The "--base" option of "format-patch" computed the patch-ids for
10 prerequisite patches in an unstable way, which has been updated to
11 compute in a way that is compatible with "git patch-id --stable".
12
13
14 UI, Workflows & Features
15
16 * The "git fast-export/import" pair has been taught to handle commits
17 with log messages in encoding other than UTF-8 better.
18
19 * In recent versions of Git, per-worktree refs are exposed in
20 refs/worktrees/<wtname>/ hierarchy, which means that worktree names
21 must be a valid refname component. The code now sanitizes the names
22 given to worktrees, to make sure these refs are well-formed.
23
24 * "git merge" learned "--quit" option that cleans up the in-progress
25 merge while leaving the working tree and the index still in a mess.
26
27 * "git format-patch" learns a configuration to set the default for
28 its --notes=<ref> option.
29
30 * The code to show args with potential typo that cannot be
31 interpreted as a commit-ish has been improved.
32
33
34 Performance, Internal Implementation, Development Support etc.
35
36 * Update supporting parts of "git rebase" to remove code that should
37 no longer be used.
38
39 * Developer support to emulate unsatisfied prerequisites in tests to
40 ensure that the remainer of the tests still succeeds when tests
41 with prerequisites are skipped.
42
43 * "git update-server-info" learned not to rewrite the file with the
44 same contents.
45
46 * The way of specifying the path to find dynamic libraries at runtime
47 has been simplified. The old default to pass -R/path/to/dir has been
48 replaced with the new default to pass -Wl,-rpath,/path/to/dir,
49 which is the more recent GCC uses. Those who need to build with an
50 old GCC can still use "CC_LD_DYNPATH=-R"
51
52
53 Fixes since v2.22
54 -----------------
55
56 * A relative pathname given to "git init --template=<path> <repo>"
57 ought to be relative to the directory "git init" gets invoked in,
58 but it instead was made relative to the repository, which has been
59 corrected.
60 (merge e1df7fe43f nd/init-relative-template-fix later to maint).
61
62 * "git worktree add" used to fail when another worktree connected to
63 the same repository was corrupt, which has been corrected.
64 (merge 105df73e71 nd/corrupt-worktrees later to maint).
65
66 * The ownership rule for the file descriptor to fast-import remote
67 backend was mixed up, leading to unrelated file descriptor getting
68 closed, which has been fixed.
69 (merge 3203566a71 mh/import-transport-fd-fix later to maint).
70
71 * A "merge -c" instruction during "git rebase --rebase-merges" should
72 give the user a chance to edit the log message, even when there is
73 otherwise no need to create a new merge and replace the existing
74 one (i.e. fast-forward instead), but did not. Which has been
75 corrected.
76
77 * Other code cleanup, docfix, build fix, etc.