We're pleased to announce the Winter 2025 release, now available through our repos and Docker container.
Aside from the holidays, the last several weeks have been filled with some exciting customer projects that led to some great user-driven feature requests. As always, this release comes with a lot of fixes and improvements. Below are only a few highlights.
- Based on user feedback, we have added the ability to inspect the parameters of a scheduled queue in a running system. Using the kcli tool, you can use inspect-sched-q to get detailed information on a current scheduled queue.
- We have added even more new reporting metrics based on user requests. These reflect the status of MX resolution and are available via the metrics endpoints.
- dns_mx_resolve_in_progress
- dns_mx_resolve_status_ok
- dns_mx_resolve_status_fail
- dns_mx_resolve_cache_hit
- dns_mx_resolve_cache_miss
- To enable effective inbound message handling, MAILDIR support has been enhanced to support inbound mailbox use cases.
- maildir can now specify file and directory modes.
- maildir now supports template expansion in the maildir_path to allow for dynamic folder creation.
- We've also added support for outbound LMTP delivery. This can be configured in your egress_path operations to change the outbound protocol to LMTP instead of ESMTP.
- Users asked for a way to allow advertising various ESMTP Extensions, so the smtp_server_ehlo event now supports editing the list of ESMTP extensions that are reported by the SMTP listener in response to the EHLO command.
- Similar to webhook batching, users can now batch kafka messages with the new kafka client:send_batch method. This will submit a batch of kafka messages and wait for the results of the complete batch.
~ Thanks to @cai-n! for this contribution #324 - The kcli queue-summary was already informative but will now also show connection limit and connection rate throttled status effects as part of the ready queue information, making it easier to determine when a (potentially shared with multiple nodes) limit might be responsible for messages in the ready queue. If you check the API Explorer, you will see there is a corresponding ready-q-states API endpoint that can be used to retrieve this information for external reporting.
- Traffic Shaping Automation (TSA) now supports "Bounce", "BounceTenant" and "BounceCampaign" actions which create bounces for scheduled queues which match the domain/tenant/campaign of the triggering event. This allows an operator to create rules to bounce a message or a whole tenant or campaign based on MBP feedback.
- While the MX rollup and Provider settings are already powerful, the new Provider match shaping rules now support exactly matching MX hostnames via the new HostName entry. This allows you to define shaping rules down to a specific host.
This is only a sampling of the changes and updates in the 2025 winter release. See the changelog for full details. Want to see more new features and enhancements? Join the discord and sponsor the work. Our sponsors drive our roadmap.