Merge branch 'rs/checkout-am-fix-unborn'
[alt-git.git] / Documentation / RelNotes / 2.14.0.txt
blobbf5ed747750dd4c7c9493f3a084fc1b4264aa96a
1 Git 2.14 Release Notes
2 ======================
4 Backward compatibility notes.
6  * Use of an empty string as a pathspec element that is used for
7    'everything matches' is still warned and Git asks users to use a
8    more explicit '.' for that instead.  The hope is that existing
9    users will not mind this change, and eventually the warning can be
10    turned into a hard error, upgrading the deprecation into removal of
11    this (mis)feature.  That is not scheduled to happen in the upcoming
12    release (yet).
14  * Git now avoids blindly falling back to ".git" when the setup
15    sequence said we are _not_ in Git repository.  A corner case that
16    happens to work right now may be broken by a call to die("BUG").
17    We've tried hard to locate such cases and fixed them, but there
18    might still be cases that need to be addressed--bug reports are
19    greatly appreciated.
22 Updates since v2.13
23 -------------------
25 UI, Workflows & Features
27  * The colors in which "git status --short --branch" showed the names
28    of the current branch and its remote-tracking branch are now
29    configurable.
31  * "git clone" learned the "--no-tags" option not to fetch all tags
32    initially, and also set up the tagopt not to follow any tags in
33    subsequent fetches.
35  * "git archive --format=zip" learned to use zip64 extension when
36    necessary to go beyond the 4GB limit.
37    (merge 867e40ff3a rs/large-zip later to maint).
40 Performance, Internal Implementation, Development Support etc.
42  * The default packed-git limit value has been raised on larger
43    platforms to save "git fetch" from a (recoverable) failure while
44    "gc" is running in parallel.
46  * Code to update the cache-tree has been tightened so that we won't
47    accidentally write out any 0{40} entry in the tree object.
48    (merge a96d3cc3f6 jk/no-null-sha1-in-cache-tree later to maint).
50  * Attempt to allow us notice "fishy" situation where we fail to
51    remove the temporary directory used during the test.
53  * Travis CI gained a task to format the documentation with both
54    AsciiDoc and AsciiDoctor.
55    (merge 505ad91304 ls/travis-doc-asciidoctor later to maint).
57  * Some platforms have ulong that is smaller than time_t, and our
58    historical use of ulong for timestamp would mean they cannot
59    represent some timestamp that the platform allows.  Invent a
60    separate and dedicated timestamp_t (so that we can distingiuish
61    timestamps and a vanilla ulongs, which along is already a good
62    move), and then declare uintmax_t is the type to be used as the
63    timestamp_t.
66 Also contains various documentation updates and code clean-ups.
69 Fixes since v2.13
70 -----------------
72 Unless otherwise noted, all the fixes since v2.13 in the maintenance
73 track are contained in this release (see the maintenance releases'
74 notes for details).
76  * "git gc" did not interact well with "git worktree"-managed
77    per-worktree refs.
79  * "git cherry-pick" and other uses of the sequencer machinery
80    mishandled a trailer block whose last line is an incomplete line.
81    This has been fixed so that an additional sign-off etc. are added
82    after completing the existing incomplete line.
83    (merge 44dc738a39 jt/use-trailer-api-in-commands later to maint).
85  * The codepath in "git am" that is used when running "git rebase"
86    leaked memory held for the log message of the commits being rebased.
87    (merge 721f5f1e35 jk/am-leakfix later to maint).
89  * "git clone --config var=val" is a way to populate the
90    per-repository configuration file of the new repository, but it did
91    not work well when val is an empty string.  This has been fixed.
92    (merge db4eca1fea jn/clone-add-empty-config-from-command-line later to maint).
94  * Other minor doc, test and build updates and code cleanups.
95    (merge 515360f9e9 jn/credential-doc-on-clear later to maint).
96    (merge 0e6d899fee ab/aix-needs-compat-regex later to maint).
97    (merge e294e8959f jc/apply-fix-mismerge later to maint).