Merge branch 'ep/guard-kset-tar-headers'
[alt-git.git] / Documentation / RelNotes / 2.25.0.txt
blobe4bb07ac25be44741f63f80f566e59dd6b68dee7
1 Git 2.25 Release Notes
2 ======================
4 Updates since v2.24
5 -------------------
7 Backward compatibility notes
10 UI, Workflows & Features
12  * A tutorial on object enumeration has been added.
14  * The branch description ("git branch --edit-description") has been
15    used to fill the body of the cover letters by the format-patch
16    command; this has been enhanced so that the subject can also be
17    filled.
19  * "git rebase --preserve-merges" has been marked as deprecated; this
20    release stops advertising it in the "git rebase -h" output.
22  * The code to generate multi-pack index learned to show (or not to
23    show) progress indicators.
25  * "git apply --3way" learned to honor merge.conflictStyle
26    configuration variable, like merges would.
28  * The custom format for "git log --format=<format>" learned the l/L
29    placeholder that is similar to e/E that fills in the e-mail
30    address, but only the local part on the left side of '@'.
32  * Documentation pages for "git shortlog" now list commit limiting
33    options explicitly.
35  * The patterns to detect function boundary for Elixir language has
36    been added.
38  * The completion script (in contrib/) learned that the "--onto"
39    option of "git rebase" can take its argument as the value of the
40    option.
43 Performance, Internal Implementation, Development Support etc.
45  * Debugging support for lazy cloning has been a bit improved.
47  * Move the definition of a set of bitmask constants from 0ctal
48    literal to (1U<<count) notation.
50  * Test updates to prepare for SHA-2 transition continues.
52  * Crufty code and logic accumulated over time around the object
53    parsing and low-level object access used in "git fsck" have been
54    cleaned up.
56  * The implementation of "git log --graph" got refactored and then its
57    output got simplified.
59  * Follow recent push to move API docs from Documentation/ to header
60    files and update config.h
62  * "git bundle" has been taught to use the parse options API.  "git
63    bundle verify" learned "--quiet" and "git bundle create" learned
64    options to control the progress output.
66  * Handling of commit objects that use non UTF-8 encoding during
67    "rebase -i" has been improved.
70 Fixes since v2.24
71 -----------------
73  * "rebase -i" ceased to run post-commit hook by mistake in an earlier
74    update, which has been corrected.
76  * "git notes copy $original" ought to copy the notes attached to the
77    original object to HEAD, but a mistaken tightening to command line
78    parameter validation made earlier disabled that feature by mistake.
80  * When all files from some subdirectory were renamed to the root
81    directory, the directory rename heuristics would fail to detect that
82    as a rename/merge of the subdirectory to the root directory, which has
83    been corrected.
85  * Code clean-up and a bugfix in the logic used to tell worktree local
86    and repository global refs apart.
87    (merge f45f88b2e4 sg/dir-trie-fixes later to maint).
89  * "git stash save" in a working tree that is sparsely checked out
90    mistakenly removed paths that are outside the area of interest.
91    (merge 4a58c3d7f7 js/update-index-ignore-removal-for-skip-worktree later to maint).
93  * "git rev-parse --git-path HEAD.lock" did not give the right path
94    when run in a secondary worktree.
95    (merge 76a53d640f js/git-path-head-dot-lock-fix later to maint).
97  * "git merge --no-commit" needs "--no-ff" if you do not want to move
98    HEAD, which has been corrected in the manual page for "git bisect".
99    (merge 8dd327b246 ma/bisect-doc-sample-update later to maint).
101  * "git worktree add" internally calls "reset --hard" that should not
102    descend into submodules, even when submodule.recurse configuration
103    is set, but it was affected.  This has been corrected.
104    (merge 4782cf2ab6 pb/no-recursive-reset-hard-in-worktree-add later to maint).
106  * Messages from die() etc. can be mixed up from multiple processes
107    without even line buffering on Windows, which has been worked
108    around.
109    (merge 116d1fa6c6 js/vreportf-wo-buffering later to maint).
111  * HTTP transport had possible allocator/deallocator mismatch, which
112    has been corrected.
114  * The watchman integration for fsmonitor was racy, which has been
115    corrected to be more conservative.
116    (merge dd0b61f577 kw/fsmonitor-watchman-fix later to maint).
118  * Fetching from multiple remotes into the same repository in parallel
119    had a bad interaction with the recent change to (optionally) update
120    the commit-graph after a fetch job finishes, as these parallel
121    fetches compete with each other.  Which has been corrected.
123  * Recent update to "git stash pop" made the command empty the index
124    when run with the "--quiet" option, which has been corrected.
126  * "git fetch" codepath had a big "do not lazily fetch missing objects
127    when I ask if something exists" switch.  This has been corrected by
128    marking the "does this thing exist?" calls with "if not please do not
129    lazily fetch it" flag.
131  * Test update to avoid wasted cycles.
132    (merge e0316695ec sg/skip-skipped-prereq later to maint).
134  * Error handling after "git push" finishes sending the packdata and
135    waits for the response to the remote side has been improved.
136    (merge ad7a403268 jk/send-pack-remote-failure later to maint).
138  * Some codepaths in "gitweb" that forgot to escape URLs generated
139    based on end-user input have been corrected.
140    (merge a376e37b2c jk/gitweb-anti-xss later to maint).
142  * Other code cleanup, docfix, build fix, etc.
143    (merge 80736d7c5e jc/am-show-current-patch-docfix later to maint).
144    (merge 8b656572ca sg/commit-graph-usage-fix later to maint).
145    (merge 6c02042139 mr/clone-dir-exists-to-path-exists later to maint).
146    (merge 44ae131e38 sg/blame-indent-heuristics-is-now-the-default later to maint).
147    (merge 0115e5d929 dl/doc-diff-no-index-implies-exit-code later to maint).
148    (merge 270de6acbe en/t6024-style later to maint).
149    (merge 14c4776d75 ns/test-desc-typofix later to maint).
150    (merge 68d40f30c4 dj/typofix-merge-strat later to maint).
151    (merge f66e0401ab jk/optim-in-pack-idx-conversion later to maint).
152    (merge 169bed7421 rs/parse-options-dup-null-fix later to maint).
153    (merge 51bd6be32d rs/use-copy-array-in-mingw-shell-command-preparation later to maint).
154    (merge b018719927 ma/t7004 later to maint).
155    (merge 932757b0cc ar/install-doc-update-cmds-needing-the-shell later to maint).