X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6dfb45bcdf7f40e970a7be7bb67a567dd1484744..82471e68a8bb3da8ca95f2b6564c330c52ce891e:/NEWS diff --git a/NEWS b/NEWS index 317b2b0e..37cc29af 100644 --- a/NEWS +++ b/NEWS @@ -1,27 +1,103 @@ -rsync 2.5.3 (not released yet) +NEWS for rsync 2.6.4 (UNRELEASED) +Protocol: 29 (changed) +Changes since 2.6.3: - SECURITY FIXES: - - * Make sure that supplementary groups are removed from a server - process after changing uid and gid. (Ethan Benson) + 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. + BUG FIXES: - * Fixed problem that in many cases caused the error message - unexpected read size of 0 in map_ptr - and resulted in the wrong data being copied. + - 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). + + - 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 picked up from the cygwin 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. - * Fixed compilation errors on some systems caused by the use of - "unsigned int64" in rsync.h. + - One place in the code wasn't checking if fork() failed. + + - The "ignore nonreadable" daemon parameter no longer affects symlinks + that are being copied, even if they point nowhere. + + - 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, don't try to + backup a file in DIR when DIR is relative. ENHANCEMENTS: - * Command to initiate connections is only shown with -vv, rather - than -v as in 2.5.2. Output from plain -v is more similar to - what was historically used so as not to break scripts that try - to parse the output. + - Rsync now supports popt's option aliases, which means that you can + use /etc/popt and/or ~/.popt to create your own option aliases. + + - Added the --copy-dest option, which works like --link-dest except + that it includes copies of identical files. + + - Added support for specifying multiple --compare-dest, --copy-dest, or + --link-dest options, but only of a single type. (Promoted from the + patches dir and enhanced.) + + - Added the --max-size option. (Promoted from the patches dir.) + + - The daemon-mode options were separated from the normal rsync options + so that they can't be mixed together. This makes it impossible to + start a daemon that had improper default option values that could + cause problems (such as a hang or an abort) when a client connects. + + - The --bwlimit option may now be used in combination with --daemon + to specify a default value for the daemon side and also a value + that cannot be exceeded by a user-specified --bwlimit option. + + - Added the "port" parameter to the rsyncd.conf file. (Promoted from + the patches dir.) + + - In _exit_cleanup(): when we are exiting with a partially-received + file, we now flush any data in the write-cache before closing the + partial file. + + - The --inplace support was enhanced to work with --compare-dest, + --link-dest, and (the new) --copy-dest options. + + - Added the --dirs option for an easier way to copy directories + without recursion. + + - Added the --list-only option which is mainly a way for the client to + put the server into listing mode without needing to resort to any + option kluges (e.g. the age-old use of "-r --exclude="/*/*" for a + non-recursive listing). + + - Added support/atomic-rsync -- a perl script that will transfer some + files using rsync, and then move the updated files into place all at + once at the end of the transfer. Only works when pulling, and uses + --link-dest. + + INTERNAL: + + - Added better checking of the checksum header values that come over + the socket. + + - Improved the type of some variables for consistency and proper size. - * Added --no-whole-file and --no-blocking-io options (Dave Dykstra) + BUILD CHANGES: - * Made the --write-batch and --read-batch options actually work - and added documentation in the man page (Jos Backus) + - Handle an operating system that use mkdev() in place of makedev().