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
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
35 * The patterns to detect function boundary for Elixir language has
38 * The completion script (in contrib/) learned that the "--onto"
39 option of "git rebase" can take its argument as the value of the
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
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.
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
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
109 (merge 116d1fa6c6 js/vreportf-wo-buffering later to maint).
111 * HTTP transport had possible allocator/deallocator mismatch, which
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).