1 Git 2.33.1 Release Notes
2 ========================
4 This primarily is to backport various fixes accumulated during the
5 development towards Git 2.34, the next feature release.
11 * The unicode character width table (used for output alignment) has
14 * Input validation of "git pack-objects --stdin-packs" has been
17 * Bugfix for common ancestor negotiation recently introduced in "git
20 * "git pull" had various corner cases that were not well thought out
21 around its --rebase backend, e.g. "git pull --ff-only" did not stop
22 but went ahead and rebased when the history on other side is not a
23 descendant of our history. The series tries to fix them up.
25 * "git apply" miscounted the bytes and failed to read to the end of
28 * "git range-diff" code clean-up.
30 * "git commit --fixup" now works with "--edit" again, after it was
33 * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
34 new version has a blocker bug for that architecture.
36 * Checking out all the paths from HEAD during the last conflicted
37 step in "git rebase" and continuing would cause the step to be
38 skipped (which is expected), but leaves MERGE_MSG file behind in
39 $GIT_DIR and confuses the next "git commit", which has been
42 * Various bugs in "git rebase -r" have been fixed.
44 * mmap() imitation used to call xmalloc() that dies upon malloc()
45 failure, which has been corrected to just return an error to the
48 * "git diff --relative" segfaulted and/or produced incorrect result
49 when there are unmerged paths.
51 * The delayed checkout code path in "git checkout" etc. were chatty
52 even when --quiet and/or --no-progress options were given.
54 * "git branch -D <branch>" used to refuse to remove a broken branch
55 ref that points at a missing commit, which has been corrected.
57 * Build update for Apple clang.
59 * The parser for the "--nl" option of "git column" has been
62 * "git upload-pack" which runs on the other side of "git fetch"
63 forgot to take the ref namespaces into account when handling
66 * The sparse-index support can corrupt the index structure by storing
67 a stale and/or uninitialized data, which has been corrected.
69 * Buggy tests could damage repositories outside the throw-away test
70 area we created. We now by default export GIT_CEILING_DIRECTORIES
71 to limit the damage from such a stray test.
73 * Even when running "git send-email" without its own threaded
74 discussion support, a threading related header in one message is
75 carried over to the subsequent message to result in an unwanted
76 threading, which has been corrected.
78 * The output from "git fast-export", when its anonymization feature
79 is in use, showed an annotated tag incorrectly.
81 * Recent "diff -m" changes broke "gitk", which has been corrected.
83 * "git maintenance" scheduler fix for macOS.
85 * A pathname in an advice message has been made cut-and-paste ready.
87 * The "git apply -3" code path learned not to bother the lower level
88 merge machinery when the three-way merge can be trivially resolved
89 without the content level merge.
91 * The code that optionally creates the *.rev reverse index file has
92 been optimized to avoid needless computation when it is not writing
95 * "git range-diff -I... <range> <range>" segfaulted, which has been
98 * The order in which various files that make up a single (conceptual)
99 packfile has been reevaluated and straightened up. This matters in
100 correctness, as an incomplete set of files must not be shown to a
103 * The "mode" word is useless in a call to open(2) that does not
104 create a new file. Such a call in the files backend of the ref
105 subsystem has been cleaned up.
107 * "git update-ref --stdin" failed to flush its output as needed,
108 which potentially led the conversation to a deadlock.
110 * When "git am --abort" fails to abort correctly, it still exited
111 with exit status of 0, which has been corrected.
113 * Correct nr and alloc members of strvec struct to be of type size_t.
115 * "git stash", where the tentative change involves changing a
116 directory to a file (or vice versa), was confused, which has been
119 * "git clone" from a repository whose HEAD is unborn into a bare
120 repository didn't follow the branch name the other side used, which
123 * "git cvsserver" had a long-standing bug in its authentication code,
124 which has finally been corrected (it is unclear and is a separate
125 question if anybody is seriously using it, though).
127 * "git difftool --dir-diff" mishandled symbolic links.
129 * Sensitive data in the HTTP trace were supposed to be redacted, but
130 we failed to do so in HTTP/2 requests.
132 * "make clean" has been updated to remove leftover .depend/
133 directories, even when it is not told to use them to compute header
136 * Protocol v0 clients can get stuck parsing a malformed feature line.
138 Also contains various documentation updates and code clean-ups.