Mention the open64()/mkstemp64() configure change.
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index bcdcbb7..f32d892 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,22 @@ NEWS for rsync 2.6.3 (UNRELEASED)
 Protocol: 28 (unchanged)
 Changes since 2.6.2:
 
+  OUTPUT CHANGES (ATTN: those using a script to parse the verbose output):
+
+    - Please note that the 2-line footer (output when verbose) now uses the
+      term "sent" instead of "wrote" and "received" instead of "read".  If
+      you are not parsing the numeric values out of this footer, a script
+      should be better off using the empty line prior to the footer as the
+      indicator that the verbose output is over.
+      
+    - The output from the --stats option was similarly affected to change
+      "written" to "sent" and "read" to "received".
+
+    - Made sure that a filename that contains a newline gets mentioned with
+      each newline transformed into a question mark (which makes sure that
+      a filename can't span multiple lines nor cause an empty line to be
+      output).
+
   BUG FIXES:
 
     - Fixed a crash bug that might appear when --delete was used and
@@ -17,11 +33,14 @@ Changes since 2.6.2:
       the password file (by the client):  the files no longer need to be
       terminated by a newline for their content to be read in.
 
-    - If a file has a read error on the sending side, the receiver will
-      no longer keep the resulting file unless the --partial option was
-      specified.  (Note:  both sides must be running 2.6.3 for this to
-      work -- older receivers always keep the file, and older senders
-      don't tell the receiver that the file was not read correctly.)
+    - If a file has a read error on the sending side or the reconstructed
+      data doesn't match the expected checksum (perhaps due to the basis
+      file changing during the transfer), the receiver will no longer
+      retain the resulting file unless the --partial option was specified.
+      (Note: for the read-error detection to work, neither side can be
+      older than 2.6.3 -- older receivers will always retain the file, and
+      older senders don't tell the receiver that the file had a read
+      error.)
 
     - If a file gets resent in a single transfer and the --backup option
       is enabled, rsync no longer performs a duplicate backup (losing the
@@ -44,6 +63,10 @@ Changes since 2.6.2:
       for a symlink that has no referent instead of claiming that a file
       "vanished".
 
+    - The --copy-links (-L) option no longer has the side-effect of telling
+      the receiving side to follow symlinks.  See the --keep-dirlinks
+      option (mentioned below) for a way to specify that behavior.
+
     - Error messages from the daemon server's option-parsing (such as
       refused options) now get sent back to the client (the server used
       to just exit because the socket wasn't in the right state to send
@@ -64,8 +87,8 @@ Changes since 2.6.2:
       help).
 
     - When the remote rsync dies, make a better effort to recover any error
-      messages it may have sent instead of just dying with a write error
-      trying to send data over the socket.
+      messages it may have sent before dying (the local rsync used to just
+      die with a socket-write error).
 
     - When using --delete and a --backup-dir that contains files that are
       hard-linked to their destination equivalents, rsync now makes sure
@@ -73,7 +96,12 @@ Changes since 2.6.2:
       rename() behavior).
 
     - Avoid a bogus run-time complaint about a lack of 64-bit integers when
-      int64 is defined as an off_t and it actually has 64-bits.
+      the int64 type is defined as an off_t and it actually has 64-bits.
+
+    - Added a configure check for open64() without mkstemp64() so that we
+      can avoid using mkstemp() when such a combination is encountered.
+      This bypasses a problem writing out large temp files on OSes such as
+      AIX and HP-UX.
 
   ENHANCEMENTS:
 
@@ -88,10 +116,10 @@ Changes since 2.6.2:
     - Added the --inplace option that tells rsync to write each destination
       file without using a temporary file.  The matching of existing data
       in the destination file can be severely limited by this, but there
-      are cases where this is more efficient, such as appending data.  Use
-      only when needed (see the man page for more details).
+      are also cases where this is more efficient (such as appending data).
+      Use only when needed (see the man page for more details).
 
-    - Added the "write only" option to the daemon's config file.
+    - Added the "write only" option for the daemon's config file.
 
     - Added long-option names for -4 and -6 (namely --ipv4 and --ipv6)
       and documented all these options in the man page.
@@ -114,6 +142,16 @@ Changes since 2.6.2:
       stdin.  Also, the old requirement of using the same fixed checksum-
       seed for all batch processing has been removed.
 
+    - If an rsync daemon has a module set with "list = no" (which hides its
+      presence in the list of available modules), a user that fails to
+      authenticate gets the same "unknown module" error that they would get
+      if the module were actually unknown (while still logging the real
+      error to the daemon's log file).  This prevents fishing for module
+      names.
+
+    - The daemon's "refuse options" config item now allows you to match
+      option names using wildcards and/or the single-letter option names.
+
   INTERNAL:
 
     - Some cleanup in the exclude code has saved some per-exclude memory
@@ -135,10 +173,6 @@ Changes since 2.6.2:
 
     - Optimized away a loop in hash_search().
 
-    - Make sure that a filename that contains a newline gets mentioned with
-      each newline transformed into a question mark (which makes parsing
-      the verbose output via script more dependable).
-
   BUILD CHANGES:
 
     - Added a "gen" target to rebuild most of the generated files,