doc: git-ls-files: express options as optional alternatives
[git.git] / Documentation / RelNotes / 2.33.1.txt
blobb71738e654967ccfbbd50c15ec4287214da273cc
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.
8 Fixes since v2.33
9 -----------------
11  * The unicode character width table (used for output alignment) has
12    been updated.
14  * Input validation of "git pack-objects --stdin-packs" has been
15    corrected.
17  * Bugfix for common ancestor negotiation recently introduced in "git
18    push" codepath.
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
26    binary hunks.
28  * "git range-diff" code clean-up.
30  * "git commit --fixup" now works with "--edit" again, after it was
31    broken in v2.32.
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
40    corrected.
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
46    caller to be handled.
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
60    corrected.
62  * "git upload-pack" which runs on the other side of "git fetch"
63    forgot to take the ref namespaces into account when handling
64    want-ref requests.
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
93    the file out.
95  * "git range-diff -I... <range> <range>" segfaulted, which has been
96    corrected.
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
101    running Git.
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
117    corrected.
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
121    is corrected.
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
134    dependencies.
136  * Protocol v0 clients can get stuck parsing a malformed feature line.
138 Also contains various documentation updates and code clean-ups.