The rfc5321_rustls_config cache has been renamed to rustls_client_config.
If you have a policy that tunes this cache via
kumo.set_lruttl_cache_capacity,
you will need to update the cache name.
The effect of the skip_hosts
configuration has been downgraded from a 550 to a 451 to make it more inline
with the effect of resolving a domain to an empty list of MX hosts. The rationale
for this is that users primarily employ skip_hosts to prevent the use of IPv6.
That, coupled with a few recent issues with Microsoft hosted domains where their
DNS would only transiently return IPv6 addresses (no IPv4) addresses meant that
some mail could be inadvertently permanently failed. The reason field now
also has KumoMTA internal: prefixed to it, to make it clearer that it was
synthesized by us, rather than returned from a remote host.
Other Changes and Enhancements
Enhanced Access Control subsystem,
supported by a new Authentication, Authorization and Accounting (AAA) module
exposed to lua as kumo.aaa.
The Handlebars template dialect now runs with recursive lookup
for improved compatibility with other handlebars implementations.
msg:check_fix_conformance() can now detect and attempt to fix issues where
the charset is invalid for parts that use transfer-encoding, by applying
any charset detection options, falling back to UTF-8.
Rebuilding (eg: for conformance fixing via msg:check_fix_conformance(), or
as part of the post-HTTP injection fixup) a header like From:
"something\n\tthat wraps lines" <user@example.com> would produce an invalid
rendition of that header.
Setting content.headers["To"] in the HTTP injection API would result in
two To headers being generated in the message; one for the per-recipient
To header, and one for the specified content.headers["To"] value. This
has been fixed; the behavior now is to use the content.headers["To"]
header and not to emit a per-recipient To header in this situation.
HTTP Injection didn't gate on the spool being started which meant that
there was a race condition on startup where an injection request could
begin processing prior to starting spool enumeration, which could then
cause a set_meta_spool has not been called panic.
HTTP Injection and XFER Injections didn't grab an Activity handle which
meant that there was a potential race condition when shutting down the
system which could result in loss of accountability of the message(s)
that were part of that request.
Fixed possible integer overflow when computing a very long delay.
Thanks to @edgarsendernet! #480
Filter out not-relevant-to-TSA records earlier in the logging pipeline. #478
Outbound SMTP connections that have been closed by the destination during
idle time are now detected more robustly in between message sends, reducing
the rate at which a message will get classified as an internal connection
failure. #482