Merge branch 'mm/readme-markdown'
[git] / Documentation / RelNotes / 2.5.2.txt
1 Git v2.5.2 Release Notes
2 ========================
3
4 Fixes since v2.5.1
5 ------------------
6
7  * "git init empty && git -C empty log" said "bad default revision 'HEAD'",
8    which was found to be a bit confusing to new users.
9
10  * The "interpret-trailers" helper mistook a multi-paragraph title of
11    a commit log message with a colon in it as the end of the trailer
12    block.
13
14  * When re-priming the cache-tree opportunistically while committing
15    the in-core index as-is, we mistakenly invalidated the in-core
16    index too aggressively, causing the experimental split-index code
17    to unnecessarily rewrite the on-disk index file(s).
18
19  * "git archive" did not use zip64 extension when creating an archive
20    with more than 64k entries, which nobody should need, right ;-)?
21
22  * The code in "multiple-worktree" support that attempted to recover
23    from an inconsistent state updated an incorrect file.
24
25  * "git rev-list" does not take "--notes" option, but did not complain
26    when one is given.
27
28  * Because the configuration system does not allow "alias.0foo" and
29    "pager.0foo" as the configuration key, the user cannot use '0foo'
30    as a custom command name anyway, but "git 0foo" tried to look these
31    keys up and emitted useless warnings before saying '0foo is not a
32    git command'.  These warning messages have been squelched.
33
34  * We recently rewrote one of the build scripts in Perl, which made it
35    necessary to have Perl to build Git.  Reduced Perl dependency by
36    rewriting it again using sed.
37
38  * t1509 test that requires a dedicated VM environment had some
39    bitrot, which has been corrected.
40
41  * strbuf_read() used to have one extra iteration (and an unnecessary
42    strbuf_grow() of 8kB), which was eliminated.
43
44  * The codepath to produce error messages had a hard-coded limit to
45    the size of the message, primarily to avoid memory allocation while
46    calling die().
47
48  * When trying to see that an object does not exist, a state errno
49    leaked from our "first try to open a packfile with O_NOATIME and
50    then if it fails retry without it" logic on a system that refuses
51    O_NOATIME.  This confused us and caused us to die, saying that the
52    packfile is unreadable, when we should have just reported that the
53    object does not exist in that packfile to the caller.
54
55  * An off-by-one error made "git remote" to mishandle a remote with a
56    single letter nickname.
57
58  * A handful of codepaths that used to use fixed-sized arrays to hold
59    pathnames have been corrected to use strbuf and other mechanisms to
60    allow longer pathnames without fearing overflows.
61
62 Also contains typofixes, documentation updates and trivial code
63 clean-ups.