Merge branch 'po/everyday-doc'
[gitweb.git] / Documentation / RelNotes / 2.2.0.txt
index a8a27a95b70073a2eefccdc0e46771dd5c5a40e8..95891765a139ffe6e2bd8fa524c61f2018dcb432 100644 (file)
@@ -12,6 +12,8 @@ Ports
 
 UI, Workflows & Features
 
+ * "git archive" learned to filter what gets archived with pathspec.
+
  * "git config --edit --global" starts from a skeletal per-user
    configuration file contents, instead of a total blank, when the
    user does not already have any.  This immediately reduces the
@@ -40,6 +42,21 @@ UI, Workflows & Features
    forgot to remove higher stage entries, or if it wanted to unresolve
    and forgot to remove the stage#0 entry).
 
+ * The "pre-receive" and "post-receive" hooks are no longer required
+   to consume their input fully (not following this requirement used
+   to result in intermittent errors in "git push").
+
+ * The pretty-format specifier "%d", which expanded to " (tagname)"
+   for a tagged commit, gained a cousin "%D" that just gives the
+   "tagname" without frills.
+
+ * "git push" learned "--signed" push, that allows a push (i.e.
+   request to update the refs on the other side to point at a new
+   history, together with the transmission of necessary objects) to be
+   signed, so that it can be verified and audited, using the GPG
+   signature of the person who pushed, that the tips of branches at a
+   public repository really point the commits the pusher wanted to,
+   without having to "trust" the server.
 
 Performance, Internal Implementation, etc.
 
@@ -48,6 +65,8 @@ Performance, Internal Implementation, etc.
    all-or-none atomic updates and migrating the storage to something
    other than the traditional filesystem based one (e.g. databases).
 
+ * The lockfile API and its users have been cleaned up.
+
  * We no longer attempt to keep track of individual dependencies to
    the header files in the build procedure, relying on automated
    dependency generation support from modern compilers.
@@ -87,6 +106,23 @@ Performance, Internal Implementation, etc.
    to two separate options is detected by parse_options() API to help
    developers.
 
+ * The code path to write out the packed-refs file has been optimized,
+   which especially matters in a repository with a large number of
+   refs.
+
+ * The check to see if a ref $F can be created by making sure no
+   existing ref has $F/ as its prefix has been optimized, which
+   especially matters in a repository with a large number of existing
+   refs.
+
+ * "git fsck" was taught to check contents of tag objects a bit more.
+
+ * "git hash-object" was taught a "--literally" option to help
+   debugging.
+
+ * When running a required clean filter, we do not have to mmap the
+   original before feeding the filter.  Instead, stream the file
+   contents directly to the filter and process its output.
 
 Also contains various documentation updates and code clean-ups.
 
@@ -130,6 +166,11 @@ notes for details).
  * "git checkout -m" did not switch to another branch while carrying
    the local changes forward when a path was deleted from the index.
 
+ * "git daemon" (with NO_IPV6 build configuration) used to incorrectly
+   use the hostname even when gethostbyname() reported that the given
+   hostname is not found.
+   (merge 107efbe rs/daemon-fixes later to maint).
+
  * With sufficiently long refnames, "git fast-import" could have
    overflown an on-stack buffer.
 
@@ -169,3 +210,29 @@ notes for details).
  * "git fsck" failed to report that it found corrupt objects via its
    exit status in some cases.
    (merge 30d1038 jk/fsck-exit-code-fix later to maint).
+
+ * Use of "--verbose" option used to break "git branch --merged".
+   (merge 12994dd jk/maint-branch-verbose-merged later to maint).
+
+ * Some MUAs mangled a line in a message that begins with "From " to
+   ">From " when writing to a mailbox file and feeding such an input
+   to "git am" used to lose such a line.
+   (merge 85de86a jk/mbox-from-line later to maint).
+
+ * "rev-parse --verify --quiet $name" is meant to quietly exit with a
+   non-zero status when $name is not a valid object name, but still
+   gave error messages in some cases.
+
+ * A handful of C source files have been updated to include
+   "git-compat-util.h" as the first thing, to conform better to our
+   coding guidelines.
+   (merge 1c4b660 da/include-compat-util-first-in-c later to maint).
+
+ * t7004 test, which tried to run Git with small stack space, has been
+   updated to give a bit larger stack to avoid false breakage on some
+   platforms.
+   (merge b9a1907 sk/tag-contains-wo-recursion later to maint).
+
+ * A few documentation pages had example sections marked up not quite
+   correctly, which passed AsciiDoc but failed with AsciiDoctor.
+   (merge c30c43c bc/asciidoc-pretty-formats-fix later to maint).