1 Git v2.39.3 Release Notes
2 =========================
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
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.
17 * Stop running win+VS build by default.
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
23 * Avoid unnecessary builds in CI, with settings configured in
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.
30 * Deal with a few deprecation warning from cURL library.
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.
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.
41 * Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
42 flush its output to the disk..
44 * "git diff --relative" did not mix well with "git diff --ext-diff",
45 which has been corrected.
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.
51 * Doc update for environment variables set when hooks are invoked.
53 * Document ORIG_HEAD a bit more.
55 * "git ls-tree --format='%(path) %(path)' $tree $path" showed the
56 path three times, which has been corrected.
58 * Document that "branch -f <branch>" disables only the safety to
59 avoid recreating an existing branch.
61 * Clarify how "checkout -b/-B" and "git branch [-f]" are similar but
62 different in the documentation.
64 Also contains minor documentation updates and code clean-ups.