Skip to content

Unreleased Changes in The Mainline

Breaking Changes

Other Changes and Enhancements

  • try_next_host_on_transport_error option to more aggressively retry failures that are either transport errors (eg: timeout) or are not definitively associated with the message (eg: response to commands in between transactions).
  • You may now specify outbound SMTP port numbers when configuring make_queue_config().protocol with an mx_list.
  • You may now specify outbound SMTP port numbers when assigning either the routing_domain or the domain portion of the scheduled queue name using the queue meta item. #352
  • kumo.dns.lookup_ptr function for looking up PTR records. Thanks to @kayozaki! #390
  • kumo.mpsc.define function for advanced non-durable, non-persistent, in-memory queue processing.
  • kumo.fs module for efficiently working with the filesystem. The functions kumo.read_dir, kumo.glob and kumo.uncached_glob have been deprecated in favor of functions with the same names in kumo.fs. In addition, a new kumo.fs.open function that can create async capable file handles is now provided.
  • SMTP Receptions made via TLS now: #100
    • Show in the trace headers as ESMTPS/ESMTPSA along with the TLS version and cipher as a comment. eg: with ESMTPS (TLSv1_3:TLS13_AES_256_GCM_SHA384)
    • Are recorded as tls_cipher, tls_protocol_version and tls_peer_subject_name in the meta values for the message and in the Reception log record.
  • New tls_required_client_ca parameter to aid in configuring mTLS
  • HTTP endpoints now support decompressing deflate and gzip compressed request bodies, which helps to reduce bandwidth usage particularly with the injection API. Thanks to @dschaaff! #394
  • You may now consume HashiCorp Vault secrets stored with keys named something other than key by using the new optional vault_key field in a KeySource. Thanks to @pankajrathi95! #399

Fixes

  • msg:check_fix_conformance could panic when attempting to fix messages with broken base64 parts