-<a name="3.2.2"></a>
+<a name="3.2.3"></a>
+
+# NEWS for rsync 3.2.3 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+ - Fixed a bug in the xattr code that was freeing the wrong object when trying
+ to cleanup the xattr list.
+
+ - Fixed the specifying of --bwlimit=0 for unlimited (the default).
+
+### ENHANCEMENTS:
+
+ - Allow `--max-alloc=0` to specify unlimited.
+
+ - Allow `--block-size=SIZE` to specify the size using units such as "100K".
+
+ - The name of the id 0 user & group is now sent to the receiver along with the
+ other user/group names in the transfer (instead of assuming that both sides
+ have the same id-0 names).
+
+ - Added the `--stop-after=MINS` and `--stop-at=DATE_TIME` options (with the
+ `--time-limit=MINS` option accepted as an alias for `--stop-after`). This
+ is an enhanced version of the time-limit patch from the patches repo.
+
+ - Added some compatibility code for HPE NonStop platforms.
+
+### INTERNAL:
+
+ - Use a C99 Flexible Array for a trailing variable-size filename in a struct
+ with a fallback to the old 1-char string kluge for older compilers.
-# NEWS for rsync 3.2.2 (UNRELEASED)
+------------------------------------------------------------------------------
+<a name="3.2.2"></a>
-Protocol: 31 (unchanged)
+# NEWS for rsync 3.2.2 (4 Jul 2020)
-## Changes since 3.2.1:
+## Changes in this version:
### BUG FIXES:
apply to both.
- Simplify how the negotiation environment variables apply when interacting
- with an older rsync version and when they contain only invalid names.
+ with an older rsync and also when a list contains only invalid names.
- Do not allow a negotiated checksum or compression choice of "none" unless
the user authorized it via an environment variable or command-line option.
also allows you to specify the value via the RSYNC_MAX_ALLOC environment
variable.
+ - Add the "open atime" daemon parameter to allow a daemon to always enable or
+ disable the use of O_NOATIME (the default is to let the user control it).
+
+ - The default systemd config was changed to remove the `ProtectHome=on`
+ setting since rsync is often used to serve files in /home and /root and this
+ seemed a bit too strict. Feel free to use `systemctl edit rsync` to add
+ that restriction (or maybe `ProtectHome=read-only`), if you like. See the
+ 3.2.0 NEWS for the other restrictions that were added compared to 3.1.3.
+
- The memory allocation functions now automatically check for a failure and
die when out of memory. This eliminated some caller-side check-and-die
code and added some missing sanity-checking of allocations.
+ - Put optimizations into their own list in the `--version` output.
+
- Improved the man page a bit more.
### PACKAGING RELATED:
- Moved the version number out of configure.ac into its own version.h file so
that we don't need to reconfigure just because the version number changes.
+ - Moved the daemon parameter list into daemon-parm.txt so that an awk script
+ can create the interrelated structs and accessors that loadparm.c needs.
+
------------------------------------------------------------------------------
<a name="3.2.1"></a>
# NEWS for rsync 3.2.1 (22 Jun 2020)
-Protocol: 31 (unchanged)
-
-## Changes since 3.2.0:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.2.0 (19 Jun 2020)
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.3:
+## Changes in this version:
### BUG FIXES:
### ENHANCEMENTS:
+ - The default systemd config was made stricter by default. For instance,
+ `ProtectHome=on` (which hides content in /root and /home/USER dirs),
+ `ProtectSystem=full` (which makes /usr, /boot, & /etc dirs read-only), and
+ `PrivateDevices=on` (which hides devices). You can override any of these
+ using the standard `systemctl edit rsync` and add one or more directives
+ under a `[Service]` heading (and restart the rsync service).
+
- Various checksum enhancements, including the optional use of openssl's MD4 &
MD5 checksum algorithms, some x86-64 optimizations for the rolling checksum,
some x86-64 optimizations for the (non-openssl) MD5 checksum, the addition
### PACKAGING RELATED:
- - Add installed binary: /usr/bin/rsync-ssl
+ - Add installed bash script: /usr/bin/rsync-ssl
- Add installed man page: /usr/man/man1/rsync-ssl.1
- Converted the man pages from yodl to markdown. They are now processed via a
simple python3 script using the cmarkgfm **or** commonmark library. This
- should make it easier to package rsync, since yodl has gotten obscure.
+ should make it easier to package rsync, since yodl is rather obscure.
- Improved some configure checks to work better with strict C99 compilers.
# NEWS for rsync 3.1.3 (28 Jan 2018)
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.2:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 3.1.2 (21 Dec 2015)
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.1:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 3.1.1 (22 Jun 2014)
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.0:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.1.0 (28 Sep 2013)
-Protocol: 31 (changed)
+## Changes in this version:
+
+### PROTOCOL NUMBER:
-## Changes since 3.0.9:
+ - The protocol number was changed to 31.
### OUTPUT CHANGES:
# NEWS for rsync 3.0.9 (23 Sep 2011)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.8:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.8 (26 Mar 2011)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.7:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.7 (31 Dec 2009)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.6:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.6 (8 May 2009)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.5:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.5 (28 Dec 2008)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.4:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.4 (6 Sep 2008)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.3:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.3 (29 Jun 2008)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.2:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.2 (8 Apr 2008)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.1:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 3.0.1 (3 Apr 2008)
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.0:
+## Changes in this version:
### NOTABLE CHANGES IN BEHAVIOR:
# NEWS for rsync 3.0.0 (1 Mar 2008)
-Protocol: 30 (changed)
+## Changes in this version:
+
+### PROTOCOL NUMBER:
-## Changes since 2.6.9:
+ - The protocol number was changed to 30.
### NOTABLE CHANGES IN BEHAVIOR:
# NEWS for rsync 2.6.9 (6 Nov 2006)
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.8:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 2.6.8 (22 Apr 2006)
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.7:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 2.6.7 (11 Mar 2006)
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.6:
+## Changes in this version:
### OUTPUT CHANGES:
# NEWS for rsync 2.6.6 (28 Jul 2005)
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.5:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 2.6.5 (1 Jun 2005)
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.4:
+## Changes in this version:
### OUTPUT CHANGES:
# NEWS for rsync 2.6.4 (30 March 2005)
-Protocol: 29 (changed)
+## Changes in this version:
-## Changes since 2.6.3:
+### PROTOCOL NUMBER:
+
+ - The protocol number was changed to 29.
### OUTPUT CHANGES:
# NEWS for rsync 2.6.3 (30 Sep 2004)
-Protocol: 28 (unchanged)
-
-## Changes since 2.6.2:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 2.6.2 (30 Apr 2004)
-Protocol: 28 (unchanged)
-
-## Changes since 2.6.1:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 2.6.1 (26 Apr 2004)
-Protocol: 28 (changed)
+## Changes in this version:
+
+### PROTOCOL NUMBER:
-## Changes since 2.6.0:
+ - The protocol number was changed to 28.
### SECURITY FIXES:
# NEWS for rsync 2.6.0 (1 Jan 2004)
-Protocol: 27 (changed)
+## Changes in this version:
-## Changes since 2.5.7:
+### PROTOCOL NUMBER:
+
+ - The protocol number was changed to 27. The maximum accepted protocol number
+ was increased from 30 to 40.
### ENHANCEMENTS:
# NEWS for rsync 2.5.7 (4 Dec 2003)
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.6:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 2.5.6, aka "the dwd-between-jobs release" (26 Jan 2003)
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.5:
+## Changes in this version:
### ENHANCEMENTS:
# NEWS for rsync 2.5.5, aka Snowy River (2 Apr 2002)
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.4:
+## Changes in this version:
### ENHANCEMENTS:
# NEWS for rsync 2.5.4, aka "Imitation lizard skin" (13 Mar 2002)
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.3:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 2.5.3, aka "Happy 26" (11 Mar 2002)
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.2:
+## Changes in this version:
### SECURITY FIXES:
# NEWS for rsync 2.5.2 (26 Jan 2002)
-Protocol: 26 (changed)
-
-## Changes since 2.5.1:
+## Changes in this version:
### SECURITY FIXES:
some cases we were not sufficiently careful about reading integers from the
network.
+### PROTOCOL NUMBER:
+
+ - The protocol number was changed to 26.
+
### BUG FIXES:
- Fix possible string mangling in log files.
# NEWS for rsync 2.5.1 (3 Jan 2002)
-Protocol: 25 (unchanged)
-
-## Changes since 2.5.0:
+## Changes in this version:
### BUG FIXES:
# NEWS for rsync 2.5.0 (30 Nov 2001)
-Protocol: 25 (changed)
+## Changes in this version:
+
+### PROTOCOL NUMBER:
-## Changes since 2.4.6:
+ - The protocol number was changed to 25.
### ANNOUNCEMENTS:
| RELEASE DATE | VER. | DATE OF COMMIT\* | PROTOCOL |
|--------------|--------|------------------|-------------|
-| ?? Jun 2020 | 3.2.2 | | 31 |
+| 04 Jul 2020 | 3.2.2 | | 31 |
| 22 Jun 2020 | 3.2.1 | | 31 |
| 19 Jun 2020 | 3.2.0 | | 31 |
| 28 Jan 2018 | 3.1.3 | | 31 |