| 1 | Git 2.43.1 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | There is nothing exciting to see here. Relative to Git 2.43, this |
| 5 | release contains the fixes that have already been merged to the |
| 6 | 'master' branch of the development towards the next major release. |
| 7 | |
| 8 | Fixes since Git 2.43.0 |
| 9 | ---------------------- |
| 10 | |
| 11 | * The way CI testing used "prove" could lead to running the test |
| 12 | suite twice needlessly, which has been corrected. |
| 13 | |
| 14 | * Newer versions of Getopt::Long started giving warnings against our |
| 15 | (ab)use of it in "git send-email". Bump the minimum version |
| 16 | requirement for Perl to 5.8.1 (from September 2002) to allow |
| 17 | simplifying our implementation. |
| 18 | |
| 19 | * Earlier we stopped relying on commit-graph that (still) records |
| 20 | information about commits that are lost from the object store, |
| 21 | which has negative performance implications. The default has been |
| 22 | flipped to disable this pessimization. |
| 23 | |
| 24 | * Stale URLs have been updated to their current counterparts (or |
| 25 | archive.org) and HTTP links are replaced with working HTTPS links. |
| 26 | |
| 27 | * trace2 streams used to record the URLs that potentially embed |
| 28 | authentication material, which has been corrected. |
| 29 | |
| 30 | * The sample pre-commit hook that tries to catch introduction of new |
| 31 | paths that use potentially non-portable characters did not notice |
| 32 | an existing path getting renamed to such a problematic path, when |
| 33 | rename detection was enabled. |
| 34 | |
| 35 | * The command line parser for the "log" family of commands was too |
| 36 | loose when parsing certain numbers, e.g., silently ignoring the |
| 37 | extra 'q' in "git log -n 1q" without complaining, which has been |
| 38 | tightened up. |
| 39 | |
| 40 | * "git $cmd --end-of-options --rev -- --path" for some $cmd failed |
| 41 | to interpret "--rev" as a rev, and "--path" as a path. This was |
| 42 | fixed for many programs like "reset" and "checkout". |
| 43 | |
| 44 | * "git bisect reset" has been taught to clean up state files and refs |
| 45 | even when BISECT_START file is gone. |
| 46 | |
| 47 | * Some codepaths did not correctly parse configuration variables |
| 48 | specified with valueless "true", which has been corrected. |
| 49 | |
| 50 | * Code clean-up for sanity checking of command line options for "git |
| 51 | show-ref". |
| 52 | |
| 53 | * The code to parse the From e-mail header has been updated to avoid |
| 54 | recursion. |
| 55 | |
| 56 | * "git fetch --atomic" issued an unnecessary empty error message, |
| 57 | which has been corrected. |
| 58 | |
| 59 | * Command line completion script (in contrib/) learned to work better |
| 60 | with the reftable backend. |
| 61 | |
| 62 | * "git status" is taught to show both the branch being bisected and |
| 63 | being rebased when both are in effect at the same time. |
| 64 | cf. <xmqqil76kyov.fsf@gitster.g> |
| 65 | |
| 66 | * "git archive --list extra garbage" silently ignored excess command |
| 67 | line parameters, which has been corrected. |
| 68 | |
| 69 | * "git sparse-checkout set" added default patterns even when the |
| 70 | patterns are being fed from the standard input, which has been |
| 71 | corrected. |
| 72 | |
| 73 | * Unlike other environment variables that took the usual |
| 74 | true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1, |
| 75 | which has been corrected. |
| 76 | |
| 77 | * Clearing in-core repository (happens during e.g., "git fetch |
| 78 | --recurse-submodules" with commit graph enabled) made in-core |
| 79 | commit object in an inconsistent state by discarding the necessary |
| 80 | data from commit-graph too early, which has been corrected. |
| 81 | |
| 82 | Also contains various documentation updates, code clean-ups and minor fixups. |