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