X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/2959fe7447842bccf30bb3f207a1a904562f79e8..45b79c89591f1fe1aafc18dc0dabadba5381c3f5:/NEWS diff --git a/NEWS b/NEWS index a6d0d0c0..0e022ab6 100644 --- a/NEWS +++ b/NEWS @@ -8,11 +8,32 @@ 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 files encountered during the delete scan (ouch). + - Fixed a potential hang in a remote generator: when the receiver gets a + read-error on the socket, it now signals the generator about this so that + the generator does not try to send any of the terminating error messages + to the client (avoiding a potential hang in some setups). + - Made hard-links work with symlinks and devices again. - If the sender gets an early EOF reading a source file, we propagate this @@ -84,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 @@ -171,12 +195,21 @@ Changes since 2.6.6: execute bit on files, for those times when using the --perms option is not desired. + - The daemon now logs each module-list request it receives. + + - New log-format options: %M (modtime), %U (uid), %G (gid), and %B + (permission bits, e.g. "rwxr-xrwt"). + - Some minor documentation improvements. - Updated some diffs in the patches dir. INTERNAL: + - We now use sigaction() and sigprocmask() if possible, and fall back on + signal() if not. Using sigprocmask() ensures that rsync enables all the + signals that it needs, just in case it was started in a masked state. + - Some buffer sizes were expanded a bit, particularly on systems where MAXPATHLEN is overly small (e.g. cygwin). @@ -201,9 +234,20 @@ Changes since 2.6.6: DEVELOPER RELATED: + - The diffs in the patches dir now require "patch -p1