Mentioned --8-bit (-8).
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index ae5472e..0e022ab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,22 @@ Changes since 2.6.6:
       clumping them together with the 'D' for devices.  The number of
       characters is also different (to remove an unused field).
 
+    - The way rsync escapes unreadable characters has changed.  First, rsync
+      now has support for recognizing valid multibyte character sequences in
+      your current locale, allowing it to escape fewer characters than before
+      for a locale such as UTF-8.  Second, it now uses an escape idiom of
+      "\#123", which is the literal string "\#" followed by exactly 3 octal
+      digits.  Rsync no longer doubles a backslash character in a filename
+      (e.g. it used to output "foo\\bar" when copying "foo\bar") -- now it only
+      escapes a backslash that is followed by a hash-sign and 3 digits (0-9)
+      (e.g. it will output "foo\#134#789" when copying "foo\#789").  See also
+      the --8-bit (-8) option, mentioned below.
+
+      Script writers: the local rsync is the one that outputs escaped names,
+      so if you need to support unescaping of filenames for older rsyncs, I'd
+      suggest that you parse the output of "rsync --version" and only use the
+      old unescaping rules for 2.6.5 and 2.6.6.
+
   BUG FIXES:
 
     - Fixed a really old bug that caused --checksum (-c) to checksum all the
@@ -89,7 +105,10 @@ Changes since 2.6.6:
       allow easy entry of multiples of 1000 (instead of just multiples of 1024)
       and off-by-one values too (e.g. --max-size=8mb-1).
 
-    - The options --human-readable (-h) and --si change the output of the
+    - Added the --8-bit (-8) option, which tells rsync to avoid escaping high-
+      bit characters that it thinks are unreadable in the current locale.
+
+    - The new options --human-readable (-h) and --si change the output of the
       --stats and the end-of-run summary to be easier to read.
 
     - If lutimes() and/or lchmod() are around, use them to allow the
@@ -215,9 +234,20 @@ Changes since 2.6.6:
 
   DEVELOPER RELATED:
 
+    - The diffs in the patches dir now require "patch -p1 <DIFF" instead of
+      the previous -p0.  Also, the version included in the release tar now
+      affect generated files (e.g. configure, rsync.1, proto.h, etc.), so
+      it is no longer necessary to run autoconf and/or yodl unless you're
+      applying a patch that was checked out from CVS.
+
     - Several diffs in the patches dir now use the proper --enable-FOO
       configure option instead of --with-FOO to turn on the inclusion of
       the newly patched feature.
 
-    - The testsuite now sets HOME so that it won't be affecting by a file
-      such as ~/.popt.
+    - There is a new script, "prepare-source" than can be used to update the
+      various generated files (proto.h, configure, etc.) even before configure
+      has created the Makefile (this is mainly useful when patching the source
+      with a patch that doesn't affect generated files).
+
+    - The testsuite now sets HOME so that it won't be affected by a file such
+      as ~/.popt.