Merge branch 'jk/http-walker-limit-redirect-2.9'
[git.git] / Documentation / RelNotes / 2.12.0.txt
blob01db423a92c0a559efead5f39124ceab4d6a1447
1 Git 2.12 Release Notes
2 ======================
4 Backward compatibility notes.
6  * Use of an empty string that is used for 'everything matches' is
7    still warned and Git asks users to use a more explicit '.' for that
8    instead.  The hope is that existing users will not mind this
9    change, and eventually the warning can be turned into a hard error,
10    upgrading the deprecation into removal of this (mis)feature.  That
11    is not scheduled to happen in the upcoming release (yet).
13  * The historical argument order "git merge <msg> HEAD <commit>..."
14    has been deprecated for quite some time, and will be removed in the
15    upcoming release.
18 Updates since v2.11
19 -------------------
21 UI, Workflows & Features
23  * Various updates to "git p4".
26 Performance, Internal Implementation, Development Support etc.
28  *
31 Also contains various documentation updates and code clean-ups.
33  *
36 Fixes since v2.10
37 -----------------
39 Unless otherwise noted, all the fixes since v2.9 in the maintenance
40 track are contained in this release (see the maintenance releases'
41 notes for details).
43  * We often decide if a session is interactive by checking if the
44    standard I/O streams are connected to a TTY, but isatty() that
45    comes with Windows incorrectly returned true if it is used on NUL
46    (i.e. an equivalent to /dev/null).  This has been fixed.
47    (merge cbb3f3c9b1 js/mingw-isatty later to maint).
49  * "git svn" did not work well with path components that are "0", and
50    some configuration variable it uses were not documented.
51    (merge ea9a93dcc2 ew/svn-fixes later to maint).
53  * "git rev-parse --symbolic" failed with a more recent notation like
54    "HEAD^-1" and "HEAD^!".
55    (merge a2e7b04c44 jk/rev-parse-symbolic-parents-fix later to maint).
57  * An empty directory in a working tree that can simply be nuked used
58    to interfere while merging or cherry-picking a change to create a
59    submodule directory there, which has been fixed..
60    (merge 5423d2e700 dt/empty-submodule-in-merge later to maint).
62  * The code in "git push" to compute if any commit being pushed in the
63    superproject binds a commit in a submodule that hasn't been pushed
64    out was overly inefficient, making it unusable even for a small
65    project that does not have any submodule but have a reasonable
66    number of refs.
67    (merge 250ab24ab3 hv/submodule-not-yet-pushed-fix later to maint).
69  * "git push --dry-run --recurse-submodule=on-demand" wasn't
70    "--dry-run" in the submodules.
71    (merge 0301c821c5 bw/push-dry-run later to maint).
73  * The output from "git worktree list" was made in readdir() order,
74    and was unstable.
75    (merge 4df1d4d466 nd/worktree-list-fixup later to maint).
77  * mergetool.<tool>.trustExitCode configuration variable did not apply
78    to built-in tools, but now it does.
79    (merge 2967284456 da/mergetool-trust-exit-code later to maint).
81  * "git p4" LFS support was broken when LFS stores an empty blob.
82    (merge d5eb3cf5e7 ls/p4-empty-file-on-lfs later to maint).
84  * Other minor doc, test and build updates and code cleanups.
85    (merge fa6ca11105 nd/qsort-in-merge-recursive later to maint).
86    (merge fa3142c919 ak/lazy-prereq-mktemp later to maint).