X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/db8f3f73505eaa04447298370646e6fccc795bb5..554dc122f271fc361b963067fa3d80084fd7ca91:/NEWS diff --git a/NEWS b/NEWS index fade74d6..4b38c7c1 100644 --- a/NEWS +++ b/NEWS @@ -1,89 +1,136 @@ -NEWS for rsync 3.0.3 (29 Jun 2008) -Protocol: 30 (unchanged) -Changes since 3.0.2: +NEWS for rsync 3.1.0 (UNRELEASED) +Protocol: 31 (changed) +Changes since 3.0.4: + + OUTPUT CHANGES: + + - Output numbers in 3-digit groups by default (e.g. 1,234,567). See the + --human-readable option for a way to turn it off. See also the daemon's + "log format" parameter and related command-line options (including + --out-format) for a modifier that can be used to request digit-grouping + or human-readable output in log escapes. (Note that log output is + unchanged by default.) When some level of human-readable output is + enabled, the column width for the file size in the --list-only output + is increased. + + - The output of the --progress option has changed: the string "xfer" was + shortened to "xfr", and the string "to-check" was shortened to "to-chk", + both designed to make room for the (by default) wider display of file + size numbers without making the total line-length longer. Also, when + incremental recursion is enabled, the string "ir-chk" will be used + instead of "to-chk" up until the incremental-recursion scan is done, + letting you know that the value to check and the total value will still + be increasing as new files are found. + + - Enhanced the --stats output: 1) to mention how many files were created + (protocol >= 28), 2) to mention how many files were deleted (new for + protocol 31, but only output when --delete is in effect), and 3) to + follow the file-count, created-count, and deleted-count with a subcount + list broken down by type. BUG FIXES: - - Fixed a wildcard matching problem in the daemon when a module has - "use chroot" enabled. + - Changed the way --progress overwrites its prior output in order to make + it nearly impossible for the progress to get overwritten by an error. - - Fixed a crash bug in the hard-link code. + - Fixed some rare bugs in --iconv processing that might cause a multibyte + character to get translated incorrectly. - - Fixed the sending of xattr directory information when the code finds a - --link-dest or --copy-dest directory with unchanged xattrs -- the - destination directory now gets these unchanged xattrs properly applied. + - Improved the propagation of abnormal-exit error messages. This should + help the client side to receive errors from the server when it is exiting + abnormally, and should also avoid dying with an "connection unexpectedly + closed" exit when the closed connection is really expected. - - Fixed an xattr-sending glitch that could cause an "Internal abbrev" - error. + ENHANCEMENTS: - - Fixed the combination of --xattrs and --backup. + - Added the --remote-option=OPT (-M OPT) command-line option that is useful + for things like sending a remote --log-file=FILE or --fake-super option. - - The generator no longer allows a '.' dir to be excluded by a daemon- - exclude rule. + - Added the --info=FLAGS and --debug=FLAGS options to allow finer-grained + control over what is output. Added an extra type of --progress output + using --info=progress2. - - Fixed deletion handling when copying a single, empty directory (with no - files) to a differently named, non-existent directory. + - The --msgs2stderr option can help with debugging rsync by allowing the + debug messages to get output to stderr rather than travel via the socket + protocol. - - Fixed the conversion of spaces into dashes in the %M log escape. + - Added the --delete-missing-args and --ignore-missing-args options to + either delete or ignore user-specified files on the receiver that are + missing on the sender (normally the absence of user-specified files + generates an error). - - Fixed several places in the code that were not returning the right - errno when a function failed. + - Added a "T" (terabyte) category to the --human-readable size suffixes. - - Fixed the backing up of a device or special file into a backup dir. + - Added the --usermap/--groupmap/--chown options for manipulating file + ownership during the copy. - - Moved the setting of the socket options prior to the connect(). + - Added the "%C" escape to the log-output handling, which will output the + MD5 checksum of any transferred file, or all files if --checksum was + specified (when protocol 30 or above is in effect). - - If rsync exits in the middle of a --progress output, it now outputs a - newline to help prevent the progress line from being overwritten. + - Added the "reverse lookup" parameter to the rsync daemon config file to + allow reverse-DNS lookups to be disabled. - - Fixed a problem with how a destination path with a trailing slash or - a trailing dot-dir was compared against the daemon excludes. + - Added a way for more than one group to be specified in the daemon's + config file, including a way to specify that you want all of the + specified user's groups without having to name them. Also changed the + daemon to complain about an inability to set explicitly-specified uid/gid + values, even when not run by a super-user. - - Fixed the sending of large (size > 16GB) files when talking to an older - rsync (protocols < 30): we now use a compatible block size limit. + - Added a way to reference environment variables in a daemon's config file + (using %VAR% references). - - If a file's length is so huge that we overflow a checksum buffer count - (i.e. several hundred TB), warn the user and avoid sending an invalid - checksum struct over the wire. + - When replacing a non-dir with a symlink/hard-link/device/special-file, + the update should now be done in an atomic manner. - - If a source arg is excluded, --relative no longer adds the excluded - arg's implied dirs to the transfer. This fix also made the exclude - check happen in the better place in the sending code. + - Fixed a free of the wrong pointer in uncache_tmp_xattrs() (which only + sometimes affects an --xattr transfer when --backup is used). - - Use the overflow_exit() function for overflows, not out_of_memory(). + - When backing up a file, try to hard-link the file into place so that the + upcoming replacement of the destination file will be atomic. - - Improved the code to better handle a system that has only 32-bit file - offsets. + - Added the ability to synchronize nano-second modified times. - ENHANCEMENTS: + - Added a few more default suffixes for the "dont compress" settings. - - The rsyncd.conf manpage now consistently refers to the parameters in - the daemon config file as "parameters". + - Added the checking of the RSYNC_PROTECT_ARGS environment variable to allow + the default for the --protect-args command-line option to be overridden. - - The description of the --inplace option was improved. + - Added some Solaris xattr code. EXTRAS: - - Added a new script in the support directory, deny-rsync, which allows - an admin to (temporarily) replace the rsync command with a script that - sends an error message to the remote client via the rsync protocol. + - Added an "instant-rsyncd" script to the support directory, which makes + it easy to configure a simple rsync daemon in the current directory. - DEVELOPER RELATED: + - Added the "mapfrom" and "mapto" scripts to the support directory, which + makes it easier to do user/group mapping in a local transfer based on + passwd/group files from another machine. + + INTERNAL: + + - The I/O code was rewritten to be simpler and do bigger buffered reads + over the socket. The I/O between the receiver and the generator was + changed to be standard multiplexed-I/O (like that over the socket). - - Fixed a testcase failure if the tests are run as root and made some - compatibility improvements. + - The sender tries to use any dead time while the generator is looking for + files to transfer in order to do sender-side directory scanning in a more + parallel manner. - - Improved the daemon tests, including checking module comments, the - listing of files, and the ensuring that daemon excludes can't affect - a dot-dir arg. + - A daemon can now inform a client about a daemon-configured timeout value + so that the client can assist in the keep-alive activity (protocol 31). - - Improved some build rules for those that build in a separate directory - from the source, including better install rules for the man pages, and - the fixing of a proto.h-tstamp rule that could make the binaries get - rebuild without cause. + - The filter code received some refactoring to make it more extendable, to + read better, and do better sanity checking. - - Improved the testsuite to work around a problem with some utilities - (e.g. cp -p & touch -r) rounding sub-second timestamps. + - Really big numbers are now output using our own big-num routine rather + than casting them to a double and using a %.0f conversion. + + - The pool_alloc library has received some minor improvements in alignment + handling. + + - Added init_stat_x() function to avoid duplication of acl/xattr init code. + + DEVELOPER RELATED: - - Ensure that the early patches don't cause any generated-file hunks to - bleed-over into patches that follow. + - Added more conditional debug output.