|
| 1 | +Git 2.33.1 Release Notes |
| 2 | +======================== |
| 3 | + |
| 4 | +This primarily is to backport various fixes accumulated during the |
| 5 | +development towards Git 2.34, the next feature release. |
| 6 | + |
| 7 | + |
| 8 | +Fixes since v2.33 |
| 9 | +----------------- |
| 10 | + |
| 11 | + * The unicode character width table (used for output alignment) has |
| 12 | + been updated. |
| 13 | + |
| 14 | + * Input validation of "git pack-objects --stdin-packs" has been |
| 15 | + corrected. |
| 16 | + |
| 17 | + * Bugfix for common ancestor negotiation recently introduced in "git |
| 18 | + push" codepath. |
| 19 | + |
| 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. |
| 24 | + |
| 25 | + * "git apply" miscounted the bytes and failed to read to the end of |
| 26 | + binary hunks. |
| 27 | + |
| 28 | + * "git range-diff" code clean-up. |
| 29 | + |
| 30 | + * "git commit --fixup" now works with "--edit" again, after it was |
| 31 | + broken in v2.32. |
| 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. |
| 35 | + |
| 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. |
| 41 | + |
| 42 | + * Various bugs in "git rebase -r" have been fixed. |
| 43 | + |
| 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. |
| 47 | + |
| 48 | + * "git diff --relative" segfaulted and/or produced incorrect result |
| 49 | + when there are unmerged paths. |
| 50 | + |
| 51 | + * The delayed checkout code path in "git checkout" etc. were chatty |
| 52 | + even when --quiet and/or --no-progress options were given. |
| 53 | + |
| 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. |
| 56 | + |
| 57 | + * Build update for Apple clang. |
| 58 | + |
| 59 | + * The parser for the "--nl" option of "git column" has been |
| 60 | + corrected. |
| 61 | + |
| 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. |
| 65 | + |
| 66 | + * The sparse-index support can corrupt the index structure by storing |
| 67 | + a stale and/or uninitialized data, which has been corrected. |
| 68 | + |
| 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. |
| 72 | + |
| 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. |
| 77 | + |
| 78 | + * The output from "git fast-export", when its anonymization feature |
| 79 | + is in use, showed an annotated tag incorrectly. |
| 80 | + |
| 81 | + * Recent "diff -m" changes broke "gitk", which has been corrected. |
| 82 | + |
| 83 | + * "git maintenance" scheduler fix for macOS. |
| 84 | + |
| 85 | + * A pathname in an advice message has been made cut-and-paste ready. |
| 86 | + |
| 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. |
| 90 | + |
| 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. |
| 94 | + |
| 95 | + * "git range-diff -I... <range> <range>" segfaulted, which has been |
| 96 | + corrected. |
| 97 | + |
| 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. |
| 102 | + |
| 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. |
| 106 | + |
| 107 | + * "git update-ref --stdin" failed to flush its output as needed, |
| 108 | + which potentially led the conversation to a deadlock. |
| 109 | + |
| 110 | + * When "git am --abort" fails to abort correctly, it still exited |
| 111 | + with exit status of 0, which has been corrected. |
| 112 | + |
| 113 | + * Correct nr and alloc members of strvec struct to be of type size_t. |
| 114 | + |
| 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. |
| 118 | + |
| 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. |
| 122 | + |
| 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). |
| 126 | + |
| 127 | + * "git difftool --dir-diff" mishandled symbolic links. |
| 128 | + |
| 129 | + * Sensitive data in the HTTP trace were supposed to be redacted, but |
| 130 | + we failed to do so in HTTP/2 requests. |
| 131 | + |
| 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. |
| 135 | + |
| 136 | + * Protocol v0 clients can get stuck parsing a malformed feature line. |
| 137 | + |
| 138 | +Also contains various documentation updates and code clean-ups. |
0 commit comments