+NEWS for rsync 3.0.8 (26 Mar 2011)
+Protocol: 30 (unchanged)
+Changes since 3.0.7:
+
+ BUG FIXES:
+
+ - Fixed two buffer-overflow issues: one where a directory path that is
+ exactly MAXPATHLEN was not handled correctly, and one handling a
+ --backup-dir that is extra extra large.
+
+ - Fixed a data-corruption issue when preserving hard-links without
+ preserving file ownership, and doing deletions either before or during
+ the transfer (CVE-2011-1097). This fixes some assert errors in the
+ hard-linking code, and some potential failed checksums (via -c) that
+ should have matched.
+
+ - Fixed a potential crash when an rsync daemon has a filter/exclude list
+ and the transfer is using ACLs or xattrs.
+
+ - Fixed a hang if a really large file is being processed by an rsync that
+ can't handle 64-bit numbers. Rsync will now complain about the file
+ being too big and skip it.
+
+ - For devices and special files, we now avoid gathering useless ACL and/or
+ xattr information for files that aren't being copied. (The un-copied
+ files are still put into the file list, but there's no need to gather
+ data that is not going to be used.) This ensures that if the user uses
+ --no-D, that rsync can't possibly complain about being unable to gather
+ extended information from special files that are in the file list (but
+ not in the transfer).
+
+ - Properly handle requesting remote filenames that start with a dash. This
+ avoids a potential error where a filename could be interpreted as a
+ (usually invalid) option.
+
+ - Fixed a bug in the comparing of upper-case letters in file suffixes for
+ --skip-compress.
+
+ - If an rsync daemon has a module configured without a path setting, rsync
+ will now disallow access to that module.
+
+ - If the destination arg is an empty string, it will be treated as a
+ reference to the current directory (as 2.x used to do).
+
+ - If rsync was compiled with a newer time-setting function (such as
+ lutimes), rsync will fall-back to an older function (such as utimes) on a
+ system where the newer function is not around. This helps to make the
+ rsync binary more portable in mixed-OS-release situations.
+
+ - Fixed a batch-file writing bug that would not write out the full set of
+ compatibility flags that the transfer was using. This fixes a potential
+ protocol problem for a batch file that contains a sender-side I/O error:
+ it would have been sent in a way that the batch-reader wasn't expecting.
+
+ - Some improvements to the hard-linking code to ensure that device-number
+ hashing is working right, and to supply more information if the hard-link
+ code fails.
+
+ - The --inplace code was improved to not search for an impossible checksum
+ position. The quadruple-verbose chunk[N] message will now mention when
+ an inplace chunk was handled by a seek rather than a read+write.
+
+ - Improved ACL mask handling, e.g. for Solaris.
+
+ - Fixed a bug that prevented --numeric-ids from disabling the translation
+ of user/group IDs for ACLs.
+
+ - Fixed an issue where an xattr and/or ACL transfer that used an alt-dest
+ option (e.g. --link-dest) could output an error trying to itemize the
+ changes against the alt-dest directory's xattr/ACL info but was instead
+ trying to access the not-yet-existing new destination directory.
+
+ - Improved xattr system-error messages to mention the full path to the
+ file.
+
+ - The --link-dest checking for identical symlinks now avoids considering
+ attribute differences that cannot be changed on the receiver.
+
+ - Avoid trying to read/write xattrs on certain file types for certain OSes.
+ Improved configure to set NO_SYMLINK_XATTRS, NO_DEVICE_XATTRS, and/or
+ NO_SPECIAL_XATTRS defines in config.h.
+
+ - Improved the unsafe-symlink errors messages.
+
+ - Fixed a bug setting xattrs on new files that aren't user writable.
+
+ - Avoid re-setting xattrs on a hard-linked file w/the same xattrs.
+
+ - Fixed a bug with --fake-super when copying files and dirs that aren't
+ user writable.
+
+ - Fixed a bug where a sparse file could have its last sparse block turned
+ into a real block when rsync sets the file size (requires ftruncate).
+
+ - If a temp-file name is too long, rsync now avoids truncating the name in
+ the middle of adjacent high-bit characters. This prevents a potential
+ filename error if the filesystem doesn't allow a name to contain an
+ invalid multi-byte sequence.
+
+ - If a muli-protocol socket connection fails (i.e., when contacting a
+ daemon), we now report all the failures, not just the last one. This
+ avoids losing a relevant error (e.g. an IPv4 connection-refused error)
+ that happened before the final error (e.g. an IPv6 protocol-not-supported
+ error).
+
+ - Generate a transfer error if we try to call chown with a -1 for a uid or
+ a gid (which is not settable).
+
+ - Fixed the working of --force when used with --one-file-system.
+
+ - Fix the popt arg parsing so that an option that doesn't take an arg will
+ reject an attempt to supply one (can configure --with-included-popt if
+ your system's popt library doesn't yet have this fix).
+
+ - A couple minor option tweaks to the support/rrsync script, and also some
+ regex changes that make vim highlighting happier.
+
+ - Fixed some issues in the support/mnt-excl script.
+
+ - Various manpage improvements.
+
+ ENHANCEMENTS:
+
+ - Added ".hg/" to the default cvs excludes (see -C & --cvs-exclude).
+
+ DEVELOPER RELATED:
+
+ - Use lchmod() whenever it is available (not just on symlinks).
+
+ - A couple fixes to the socketpair_tcp() routine.
+
+ - Updated the helper scripts in the packaging subdirectory.
+
+ - Renamed configure.in to configure.ac.
+
+ - Fixed configure's checking for iconv routines for newer OS X versions.
+
+ - Fixed the testsuite/xattrs.test script on OS X.
+\f
+NEWS for rsync 3.0.7 (31 Dec 2009)
+Protocol: 30 (unchanged)
+Changes since 3.0.6:
+
+ BUG FIXES:
+
+ - Fixed a bogus free when using --xattrs with --backup.
+
+ - Avoid an error when --dry-run was trying to stat a prior hard-link file
+ that hasn't really been created.
+
+ - Fixed a problem with --compress (-z) where the receiving side could
+ return the error "inflate (token) returned -5".
+
+ - Fixed a bug where --delete-during could delete in a directory before it
+ noticed that the sending side sent an I/O error for that directory (both
+ sides of the transfer must be at least 3.0.7).
+
+ - Improved --skip-compress's error handling of bad character-sets and got
+ rid of a lingering debug fprintf().
+
+ - Fixed the daemon's conveyance of io_error value from the sender.
+
+ - An rsync daemon use seteuid() (when available) if it used setuid().
+
+ - Get the permissions right on a --fake-super transferred directory that
+ needs more owner permissions to emulate root behavior.
+
+ - An absolute-path filter rule (i.e. with a '/' modifier) no longer loses
+ its modifier when sending the filter rules to the remote rsync.
+
+ - Improved the "--delete does not work without -r or -d" message.
+
+ - Improved rsync's handling of --timeout to avoid a weird timeout case
+ where the sender could timeout even though it has recently written data
+ to the socket (but hasn't read data recently, due to the writing).
+
+ - Some misc manpage improvements.
+
+ - Fixed the chmod-temp-dir testsuite on a system without /var/tmp.
+
+ - Make sure that a timeout specified in the daemon's config is used as a
+ maximum timeout value when the user also specifies a timeout.
+
+ - Improved the error-exit reporting when rsync gets an error trying to
+ cleanup after an error: the initial error is reported.
+
+ - Improved configure's detection of IPv6 for solaris and cygwin.
+
+ - The AIX sysacls routines will now return ENOSYS if ENOTSUP is missing.
+
+ - Made our (only used if missing) getaddrinfo() routine use inet_pton()
+ (which we also provide) instead of inet_aton().
+
+ - The exit-related debug messages now mention the program's role so it is
+ clear who output what message.
+
+ DEVELOPER RELATED:
+
+ - Got rid of type-punned compiler warnings output by newer gcc versions.
+
+ - The Makefile now ensures that proto.h will be rebuilt if config.h changes.
+
+ - The testsuite no longer uses "id -u", so it works better on solaris.
+
+\f
NEWS for rsync 3.0.6 (8 May 2009)
Protocol: 30 (unchanged)
Changes since 3.0.5:
\f
Partial Protocol History
RELEASE DATE VER. DATE OF COMMIT* PROTOCOL
- ?? ??? 2008 3.1.0 31 Aug 2008 31
+ ?? ??? 2011 3.1.0 31 Aug 2008 31
+ 26 Mar 2011 3.0.8 30
+ 31 Dec 2009 3.0.7 30
08 May 2009 3.0.6 30
28 Dec 2008 3.0.5 30
06 Sep 2008 3.0.4 30