Mention hard-link memory savings and byte-transfer savings.
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index 8293e27..db03fc1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,78 +1,66 @@
-rsync 2.4.7 (sometime in 2001, maybe :)
+NEWS for rsync 3.0.0 (UNRELEASED)
+Protocol: 30 (changed)
+Changes since 2.6.9:
 
-  ANNOUNCEMENTS
-
-    * Martin Pool <mbp@samba.org> is now a co-maintainer.
-
-  NEW FEATURES
-
-    * Support for LSB-compliant packaging <http://www.linuxbase.org/>
-
-    * Shell wildcards are allowed in "auth users" lines.
-
-    * Merged UNC rsync+ patch to support creation of standalone patch
-      sets.  By Bert J. Dempsey and Debra Weiss, updated by Jos
-      Backus.  <http://www.ils.unc.edu/i2dsi/unc_rsync+.html>
-
-    * Merged IPv6 patch from KAME.net.  This is off by default, but
-      can be enabled with ./configure --enable-ipv6.
-
-  ENHANCEMENTS
-
-    * Include/exclude cluestick: with -vv, print out whether files are
-      included or excluded and why.
-
-    * Many error messages have more friendly explanations and more
-      details.
-
-    * Manual page improvements plus scanty protocol documentation.
+  BUG FIXES:
 
-    * When running as --daemon in the background and using a "log
-      file" rsyncd.conf directive, close the log file every time it is
-      open when going to sleep on the socket.  This allows the log
-      file to get cleaned out by another process.
+    - Fixed the output of -ii when combined with one of the --*-dest options:
+      it now itemizes all the items, not just the changed ones.
 
-    * Change to using libpopt rather than getopt for processing
-      options.  This makes the code cleaner and the behaviour more
-      consistent across platforms.  popt is included and built if not
-      installed on the platform.
+    - 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.
 
-    * More details in --version, including note about whether 64-bit
-      files, symlinks and hardlinks are supported.
+    - 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.
 
-    * MD4 code may use less CPU cycles.
+    - A negated filter rule now sends the negation option when sending the
+      filter rules.
 
-    * Use mkstemp on systems where it is secure.  If we use mktemp,
-      explain that we do it in a secure way.
+    - 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.
 
-    * --whole-file is the default when source and target are on the
-        local machine.
+  ENHANCEMENTS:
 
-  BUG FIXES:
+    - 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.
 
-    * Fix for various bugs causing rsync to hang.
+    - 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.*
 
-    * Attempt to fix Large File Summit support on AIX.
+    - 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).
 
-    * Attempt to fix error handling lockup bug.
+  INTERNAL:
 
-    * Give a non-0 exit code if *any* of the files we have been asked
-      to transfer fail to transfer 
+    - Added some isType() functions that make dealing with signed characters
+      easier without forcing variables via casts.
 
-    * For log messages containing ridiculously long strings that might
-      overflow a buffer rsync no longer aborts, but rather prints an
-      ellipsis at the end of the string.  (Patch from Ed Santiago.)
+    - Upgraded the included popt version to 1.10.2 and improved its use of
+      string-handling functions.
 
-  PLATFORMS:
+    - Added missing prototypes for compatibility functions from the lib dir.
 
-    * Improved support for UNICOS (tested on Cray T3E and Cray SV1)
+    - Configure determines if iconv() has a const arg, allowing us to avoid a
+      compiler warning.
 
-    * autoconf2.52 (or later) is now required to rebuild the autoconf
-      scripts.  It is not required to simply build rsync.
+    - Made the sending of some numbers more efficient for protocol 30.
 
-  TESTING:
+    - Improved the use of "const" on pointers.
 
-    * The existing test.sh script by Phil Hands has been merged into a
-      test framework that works from both "make check" and the Samba
-      build farm.
+  DEVELOPER RELATED:
 
+    - ...