X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/060f31500b7dfc0b949886055d57a73a527772eb..30e50494bbb057d4191e4636b963c6b7b0770ece:/NEWS diff --git a/NEWS b/NEWS index 0246b92f..db03fc11 100644 --- a/NEWS +++ b/NEWS @@ -1,102 +1,66 @@ -NEWS for rsync 2.6.5 (UNRELEASED) -Protocol: 29 (unchanged) -Changes since 2.6.4: - - OUTPUT CHANGES: - - - Non-printable chars in filenames are now output using backslash- - escaped characters rather than '?'s. Any non-printable character is - output using 3 digits of octal (e.g. "\n" -> "\012"), and a backslash - is now output as "\\". Rsync also uses your locale setting, which - should make it treat fewer high-bit characters as non-printable, as - appropriate. +NEWS for rsync 3.0.0 (UNRELEASED) +Protocol: 30 (changed) +Changes since 2.6.9: BUG FIXES: - - A crash bug was fixed when a daemon had its "path" set to "/", did - not have chroot enabled, and used some anchored excludes in the - rsyncd.conf file. - - - Fixed a bug in the transfer of a single file when -H is specified - that might have caused an infinite loop or perhaps a crash. - - - Fixed a case where the generator might try to tweak the write - permissions of a read-only directory in list-only mode. - - - If --compare-dest or --link-dest uses a locally-copied file as the - basis for an updated version, log this better when --verbose or -i - is in effect. - - - Fixed the accidental disabling of --backup during the --delete-after - processing. - - - Restored the ability to use the --address option in client mode (in - addition to its use in daemon mode). + - Fixed the output of -ii when combined with one of the --*-dest options: + it now itemizes all the items, not just the changed ones. - - Make sure that some temporary progress information from the delete - processing does not get left on the screen when it is followed by a - newline. + - Made the output of all file types consistent when using a --*-dest + option. Prior versions used to output too many creation events for + matching items. - - When --existing skips a directory with extra verbosity, don't refer - to it as a "file". + - The code that waits for a child pid now handles being interrupted by + a signal. This fixes a problem with the pre-xfer exec function not + being able to get the exit status from the script. - - When transferring a single file to a different-named file, any - generator messages that are source-file related no longer refer to - the file by the destination filename. + - A negated filter rule now sends the negation option when sending the + filter rules. - - Fixed a bug where hard-linking a group of files might fail if the - generator hasn't created the destination directory yet. - - - Fixed a bug where a hard-linked group of files that is newly-linked - to a file in a --link-dest dir doesn't link the files from the rest - of the cluster. - - - When deleting files with the --one-file-system (-x) option set, rsync - no longer tries to remove files from inside a mount-point on the - receiving side. - - - Fixed a compatibility problem when using --cvs-ignore (-C) and - sending files to an older rsync without using --delete. + - Fixed a problem with -vv (double --verbose) and --stats when "pushing" + files (which includes local copies). Version 2.6.9 would complete the + copy, but exit with an error when the receiver output its memory stats. ENHANCEMENTS: - - Added the --only-write-batch=FILE option that may be used (instead - of --write-batch=FILE) to create a batch file without doing any - actual updating of the destination. This allows you to divert all - the file-updating data away from a slow data link (as long as you - are pushing the data to the remote server when creating the batch). - - - When the generator is taking a long time to fill up its output buffer - (e.g. if the transferred files are few, small, or missing), it now - periodically flushes the output buffer so that the sender/receiver - can get started on the files sooner rather than later. + - Added the --delete-delay option, which is a more efficient way to + delete files at the end of the transfer without needing a separate + delete pass. + + - You may specify --max-delete=0 to a 3.0.0 client as long as the + receiving side is at least version 3.0.0. This means that you + can pull from an older rsync with this option, but pushing to an + older rsync will generate an error. *Be sure to never specify a 0 + value to an older rsync client, or it will be silently ignored.* + + - The --hard-link option now uses less memory on both the sending and + receiving side for all protocol versions. For protocol 30, the use + of a hashtable on the sending side allows us to more efficiently + convey to the receiver what files are linked together. This reduces + the amount of data sent over the socket by a considerable margin, and + moves the in-memory storage of the device+inode information from the + receiving side (for protocols < 30) to the sending side (note that + older rsync versions kept the device+inode information on both + sides). - - Improved the auth-errors that are logged by the daemon to include - some information on why the authorization failed (wrong user, - password mismatch, etc.). (The client-visible message is unchanged.) - - - Improved the client's handling of an "@ERROR" from a daemon so that - it does not complain about an unexpectedly closed socket (since we - really did expect the socket to close). + INTERNAL: - - If the daemon can't open the log-file specified in rsyncd.conf, fall - back to using syslog. This is better than a (typically) totally - silent failure (since a daemon is not usually run with --no-detach). + - Added some isType() functions that make dealing with signed characters + easier without forcing variables via casts. - INTERNAL: + - Upgraded the included popt version to 1.10.2 and improved its use of + string-handling functions. - - Rsync now calls setlocale(LC_CTYPE, ""). + - Added missing prototypes for compatibility functions from the lib dir. - BUILD CHANGES: + - Configure determines if iconv() has a const arg, allowing us to avoid a + compiler warning. - - Fixed a bug in the SUPPORT{,_HARD}_LINKS defines which prevented - rsync from being built without symlink or hard-link support. + - Made the sending of some numbers more efficient for protocol 30. - - You can use --disable-locale to turn off any use of setlocale(). + - Improved the use of "const" on pointers. - - Configure now disables the use of mkstemp() under HP-UX (since they - refuse to fix its broken handling of large files). + DEVELOPER RELATED: - - Configure now explicitly checks for the lseek64() function so that - the code can use HAVE_LSEEK64 instead of inferring lseek64()'s - presence based on the presence of the off64_t type. + - ...