-------------------------------------------------------------------------------
<a name="3.2.1pre1"></a>
# NEWS for rsync 3.2.1pre1 (21 Jun 2020)
### ENHANCEMENTS:
- Added `--early-input=FILE` option that allows the client to send some
- data to the (optional) "early exec" daemon script on its stdin.
+ data to a daemon's (optional) "early exec" script on its stdin.
- Mention atimes in the capabilities list that `--version` outputs.
- Fixed a couple bugs in the handling of files with the `--sparse` option.
- - Fixed a bug in the writing of the batch.sh file (w/--write-batch) when the
+ - Fixed a bug in the writing of the batch.sh file (w/`--write-batch`) when the
source & destination args were not last on the command-line.
- Avoid a hang when an overabundance of messages clogs up all the I/O buffers.
of debug specified. This also allows for newer debug options to be
specified, such as using `--debug=NSTR` to see the negotiated hash result,
without having the command fail if the server version is too old to handle
- that debug item. Use -M--debug=OPTS to send the options to the remote side.
+ that debug item. Use `-M--debug=OPTS` to send the options to the remote side.
- Added the `--atimes` option based on the long-standing patch (just with some
fixes that the patch has been needing).
- If `make proto` doesn't find some changes in the prototypes, the proto.h
file is left untouched (its time-stamp used to always be updated).
- - The variable $STRIP (that is optionally set by the install-strip target's
- rule) was changed to `$INSTALL_STRIP` because some systems have $STRIP
+ - The variable `$STRIP` (that is optionally set by the install-strip target's
+ rule) was changed to `$INSTALL_STRIP` because some systems have `$STRIP`
already set in the environment.
- Fixed a build problem when `SUPPORT_HARD_LINKS` isn't defined.
txt = replace_or_die(x_re, repl, txt, f"Unable to find SUBPROTOCOL_VERSION define in {fn}")
elif fn == 'NEWS.md':
efv = re.escape(finalversion)
- x_re = re.compile(r'^---+\n<.+>\s+# NEWS .+\s+Protocol: .+\n')
- repl = ('-'*78 + f'\n<a name="{version}"></a>\n\n# NEWS for rsync {version} ({today})\n\n'
+ # The following refuses to match a 1.2.3 version without suffix because it was already released.
+ x_re = re.compile(r'^<.+>\s+# NEWS for rsync \d+\.\d+\.\d+[a-z].+\s+Protocol: .+\n')
+ repl = (f'<a name="{version}"></a>\n\n# NEWS for rsync {version} ({today})\n\n'
+ f"Protocol: {protocol_version} ({proto_changed})\n")
- msg = f"The top lines of {fn} are not in the right format. They must be:\n" + repl
+ good_top = repl.replace(version, version + 'dev')
+ msg = f"The top lines of {fn} are not in the right format. It should be:\n" + good_top
txt = replace_or_die(x_re, repl, txt, msg)
x_re = re.compile(r'^(\| )(\S{2} \S{3} \d{4})(\s+\|\s+%s\s+\| ).{11}(\s+\| )\S{2}(\s+\|+)$' % efv, re.M)
repl = lambda m: m[1] + (m[2] if pre else ztoday) + m[3] + proto_change_date + m[4] + protocol_version + m[5]