| 1 | Git v2.39.3 Release Notes |
| 2 | ========================= |
| 3 | |
| 4 | This release merges up the fix that appears in v2.30.9, v2.31.8, |
| 5 | v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7 and v2.38.5 to |
| 6 | address the security issues CVE-2023-25652, CVE-2023-25815, and |
| 7 | CVE-2023-29007; see the release notes for these versions for |
| 8 | details. |
| 9 | |
| 10 | This release also merges fixes that have accumulated on the 'master' |
| 11 | front to prepare for the 2.40 release that are still relevant to |
| 12 | 2.39.x maintenance track. |
| 13 | |
| 14 | Fixes since v2.39.2 |
| 15 | ------------------- |
| 16 | |
| 17 | * Stop running win+VS build by default. |
| 18 | |
| 19 | * CI updates. We probably want a clean-up to move the long shell |
| 20 | script embedded in yaml file into a separate file, but that can |
| 21 | come later. |
| 22 | |
| 23 | * Avoid unnecessary builds in CI, with settings configured in |
| 24 | ci-config. |
| 25 | |
| 26 | * Redefining system functions for a few functions did not follow our |
| 27 | usual "implement git_foo() and #define foo(args) git_foo(args)" |
| 28 | pattern, which has broken build for some folks. |
| 29 | |
| 30 | * Deal with a few deprecation warning from cURL library. |
| 31 | |
| 32 | * Newer regex library macOS stopped enabling GNU-like enhanced BRE, |
| 33 | where '\(A\|B\)' works as alternation, unless explicitly asked with |
| 34 | the REG_ENHANCED flag. "git grep" now can be compiled to do so, to |
| 35 | retain the old behaviour. |
| 36 | |
| 37 | * When given a pattern that matches an empty string at the end of a |
| 38 | line, the code to parse the "git diff" line-ranges fell into an |
| 39 | infinite loop, which has been corrected. |
| 40 | |
| 41 | * Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to |
| 42 | flush its output to the disk.. |
| 43 | |
| 44 | * "git diff --relative" did not mix well with "git diff --ext-diff", |
| 45 | which has been corrected. |
| 46 | |
| 47 | * The logic to see if we are using the "cone" mode by checking the |
| 48 | sparsity patterns has been tightened to avoid mistaking a pattern |
| 49 | that names a single file as specifying a cone. |
| 50 | |
| 51 | * Doc update for environment variables set when hooks are invoked. |
| 52 | |
| 53 | * Document ORIG_HEAD a bit more. |
| 54 | |
| 55 | * "git ls-tree --format='%(path) %(path)' $tree $path" showed the |
| 56 | path three times, which has been corrected. |
| 57 | |
| 58 | * Document that "branch -f <branch>" disables only the safety to |
| 59 | avoid recreating an existing branch. |
| 60 | |
| 61 | * Clarify how "checkout -b/-B" and "git branch [-f]" are similar but |
| 62 | different in the documentation. |
| 63 | |
| 64 | Also contains minor documentation updates and code clean-ups. |