Merge branch 'rs/clarify-error-in-write-loose-object'
[alt-git.git] / Documentation / RelNotes / 2.40.0.txt
blob73a7cdb0bcc367242740264eb7f50096376056b7
1 Git v2.40 Release Notes
2 =======================
4 UI, Workflows & Features
6  * "merge-tree" learns a new `--merge-base` option.
8  * "git jump" (in contrib/) learned to present the "quickfix list" to
9    its standard output (instead of letting it consumed by the editor
10    it invokes), and learned to also drive emacs/emacsclient.
12  * "git var UNKNOWN_VARIABLE" and "git var VARIABLE" with the variable
13    given an empty value used to behave identically.  Now the latter
14    just gives an empty output, while the former still gives an error
15    message.
17  * Introduce a case insensitive mode to the Bash completion helpers.
19  * The advice message given by "git status" when it takes long time to
20    enumerate untracked paths has been updated.
23 Performance, Internal Implementation, Development Support etc.
25  * `git bisect` becomes a builtin.
27  * The pack-bitmap machinery is taught to log the paths of redundant
28    bitmap(s) to trace2 instead of stderr.
32 Fixes since v2.39
33 -----------------
35  * Various leak fixes.
36    (merge ac95f5d36a ab/various-leak-fixes later to maint).
38  * Fix a bug where `pack-objects` would not respect multiple `--filter`
39    arguments when invoked directly.
40    (merge d4f7036887 rs/multi-filter-args later to maint).
42  * Make fsmonitor more robust to avoid the flakiness seen in t7527.
43    (merge 6692d45477 jh/t7527-unflake-by-forcing-cookie later to maint).
45  * Stop using deprecated macOS API in fsmonitor.
46    (merge b0226007f0 jh/fsmonitor-darwin-modernize later to maint).
48  * Redefining system functions for a few functions did not follow our
49    usual "implement git_foo() and #define foo(args) git_foo(args)"
50    pattern, which has broken build for some folks.
51    (merge e1a95b78d8 jk/avoid-redef-system-functions-2.30 later to maint).
52    (merge 395bec6b39 jk/avoid-redef-system-functions later to maint).
54  * The way the diff machinery prepares the options array for the
55    parse_options API has been refactored to avoid resource leaks.
56    (merge 189e97bc4b rs/diff-parseopts later to maint).
58  * Correct pthread API usage.
59    (merge 786e67611d sx/pthread-error-check-fix later to maint).
61  * Other code cleanup, docfix, build fix, etc.
62    (merge 77e04b2ed4 rs/t4205-do-not-exit-in-test-script later to maint).
63    (merge faebba436e rs/plug-pattern-list-leak-in-lof later to maint).
64    (merge 243caa8982 ab/t5314-avoid-losing-exit-status later to maint).
65    (merge 4d81ce1b99 ab/t7600-avoid-losing-exit-status-of-git later to maint).
66    (merge 5f3bfdc4f3 ab/t4023-avoid-losing-exit-status-of-diff later to maint).
67    (merge 500317ae03 js/t3920-shell-and-or-fix later to maint).
68    (merge 86325d36e6 rs/t3920-crlf-eating-grep-fix later to maint).
69    (merge cfbd173ccb rj/branch-copy-and-rename later to maint).