edf594526e42964af9e782a52376c051a97a03ac
[rsync.git] / NEWS
1 NEWS for rsync 3.2.0 (UNRELEASED)
2 Protocol: 31 (unchanged)
3 Changes since 3.1.3:
4
5   BUG FIXES:
6
7     - Avoid a potential out-of-bounds read in daemon mode if argc can be made
8       to become 0.
9
10     - Fix the default list of skip-compress files for non-daemon transfers.
11
12     - Fix xattr filter rules losing an 'x' attribute in a non-local transfer.
13
14     - Avoid an error when a check for a potential fuzzy file happens to
15       reference a directory.
16
17     - Make the atomic-rsync helper script have a more consistent error-exit.
18
19     - Make sure that a signal handler calls _exit() instead of exit().
20
21     - Various zlib fixes, including security fixes for CVE-2016-9843,
22       CVE-2016-9842, CVE-2016-9841, and CVE-2016-9840.
23
24     - Fixed an issue with --remove-source-files not removing a source symlink
25       when combined with --copy-links.
26
27     - Fixed a bug where the daemon would fail to write early fatal error
28       messages to the client, such as refused or unknown command-line options.
29
30     - Fixed the block-size validation logic when dealing with older protocols.
31
32     - Some rrsync fixes and enhancements to handle the latest options.
33
34     - Fixed a crash in the --iconv code.
35
36     - Fixed a bug in the writing of the batch.sh file (w/--write-batch) when
37       the source & destination args were not last on the command-line.
38
39   ENHANCEMENTS:
40
41     - Various checksum enhancements, including x86_64 optimizations for the
42       rolling checksum, optimizations for the MD5 checksums, the addition of
43       xxhash checksums, and a simple checksum negotation heuristic that will
44       ensure that it is easier to add improved checksum algorithms in the
45       future.  Currently the x86_64 optimizations require the use of the
46       --enable-simd flag to configure, but they will probably be enabled by
47       default in the near future.
48
49     - Improved the --atimes patch and promoted it to be in the release.
50
51     - Added --open-noatime option to open files using O_NOATIME.
52
53     - Improved the --write-devices patch and promoted it to be in the release.
54
55     - Added openssl support to the rsync-ssl script via its renamed helper
56       script, rsync-ssl-rsh.  Both bash scripts are now installed by default
57       (removing the install-ssl-client make target).  Rsync was also enhanced
58       to set the RSYNC_PORT environment variable when running a daemon-over-rsh
59       script. Its value is the user-specified port number (set via --port or an
60       rsync:// URL) or 0 if the user didn't override the port.
61
62     - Added negated matching to the daemon's "refuse options" setting by using
63       match strings that start with a "!" (such as "!compress*").
64
65     - Added a status output based on a signal (via both SIGINFO & SIGVTALRM).
66
67     - Added a --copy-as=USER option to give some extra security to root-run
68       rsync commands into/from untrusted directories (such as backups and
69       restores).
70
71     - When resuming the transfer of a file in the --partial-dir, rsync will now
72       update that partial file in-place instead of creating yet another tmp
73       file copy.  This requires both sender & receiver to be at least v3.2.0.
74
75     - Added support for RSYNC_SHELL & RSYNC_NO_XFER_EXEC environment variables
76       that affect the pre-xfer exec and post-xfer exec rsync daemon options.
77
78     - Fixed a problem with the --link-dest|--copy-dest code when --xattrs was
79       specified along with multiple alternate-destination directories (it could
80       possibly choose a bad file match while trying to find a better xattr
81       match).
82
83     - Various manpage improvements.
84
85   DEVELOPER RELATED:
86
87     - Silenced some annoying warnings about major()|minor() due to the autoconf
88       include-file check not being smart enough.
89
90     - Improved some configure checks to work better with strict C99 compilers.
91
92     - Some perl scripts were recoded into awk and python3.
93
94     - Some code typos were fixed (as pointed out by a Fossies run).