diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/2.10.5.txt | 17 | ||||
-rw-r--r-- | Documentation/RelNotes/2.11.4.txt | 17 | ||||
-rw-r--r-- | Documentation/RelNotes/2.12.5.txt | 17 | ||||
-rw-r--r-- | Documentation/RelNotes/2.13.6.txt | 17 | ||||
-rw-r--r-- | Documentation/RelNotes/2.14.2.txt | 70 | ||||
-rw-r--r-- | Documentation/RelNotes/2.15.0.txt | 229 |
6 files changed, 327 insertions, 40 deletions
diff --git a/Documentation/RelNotes/2.10.5.txt b/Documentation/RelNotes/2.10.5.txt new file mode 100644 index 0000000000..a498fd6fdc --- /dev/null +++ b/Documentation/RelNotes/2.10.5.txt @@ -0,0 +1,17 @@ +Git v2.10.5 Release Notes +========================= + +Fixes since v2.10.4 +------------------- + + * "git cvsserver" no longer is invoked by "git daemon" by default, + as it is old and largely unmaintained. + + * Various Perl scripts did not use safe_pipe_capture() instead of + backticks, leaving them susceptible to end-user input. They have + been corrected. + +Credits go to joernchen <joernchen@phenoelit.de> for finding the +unsafe constructs in "git cvsserver", and to Jeff King at GitHub for +finding and fixing instances of the same issue in other scripts. + diff --git a/Documentation/RelNotes/2.11.4.txt b/Documentation/RelNotes/2.11.4.txt new file mode 100644 index 0000000000..ad4da8eb09 --- /dev/null +++ b/Documentation/RelNotes/2.11.4.txt @@ -0,0 +1,17 @@ +Git v2.11.4 Release Notes +========================= + +Fixes since v2.11.3 +------------------- + + * "git cvsserver" no longer is invoked by "git daemon" by default, + as it is old and largely unmaintained. + + * Various Perl scripts did not use safe_pipe_capture() instead of + backticks, leaving them susceptible to end-user input. They have + been corrected. + +Credits go to joernchen <joernchen@phenoelit.de> for finding the +unsafe constructs in "git cvsserver", and to Jeff King at GitHub for +finding and fixing instances of the same issue in other scripts. + diff --git a/Documentation/RelNotes/2.12.5.txt b/Documentation/RelNotes/2.12.5.txt new file mode 100644 index 0000000000..8fa73cfce7 --- /dev/null +++ b/Documentation/RelNotes/2.12.5.txt @@ -0,0 +1,17 @@ +Git v2.12.5 Release Notes +========================= + +Fixes since v2.12.4 +------------------- + + * "git cvsserver" no longer is invoked by "git daemon" by default, + as it is old and largely unmaintained. + + * Various Perl scripts did not use safe_pipe_capture() instead of + backticks, leaving them susceptible to end-user input. They have + been corrected. + +Credits go to joernchen <joernchen@phenoelit.de> for finding the +unsafe constructs in "git cvsserver", and to Jeff King at GitHub for +finding and fixing instances of the same issue in other scripts. + diff --git a/Documentation/RelNotes/2.13.6.txt b/Documentation/RelNotes/2.13.6.txt new file mode 100644 index 0000000000..afcae9c808 --- /dev/null +++ b/Documentation/RelNotes/2.13.6.txt @@ -0,0 +1,17 @@ +Git v2.13.6 Release Notes +========================= + +Fixes since v2.13.5 +------------------- + + * "git cvsserver" no longer is invoked by "git daemon" by default, + as it is old and largely unmaintained. + + * Various Perl scripts did not use safe_pipe_capture() instead of + backticks, leaving them susceptible to end-user input. They have + been corrected. + +Credits go to joernchen <joernchen@phenoelit.de> for finding the +unsafe constructs in "git cvsserver", and to Jeff King at GitHub for +finding and fixing instances of the same issue in other scripts. + diff --git a/Documentation/RelNotes/2.14.2.txt b/Documentation/RelNotes/2.14.2.txt index 5517afcf59..bec9186ade 100644 --- a/Documentation/RelNotes/2.14.2.txt +++ b/Documentation/RelNotes/2.14.2.txt @@ -32,4 +32,74 @@ Fixes since v2.14.1 daemon is torn down were flaky. This was fixed by reacting to ECONNRESET and behaving as if we got an EOF. + * Some versions of GnuPG fail to kill gpg-agent it auto-spawned + and such a left-over agent can interfere with a test. Work it + around by attempting to kill one before starting a new test. + + * "git log --tag=no-such-tag" showed log starting from HEAD, which + has been fixed---it now shows nothing. + + * The "tag.pager" configuration variable was useless for those who + actually create tag objects, as it interfered with the use of an + editor. A new mechanism has been introduced for commands to enable + pager depending on what operation is being carried out to fix this, + and then "git tag -l" is made to run pager by default. + + * "git push --recurse-submodules $there HEAD:$target" was not + propagated down to the submodules, but now it is. + + * Commands like "git rebase" accepted the --rerere-autoupdate option + from the command line, but did not always use it. This has been + fixed. + + * "git clone --recurse-submodules --quiet" did not pass the quiet + option down to submodules. + + * "git am -s" has been taught that some input may end with a trailer + block that is not Signed-off-by: and it should refrain from adding + an extra blank line before adding a new sign-off in such a case. + + * "git svn" used with "--localtime" option did not compute the tz + offset for the timestamp in question and instead always used the + current time, which has been corrected. + + * Memory leaks in a few error codepaths have been plugged. + + * bash 4.4 or newer gave a warning on NUL byte in command + substitution done in "git stash"; this has been squelched. + + * "git grep -L" and "git grep --quiet -L" reported different exit + codes; this has been corrected. + + * When handshake with a subprocess filter notices that the process + asked for an unknown capability, Git did not report what program + the offending subprocess was running. This has been corrected. + + * "git apply" that is used as a better "patch -p1" failed to apply a + taken from a file with CRLF line endings to a file with CRLF line + endings. The root cause was because it misused convert_to_git() + that tried to do "safe-crlf" processing by looking at the index + entry at the same path, which is a nonsense---in that mode, "apply" + is not working on the data in (or derived from) the index at all. + This has been fixed. + + * Killing "git merge --edit" before the editor returns control left + the repository in a state with MERGE_MSG but without MERGE_HEAD, + which incorrectly tells the subsequent "git commit" that there was + a squash merge in progress. This has been fixed. + + * "git archive" did not work well with pathspecs and the + export-ignore attribute. + + * "git cvsserver" no longer is invoked by "git daemon" by default, + as it is old and largely unmaintained. + + * Various Perl scripts did not use safe_pipe_capture() instead of + backticks, leaving them susceptible to end-user input. They have + been corrected. + Also contains various documentation updates and code clean-ups. + +Credits go to joernchen <joernchen@phenoelit.de> for finding the +unsafe constructs in "git cvsserver", and to Jeff King at GitHub for +finding and fixing instances of the same issue in other scripts. diff --git a/Documentation/RelNotes/2.15.0.txt b/Documentation/RelNotes/2.15.0.txt index 4b3fd229e9..6e432bf719 100644 --- a/Documentation/RelNotes/2.15.0.txt +++ b/Documentation/RelNotes/2.15.0.txt @@ -77,6 +77,13 @@ UI, Workflows & Features * "branch --set-upstream" that has been deprecated in Git 1.8 has finally been retired. + * The codepath to call external process filter for smudge/clean + operation learned to show the progress meter. + + * "git rev-parse" learned "--is-shallow-repository", that is to be + used in a way similar to existing "--is-bare-repository" and + friends. + Performance, Internal Implementation, Development Support etc. @@ -133,6 +140,62 @@ Performance, Internal Implementation, Development Support etc. piece of memory while writing each index entry out. This has been optimized. + * Platforms that ship with a separate sha1 with collision detection + library can link to it instead of using the copy we ship as part of + our source tree. + + * Code around "notes" have been cleaned up. + (merge 3964281524 mh/notes-cleanup later to maint). + + * The long-standing rule that an in-core lockfile instance, once it + is used, must not be freed, has been lifted and the lockfile and + tempfile APIs have been updated to reduce the chance of programming + errors. + + * Our hashmap implementation in hashmap.[ch] is not thread-safe when + adding a new item needs to expand the hashtable by rehashing; add + an API to disable the automatic rehashing to work it around. + + * Many of our programs consider that it is OK to release dynamic + storage that is used throughout the life of the program by simply + exiting, but this makes it harder to leak detection tools to avoid + reporting false positives. Plug many existing leaks and introduce + a mechanism for developers to mark that the region of memory + pointed by a pointer is not lost/leaking to help these tools. + + * As "git commit" to conclude a conflicted "git merge" honors the + commit-msg hook, "git merge" that records a merge commit that + cleanly auto-merges should, but it didn't. + + * The codepath for "git merge-recursive" has been cleaned up. + + * Many leaks of strbuf have been fixed. + + * "git imap-send" has our own implementation of the protocol and also + can use more recent libCurl with the imap protocol support. Update + the latter so that it can use the credential subsystem, and then + make it the default option to use, so that we can eventually + deprecate and remove the former. + + * "make style" runs git-clang-format to help developers by pointing + out coding style issues. + + * A test to demonstrate "git mv" failing to adjust nested submodules + has been added. + (merge c514167df2 hv/mv-nested-submodules-test later to maint). + + * On Cygwin, "ulimit -s" does not report failure but it does not work + at all, which causes an unexpected success of some tests that + expect failures under a limited stack situation. This has been + fixed. + + * Many codepaths have been updated to squelch -Wimplicit-fallthrough + warnings from Gcc 7 (which is a good code hygiene). + + * Add a helper for DLL loading in anticipation for its need in a + future topic RSN. + + Also contains various documentation updates and code clean-ups. @@ -161,7 +224,6 @@ Fixes since v2.14 * Some versions of GnuPG fails to kill gpg-agent it auto-spawned and such a left-over agent can interfere with a test. Work it around by attempting to kill one before starting a new test. - (merge 29ff1f8f74 st/lib-gpg-kill-stray-agent later to maint). * A recently added test for the "credential-cache" helper revealed that EOF detection done around the time the connection to the cache @@ -170,49 +232,36 @@ Fixes since v2.14 * "git log --tag=no-such-tag" showed log starting from HEAD, which has been fixed---it now shows nothing. - (merge 5d34d1ac06 jk/rev-list-empty-input later to maint). * The "tag.pager" configuration variable was useless for those who actually create tag objects, as it interfered with the use of an editor. A new mechanism has been introduced for commands to enable pager depending on what operation is being carried out to fix this, and then "git tag -l" is made to run pager by default. - (merge 595d59e2b5 ma/pager-per-subcommand-action later to maint). * "git push --recurse-submodules $there HEAD:$target" was not propagated down to the submodules, but now it is. - (merge c7be7201a7 bw/push-options-recursively-to-submodules later to maint). * Commands like "git rebase" accepted the --rerere-autoupdate option from the command line, but did not always use it. This has been fixed. - (merge f826fb799e pw/sequence-rerere-autoupdate later to maint). * "git clone --recurse-submodules --quiet" did not pass the quiet option down to submodules. - (merge 03c004c581 bw/clone-recursive-quiet later to maint). * Test portability fix for OBSD. - (merge bed67874e2 rs/obsd-getcwd-workaround later to maint). - (merge 4c7fda8fc1 rs/t4062-obsd later to maint). * Portability fix for OBSD. - (merge 29c2eda80b rs/in-obsd-basename-dirname-take-const later to maint). * "git am -s" has been taught that some input may end with a trailer block that is not Signed-off-by: and it should refrain from adding an extra blank line before adding a new sign-off in such a case. - (merge 735285b403 pw/am-signoff later to maint). * "git svn" used with "--localtime" option did not compute the tz offset for the timestamp in question and instead always used the current time, which has been corrected. - (merge 1adc4b9a58 ur/svn-local-zone later to maint). * Memory leak in an error codepath has been plugged. - (merge 83cd6f9017 rs/fsck-obj-leakfix later to maint). - (merge 896dca3ab7 rs/unpack-entry-leakfix later to maint). - (merge 149d8cbb2e rs/win32-syslog-leakfix later to maint). * "git stash -u" used the contents of the committed version of the ".gitignore" file to decide which paths are ignored, even when the @@ -221,16 +270,13 @@ Fixes since v2.14 * bash 4.4 or newer gave a warning on NUL byte in command substitution done in "git stash"; this has been squelched. - (merge 5fc92f8828 kd/stash-with-bash-4.4 later to maint). * "git grep -L" and "git grep --quiet -L" reported different exit codes; this has been corrected. - (merge e1f68c66d5 as/grep-quiet-no-match-exit-code-fix later to maint). * When handshake with a subprocess filter notices that the process asked for an unknown capability, Git did not report what program the offending subprocess was running. This has been corrected. - (merge d3ba566342 cc/subprocess-handshake-missing-capabilities later to maint). * "git apply" that is used as a better "patch -p1" failed to apply a taken from a file with CRLF line endings to a file with CRLF line @@ -239,38 +285,141 @@ Fixes since v2.14 entry at the same path, which is a nonsense---in that mode, "apply" is not working on the data in (or derived from) the index at all. This has been fixed. - (merge c24f3abace tb/apply-with-crlf later to maint). * Killing "git merge --edit" before the editor returns control left the repository in a state with MERGE_MSG but without MERGE_HEAD, which incorrectly tells the subsequent "git commit" that there was a squash merge in progress. This has been fixed. - (merge 9d89b35526 mg/killed-merge later to maint). * "git archive" did not work well with pathspecs and the export-ignore attribute. - (merge 5ff247ac0c rs/archive-excluded-directory later to maint). + + * In addition to "cc: <a@dd.re.ss> # cruft", "cc: a@dd.re.ss # cruft" + was taught to "git send-email" as a valid way to tell it that it + needs to also send a carbon copy to <a@dd.re.ss> in the trailer + section. + (merge cc90750677 mm/send-email-cc-cruft later to maint). + + * "git branch -M a b" while on a branch that is completely unrelated + to either branch a or branch b misbehaved when multiple worktree + was in use. This has been fixed. + (merge 31824d180d nd/worktree-kill-parse-ref later to maint). + + * "git gc" and friends when multiple worktrees are used off of a + single repository did not consider the index and per-worktree refs + of other worktrees as the root for reachability traversal, making + objects that are in use only in other worktrees to be subject to + garbage collection. + + * A regression to "gitk --bisect" by a recent update has been fixed. + (merge 1d0538e486 mh/packed-ref-store-prep later to maint). + + * "git -c submodule.recurse=yes pull" did not work as if the + "--recurse-submodules" option was given from the command line. + This has been corrected. + + * Unlike "git commit-tree < file", "git commit-tree -F file" did not + pass the contents of the file verbatim and instead completed an + incomplete line at the end, if exists. The latter has been updated + to match the behaviour of the former. + (merge c818e74332 rk/commit-tree-make-F-verbatim later to maint). + + * Many codepaths did not diagnose write failures correctly when disks + go full, due to their misuse of write_in_full() helper function, + which have been corrected. + (merge f48ecd38cb jk/write-in-full-fix later to maint). + + * "git help co" now says "co is aliased to ...", not "git co is". + (merge b3a8076e0d ks/help-alias-label later to maint). + + * "git archive", especially when used with pathspec, stored an empty + directory in its output, even though Git itself never does so. + This has been fixed. + (merge 4318094047 rs/archive-excluded-directory later to maint). + + * API error-proofing which happens to also squelch warnings from GCC. + (merge c788c54cde tg/refs-allowed-flags later to maint). + + * The explanation of the cut-line in the commit log editor has been + slightly tweaked. + (merge 8c4b1a3593 ks/commit-do-not-touch-cut-line later to maint). + + * "git gc" tries to avoid running two instances at the same time by + reading and writing pid/host from and to a lock file; it used to + use an incorrect fscanf() format when reading, which has been + corrected. + (merge afe2fab72c aw/gc-lockfile-fscanf-fix later to maint). + + * The scripts to drive TravisCI has been reorganized and then an + optimization to avoid spending cycles on a branch whose tip is + tagged has been implemented. + (merge 8376eb4a8f ls/travis-scriptify later to maint). + + * The test linter has been taught that we do not like "echo -e". + (merge 1a6d46895d tb/test-lint-echo-e later to maint). + + * Code cmp.std.c nitpick. + (merge ac7da78ede mh/for-each-string-list-item-empty-fix later to maint). + + * A regression fix for 2.11 that made the code to read the list of + alternate object stores overrun the end of the string. + (merge f0f7bebef7 jk/info-alternates-fix later to maint). + + * "git describe --match" learned to take multiple patterns in v2.13 + series, but the feature ignored the patterns after the first one + and did not work at all. This has been fixed. + (merge da769d2986 jk/describe-omit-some-refs later to maint). + + * "git filter-branch" cannot reproduce a history with a tag without + the tagger field, which only ancient versions of Git allowed to be + created. This has been corrected. + (merge b2c1ca6b4b ic/fix-filter-branch-to-handle-tag-without-tagger later to maint). + + * "git cat-file --textconv" started segfaulting recently, which + has been corrected. + (merge cc0ea7c9e5 jk/diff-blob later to maint). + + * The built-in pattern to detect the "function header" for HTML did + not match <H1>..<H6> elements without any attributes, which has + been fixed. + (merge 9c03caca2c ik/userdiff-html-h-element-fix later to maint). + + * "git mailinfo" was loose in decoding quoted printable and produced + garbage when the two letters after the equal sign are not + hexadecimal. This has been fixed. + (merge c8cf423eab rs/mailinfo-qp-decode-fix later to maint). + + * The machinery to create xdelta used in pack files received the + sizes of the data in size_t, but lost the higher bits of them by + storing them in "unsigned int" during the computation, which is + fixed. + + * The delta format used in the packfile cannot reference data at + offset larger than what can be expressed in 4-byte, but the + generator for the data failed to make sure the offset does not + overflow. This has been corrected. + + * The documentation for '-X<option>' for merges was misleadingly + written to suggest that "-s theirs" exists, which is not the case. + (merge c25d98b2a7 jc/merge-x-theirs-docfix later to maint). * Other minor doc, test and build updates and code cleanups. - (merge dff2813391 ab/ref-filter-no-contains later to maint). (merge f094b89a4d ma/parse-maybe-bool later to maint). - (merge 974ce8078c mf/no-dashed-subcommands later to maint). - (merge f81935cc4d jc/perl-git-comment-typofix later to maint). - (merge 57ea241ef0 rs/t3700-clean-leftover later to maint). (merge 39b00fa4d4 jk/drop-sha1-entry-pos later to maint). - (merge 0b006014c8 jk/hashcmp-memcmp later to maint). - (merge 1e22a9917b rj/add-chmod-error-message later to maint). - (merge 881529c846 rs/apply-lose-prefix-length later to maint). - (merge 6355a76802 rs/find-pack-entry-bisection later to maint). - (merge de3ce210ed rs/merge-microcleanup later to maint). - (merge 7f0a02be2f ah/doc-empty-string-is-false later to maint). - (merge 70ec6bd63b rs/t1002-do-not-use-sum later to maint). - (merge 2456990dfd sb/sha1-file-cleanup later to maint). - (merge 2aac933c62 hv/t5526-andand-chain-fix later to maint). - (merge c8d0c4fe9b sb/submodule-parallel-update later to maint). - (merge 794b7e1674 mg/format-ref-doc-fix later to maint). - (merge 24da8a26a9 rs/commit-h-single-parent-cleanup later to maint). - (merge 4e36907fa3 jk/doc-the-this later to maint). - (merge 15d1d0951e bc/vcs-svn-cleanup later to maint). - (merge b8f43b120b jn/vcs-svn-cleanup later to maint). - (merge 4a4becfb23 jt/doc-pack-objects-fix later to maint). + (merge 6cdf8a7929 ma/ts-cleanups later to maint). + (merge 7560f547e6 ma/up-to-date later to maint). + (merge 0db3dc75f3 rs/apply-epoch later to maint). + (merge 74f1bd912b dw/diff-highlight-makefile-fix later to maint). + (merge f991761eb8 jk/config-lockfile-leak-fix later to maint). + (merge 150efef1e7 ma/pkt-line-leakfix later to maint). + (merge 5554451de6 mg/timestamp-t-fix later to maint). + (merge 276d0e35c0 ma/split-symref-update-fix later to maint). + (merge 3bc4b8f7c7 bb/doc-eol-dirty later to maint). + (merge c1bb33c99c jk/system-path-cleanup later to maint). + (merge ab46e6fc72 cc/subprocess-handshake-missing-capabilities later to maint). + (merge f7a32dd97f kd/doc-for-each-ref later to maint). + (merge be94568bc7 ez/doc-duplicated-words-fix later to maint). + (merge 01e4be6c3d ks/test-readme-phrasofix later to maint). + (merge 217bb56d4f hn/typofix later to maint). + (merge c08fd6388c jk/doc-read-tree-table-asciidoctor-fix later to maint). + (merge c3342b362e ks/doc-use-camelcase-for-config-name later to maint). |