Fixed some typos Matt found.
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index e84a1ac..a9ce18b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,30 +1,83 @@
-rsync changes since last release
+NEWS for rsync 3.0.0 (UNRELEASED)
+Protocol: 30 (changed)
+Changes since 2.6.9:
+
+  BUG FIXES:
+
+    - Fixed the output of -ii when combined with one of the --*-dest options:
+      it now itemizes all the items, not just the changed ones.
+
+    - Made the output of all file types consistent when using a --*-dest
+      option.  Prior versions used to output too many creation events for
+      matching items.
+
+    - The code that waits for a child pid now handles being interrupted by
+      a signal.  This fixes a problem with the pre-xfer exec function not
+      being able to get the exit status from the script.
+
+    - A negated filter rule now sends the negation option when sending the
+      filter rules.
+
+    - Fixed a problem with the --out-format (aka --log-format) option:  it
+      would output superfluous directory information for a non-daemon rsync.
+
+    - Fixed a problem with -vv (double --verbose) and --stats when "pushing"
+      files (which includes local copies).  Version 2.6.9 would complete the
+      copy, but exit with an error when the receiver output its memory stats.
+
+    - If --password-file is used on a non-daemon transfer, rsync now complains
+      and exits.  This should help users figure out that they can't use this
+      option to control a remote shell's password prompt.
 
   ENHANCEMENTS:
 
-    * With --progress, when a transfer is complete show the time taken;
-      otherwise show expected time to complete. (Cameron Simpson)
+    - A new incremental-recursion algorithm is now used when rsync is talking
+      to another 3.0.0 version.  This starts the transfer going more quickly
+      (before all the files have been found), and requires much less memory.
+      See the --recursive option in the manpage for some restrictions.
 
-    * Make "make install-strip" works properly, and "make install"
-      accepts a DESTDIR variable for help in building binary packages.
-      (Peter Breitenlohner, Greg Louis)
+    - The default --delete algorithm is now --delete-during when talking to a
+      3.x rsync.  This is a faster scan than using --delete-before (which is
+      the default when talking to older rsync versions), and is compatible
+      with the new incremental recursion mode.
 
+    - Added the --delete-delay option, which is a more efficient way to
+      delete files at the end of the transfer without needing a separate
+      delete pass.
 
-  BUG FIXES:
+    - You may specify --max-delete=0 to a 3.0.0 client as long as the
+      receiving side is at least version 3.0.0.  This means that you
+      can pull from an older rsync with this option, but pushing to an
+      older rsync will generate an error.  *Be sure to never specify a 0
+      value to an older rsync client, or it will be silently ignored.*
+
+    - The --hard-link option now uses less memory on both the sending and
+      receiving side for all protocol versions.  For protocol 30, the use
+      of a hashtable on the sending side allows us to more efficiently
+      convey to the receiver what files are linked together.  This reduces
+      the amount of data sent over the socket by a considerable margin, and
+      moves the in-memory storage of the device+inode information from the
+      receiving side (for protocols < 30) to the sending side (note that
+      older rsync versions kept the device+inode information on both
+      sides).
+
+  INTERNAL:
+
+    - Added some isType() functions that make dealing with signed characters
+      easier without forcing variables via casts.
+
+    - Upgraded the included popt version to 1.10.2 and improved its use of
+      string-handling functions.
+
+    - Added missing prototypes for compatibility functions from the lib dir.
 
-    * Fix situation where failure to fork (e.g. because out of process
-      slots) would cause rsync to kill all processes owned by the
-      current user.  Yes, really!  (Paul Haas, Martin Pool)
+    - Configure determines if iconv() has a const arg, allowing us to avoid a
+      compiler warning.
 
-    * Fix test suite on Solaris.  (Jos Backus)
+    - Made the sending of some numbers more efficient for protocol 30.
 
-    * Fix minor memory leak in socket code.  (Dave Dykstra, Martin
-      Pool.)
+    - Improved the use of "const" on pointers.
 
-    * Fix --whole-file problem that caused it to be the default even
-      for remote connections.  (Martin Pool, Frank Schulz)
+  DEVELOPER RELATED:
 
-    * Work around bug in Mac OS X mkdir(2), which cannot handle
-      trailing slashes.
-      <http://www.opensource.apple.com/bugs/X/BSD%20Kernel/2734739.html>
-      (Martin Pool)
+    - ...