Release 2023.08.22-4d895015 - Automation
Breaking Changes
- kumo.configure_log_hook now requires a name field to be set to identify which instance of a log hook is being considered by the should_enqueue_log_record event. This change is to support distributing logs to the traffic shaping automation service in addition to feeding them into your own reporting infrastructure.
New: Traffic Shaping Automation
- The
shaping.toml
file now supports automation rules. See the UserGuide for information on how to deploy this feature.
Other Changes and Enhancements
- Calling kumo.configure_redis_throttles now also enables redis-based shared connection limits. #41
- kumo.make_egress_path
max_deliveries_per_connection
now defaults to1024
rather than unlimited. Specifying unlimited deliveries is no longer supported as part of shared connection limit lease fairness. #41 - Added message:remove_all_named_headers. Thanks to @postmastery! #70
- Ready queue names now factor in the delivery protocol, making it easier to vary
the protocol by eg: tenant or campaign while keeping the domain the same.
You will notice a suffix like
@smtp
on the end of queue names in metrics and in thesite_name
field of log records as a result of this change. - It is now more convenient to do smart hosting using the new smtp protocol
mx_list
in kumo.make_queue_config. - Introduced new
routing_domain
meta value (see predefined values) which allows you to override the recipient domain for routing/delivery, without blending scheduled queues. - New kumo.cidr.make_map function for building CIDR lookup tables/mappings.
- The listener_domains policy
helper
now supports
relay_from_authz
to allow listing out authorization identities for which relaying from a particular sending domain is permitted. - The kumo.digest module for computing SHA digests of strings and other data.
- The kumo.encode module for encoding/decoding base32, base64 and hex strings.
- kumo.dns.configure_resolver for adjusting DNS resolver configuration.
- kumo.dkim.ed25519_signer now also supports loading signing keys that are in PEM encoded PKCS8 format.
Fixes
- Loading secrets from HashiCorp Vault failed to parse underlying json data into a byte array.
kumo.reject(421, ...)
didn't disconnect the incoming session. #79kumo.reject
insmtp_server_message_received
could still produce a250 ok
after the rejection response.
Last update:
2023-08-25
Created: 2023-04-03
Created: 2023-04-03