Release 2023.08.22-4d895015 - Automation
- 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
shaping.tomlfile 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
max_deliveries_per_connectionnow defaults to
1024rather 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
@smtpon the end of queue names in metrics and in the
site_namefield of log records as a result of this change.
- It is now more convenient to do smart hosting using the new smtp protocol
- Introduced new
routing_domainmeta 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
relay_from_authzto 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.
- Loading secrets from HashiCorp Vault failed to parse underlying json data into a byte array.
kumo.reject(421, ...)didn't disconnect the incoming session. #79
smtp_server_message_receivedcould still produce a
250 okafter the rejection response.
Last update: 2023-08-25