Add the --stop-after & --stop-at options.
[rsync.git] / NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 1d6dea697ece042cdfe093aae839257914495000..30a741288b5fc4839c9990ed242905177f709bb7 100644 (file)
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,10 +1,43 @@
-<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:
 
@@ -27,7 +60,7 @@ Protocol: 31 (unchanged)
    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.
@@ -39,10 +72,21 @@ Protocol: 31 (unchanged)
    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:
@@ -61,14 +105,15 @@ Protocol: 31 (unchanged)
  - 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:
 
@@ -131,9 +176,7 @@ Protocol: 31 (unchanged)
 
 # NEWS for rsync 3.2.0 (19 Jun 2020)
 
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.3:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -186,6 +229,13 @@ Protocol: 31 (unchanged)
 
 ### 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
@@ -281,7 +331,7 @@ Protocol: 31 (unchanged)
 
 ### 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
 
@@ -321,7 +371,7 @@ Protocol: 31 (unchanged)
 
  - 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.
 
@@ -338,9 +388,7 @@ Protocol: 31 (unchanged)
 
 # NEWS for rsync 3.1.3 (28 Jan 2018)
 
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.2:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -410,9 +458,7 @@ Protocol: 31 (unchanged)
 
 # NEWS for rsync 3.1.2 (21 Dec 2015)
 
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.1:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -478,9 +524,7 @@ Protocol: 31 (unchanged)
 
 # NEWS for rsync 3.1.1 (22 Jun 2014)
 
-Protocol: 31 (unchanged)
-
-## Changes since 3.1.0:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -600,9 +644,11 @@ Protocol: 31 (unchanged)
 
 # 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:
 
@@ -849,9 +895,7 @@ Protocol: 31 (changed)
 
 # NEWS for rsync 3.0.9 (23 Sep 2011)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.8:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -911,9 +955,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.8 (26 Mar 2011)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.7:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1052,9 +1094,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.7 (31 Dec 2009)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.6:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1122,9 +1162,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.6 (8 May 2009)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.5:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1183,9 +1221,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.5 (28 Dec 2008)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.4:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1250,9 +1286,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.4 (6 Sep 2008)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.3:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1320,9 +1354,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.3 (29 Jun 2008)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.2:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1413,9 +1445,7 @@ Protocol: 30 (unchanged)
 
 # NEWS for rsync 3.0.2 (8 Apr 2008)
 
-Protocol: 30 (unchanged)
-
-## Changes since 3.0.1:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -1437,9 +1467,7 @@ Protocol: 30 (unchanged)
 
 # 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:
 
@@ -1577,9 +1605,11 @@ Protocol: 30 (unchanged)
 
 # 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:
 
@@ -1926,9 +1956,7 @@ Protocol: 30 (changed)
 
 # NEWS for rsync 2.6.9 (6 Nov 2006)
 
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.8:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -2088,9 +2116,7 @@ Protocol: 29 (unchanged)
 
 # NEWS for rsync 2.6.8 (22 Apr 2006)
 
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.7:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -2160,9 +2186,7 @@ Protocol: 29 (unchanged)
 
 # NEWS for rsync 2.6.7 (11 Mar 2006)
 
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.6:
+## Changes in this version:
 
 ### OUTPUT CHANGES:
 
@@ -2486,9 +2510,7 @@ Protocol: 29 (unchanged)
 
 # NEWS for rsync 2.6.6 (28 Jul 2005)
 
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.5:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -2554,9 +2576,7 @@ Protocol: 29 (unchanged)
 
 # NEWS for rsync 2.6.5 (1 Jun 2005)
 
-Protocol: 29 (unchanged)
-
-## Changes since 2.6.4:
+## Changes in this version:
 
 ### OUTPUT CHANGES:
 
@@ -2737,9 +2757,11 @@ Protocol: 29 (unchanged)
 
 # 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:
 
@@ -3117,9 +3139,7 @@ Protocol: 29 (changed)
 
 # NEWS for rsync 2.6.3 (30 Sep 2004)
 
-Protocol: 28 (unchanged)
-
-## Changes since 2.6.2:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -3363,9 +3383,7 @@ Protocol: 28 (unchanged)
 
 # NEWS for rsync 2.6.2 (30 Apr 2004)
 
-Protocol: 28 (unchanged)
-
-## Changes since 2.6.1:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -3407,9 +3425,11 @@ Protocol: 28 (unchanged)
 
 # 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:
 
@@ -3597,9 +3617,12 @@ Protocol: 28 (changed)
 
 # 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:
 
@@ -3734,9 +3757,7 @@ Protocol: 27 (changed)
 
 # NEWS for rsync 2.5.7 (4 Dec 2003)
 
-Protocol: 26 (unchanged)
-
-## Changes since 2.5.6:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -3748,9 +3769,7 @@ Protocol: 26 (unchanged)
 
 # 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:
 
@@ -3845,9 +3864,7 @@ Protocol: 26 (unchanged)
 
 # 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:
 
@@ -3886,9 +3903,7 @@ Protocol: 26 (unchanged)
 
 # 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:
 
@@ -3908,9 +3923,7 @@ Protocol: 26 (unchanged)
 
 # 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:
 
@@ -3959,9 +3972,7 @@ Protocol: 26 (unchanged)
 
 # NEWS for rsync 2.5.2 (26 Jan 2002)
 
-Protocol: 26 (changed)
-
-## Changes since 2.5.1:
+## Changes in this version:
 
 ### SECURITY FIXES:
 
@@ -3969,6 +3980,10 @@ Protocol: 26 (changed)
    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.
@@ -4006,9 +4021,7 @@ Protocol: 26 (changed)
 
 # NEWS for rsync 2.5.1 (3 Jan 2002)
 
-Protocol: 25 (unchanged)
-
-## Changes since 2.5.0:
+## Changes in this version:
 
 ### BUG FIXES:
 
@@ -4043,9 +4056,11 @@ Protocol: 25 (unchanged)
 
 # 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:
 
@@ -4163,7 +4178,7 @@ Protocol: 25 (changed)
 
 | 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          |