+NEWS for rsync 2.6.4 (UNRELEASED)
+Protocol: 29 (changed)
+Changes since 2.6.3:
+
+ OUTPUT CHANGES:
+
+ - When rsync deletes a directory and outputs a verbose message about
+ it, it now appends a trailing slash to the name instead of (only
+ sometimes) outputting a preceding "directory " string.
+
+ - The --stats output will contain file-list time-statistics if both
+ sides are 2.6.4, or if the local side is 2.6.4 and the files are
+ being pushed (since the stats come from the sending side).
+ (Requires protocol 29 for a pull.)
+
+ - The default "log format" for a daemon rsync with "transfer logging"
+ enabled has changed to put the file size prior to the file name and
+ also to add the destination of a symlink (e.g. "foo -> bar"). The
+ rsyncstats perl script was updated to handle this (it's now in the
+ "support" directory). If you depend on the old format, just set it
+ in your rsyncd.conf file.
+
+ BUG FIXES:
+
+ - Restore the list-clearing behavior of "!" in a .cvsignore file (2.6.3
+ was only treating it as a special token in an rsync include/exclude
+ file).
+
+ - The combination of --verbose and --dry-run now mentions the full list
+ of changes that would be output without --dry-run.
+
+ - Avoid a mkdir warning when removing a directory in the destination
+ that already exists in the --backup-dir.
+
+ - An OS that has a binary mode for its files (such as cygwin0 needed
+ setmode(fd, O_BINARY) called on the temp-file we opened with
+ mkstemp(). (Fix derived from the Cygwin's 2.6.3 rsync package.)
+
+ - Fixed a potential hang when verbosity is high, the client side is
+ the sender, and the file-list is large.
+
+ - We now check if the OS doesn't support using mknod() for creating
+ FIFOs and sockets, and compile-in using mkfifo() and socket() when
+ necessary.
+
+ - Fixed an off-by-one error in the handling of --max-delete=N.
+
+ - One place in the code wasn't checking if fork() failed.
+
+ - The "ignore nonreadable" daemon parameter used to erroneously affect
+ symlinks that pointed to a non-existent file. This has been fixed.
+
+ - If the OS does not have lchown() and its chown() tries to set the
+ referent of a symlink (as it should), we no longer try to set the
+ user and group of a symlink.
+
+ - The generator now properly runs the hard-link loop and the dir-time
+ rewriting loop after we're sure that the redo phase is complete.
+
+ - When --backup was specified with --partial-dir=DIR (where DIR is a
+ relative path), the backup code was erroneously trying to backup a
+ file that was put into the partial-dir.
+
+ - One call to flush_write_file() was not being checked for an error.
+
+ - The --no-relative option was not being sent from the client to a
+ server sender.
+
+ - If an rsync daemon specified "dont compress = ..." for a file and the
+ client tried to specify --compress, the libz code was not handling a
+ compression level of 0 properly. This could cause a transfer failure
+ if the block-size for a file was large enough (i.e. rsync might have
+ exited with an error for large files).
+
+ - If a daemon can't open the specified log file (i.e. syslog is not
+ being used), die without crashing. We also output an error about
+ the failure on stderr (which will only be seen if --no-detach was
+ specified).
+
+ - A local transfer no longer duplicates all its include/exclude options
+ (since the forked process already has a copy of the exclude list,
+ there's no need to send them a set of duplicates).