Mention hard-link memory savings and byte-transfer savings.
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index b90a9c3..db03fc1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,42 +1,66 @@
-rsync 2.5.3 (not released yet)
+NEWS for rsync 3.0.0 (UNRELEASED)
+Protocol: 30 (changed)
+Changes since 2.6.9:
 
-  SECURITY FIXES:
+  BUG FIXES:
 
-    * (CVE CAN-2002-0059)
+    - Fixed the output of -ii when combined with one of the --*-dest options:
+      it now itemizes all the items, not just the changed ones.
 
-    * Make sure that supplementary groups are removed from a server
-      process after changing uid and gid. (Ethan Benson) (Debian bug
-      #132272, CVE CAN-2002-0080)
+    - 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.
 
-  BUG FIXES:
+    - 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.
 
-    * Fixed problem that in many cases caused the error message 
-       unexpected read size of 0 in map_ptr
-      and resulted in the wrong data being copied.
+    - A negated filter rule now sends the negation option when sending the
+      filter rules.
 
-    * Fixed compilation errors on some systems caused by the use of
-      "unsigned int64" in rsync.h.
+    - 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.
 
-    * Fixed problem on systems such as Sunos4 that do not support realloc
-      on a NULL pointer; error was "out of memory in flist_expand".
+  ENHANCEMENTS:
 
-    * Fix for rsync server processes hanging around after the client
-      unexpectedly disconnects.  (Colin Walters) (Debian bug #128632)
+    - 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.
 
-    * Cope with BSD systems on which mkdir() will not accept a trailing
-      slash.
+    - 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.*
 
-  ENHANCEMENTS:
+    - 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.
+
+    - Configure determines if iconv() has a const arg, allowing us to avoid a
+      compiler warning.
 
-    * Command to initiate connections is only shown with -vv, rather
-      than -v as in 2.5.2.  Output from plain -v is more similar to
-      what was historically used so as not to break scripts that try
-      to parse the output.
+    - Made the sending of some numbers more efficient for protocol 30.
 
-    * Added --no-whole-file and --no-blocking-io options (Dave Dykstra)
+    - Improved the use of "const" on pointers.
 
-    * Made the --write-batch and --read-batch options actually work
-      and added documentation in the man page (Jos Backus)
+  DEVELOPER RELATED:
 
-    * If the daemon is unable to fork a child to accept a connection,
-      print an error message.  (Colin Walters)
+    - ...