| 1 | NEWS for rsync 3.0.0 (UNRELEASED) |
| 2 | Protocol: 30 (changed) |
| 3 | Changes since 2.6.9: |
| 4 | |
| 5 | BUG FIXES: |
| 6 | |
| 7 | - Fixed the output of -ii when combined with one of the --*-dest options: |
| 8 | it now itemizes all the items, not just the changed ones. |
| 9 | |
| 10 | - Made the output of all file types consistent when using a --*-dest |
| 11 | option. Prior versions used to output too many creation events for |
| 12 | matching items. |
| 13 | |
| 14 | - The code that waits for a child pid now handles being interrupted by |
| 15 | a signal. This fixes a problem with the pre-xfer exec function not |
| 16 | being able to get the exit status from the script. |
| 17 | |
| 18 | - A negated filter rule now sends the negation option when sending the |
| 19 | filter rules. |
| 20 | |
| 21 | - Fixed a problem with the --out-format (aka --log-format) option: it |
| 22 | would output superfluous directory information for a non-daemon rsync. |
| 23 | |
| 24 | - Fixed a problem with -vv (double --verbose) and --stats when "pushing" |
| 25 | files (which includes local copies). Version 2.6.9 would complete the |
| 26 | copy, but exit with an error when the receiver output its memory stats. |
| 27 | |
| 28 | - If --password-file is used on a non-daemon transfer, rsync now complains |
| 29 | and exits. This should help users figure out that they can't use this |
| 30 | option to control a remote shell's password prompt. |
| 31 | |
| 32 | - Make sure that directory permissions of a newly-created destination |
| 33 | directory are handled right when --perms is left off. |
| 34 | |
| 35 | ENHANCEMENTS: |
| 36 | |
| 37 | - A new incremental-recursion algorithm is now used when rsync is talking |
| 38 | to another 3.0.0 version. This starts the transfer going more quickly |
| 39 | (before all the files have been found), and requires much less memory. |
| 40 | See the --recursive option in the manpage for some restrictions. |
| 41 | |
| 42 | - The default --delete algorithm is now --delete-during when talking to a |
| 43 | 3.x rsync. This is a faster scan than using --delete-before (which is |
| 44 | the default when talking to older rsync versions), and is compatible |
| 45 | with the new incremental recursion mode. |
| 46 | |
| 47 | - Added the --delete-delay option, which is a more efficient way to |
| 48 | delete files at the end of the transfer without needing a separate |
| 49 | delete pass. |
| 50 | |
| 51 | - You may specify --max-delete=0 to a 3.0.0 client as long as the |
| 52 | receiving side is at least version 3.0.0. This means that you |
| 53 | can pull from an older rsync with this option, but pushing to an |
| 54 | older rsync will generate an error. *Be sure to never specify a 0 |
| 55 | value to an older rsync client, or it will be silently ignored.* |
| 56 | |
| 57 | - The --hard-link option now uses less memory on both the sending and |
| 58 | receiving side for all protocol versions. For protocol 30, the use |
| 59 | of a hashtable on the sending side allows us to more efficiently |
| 60 | convey to the receiver what files are linked together. This reduces |
| 61 | the amount of data sent over the socket by a considerable margin |
| 62 | (rather than adding more data), and limits the in-memory storage of |
| 63 | the device+inode information to just the sending side for the new |
| 64 | protocol 30, or to the receiving side when speaking an older protocol |
| 65 | (note that older rsync versions kept the device+inode information on |
| 66 | both sides). |
| 67 | |
| 68 | INTERNAL: |
| 69 | |
| 70 | - Added some isType() functions that make dealing with signed characters |
| 71 | easier without forcing variables via casts. |
| 72 | |
| 73 | - Upgraded the included popt version to 1.10.2 and improved its use of |
| 74 | string-handling functions. |
| 75 | |
| 76 | - Added missing prototypes for compatibility functions from the lib dir. |
| 77 | |
| 78 | - Configure determines if iconv() has a const arg, allowing us to avoid a |
| 79 | compiler warning. |
| 80 | |
| 81 | - Made the sending of some numbers more efficient for protocol 30. |
| 82 | |
| 83 | - Make sure that a daemon process doesn't mind if the client was weird and |
| 84 | omitted the --server option. |
| 85 | |
| 86 | - Improved the use of "const" on pointers. |
| 87 | |
| 88 | DEVELOPER RELATED: |
| 89 | |
| 90 | - ... |