Skip to content

Stalwart Blog

Introducing Sievepad: write and debug Sieve scripts in the browser

Sieve has no statement for printing a value or writing to a log, so debugging a mail filter has long meant sending test messages and reading debug headers out of their raw source. Sievepad runs the Stalwart Sieve interpreter in the browser, inside the editor that powers Visual Studio Code, so a script can be written, run and debugged against test messages in seconds, without a server and without sending a single email.

How we use AI at Stalwart

AI has become part of how most software gets written, and Stalwart is no exception. But “we use AI” has become such a vague statement that it says almost nothing. So this post is the specific version: where AI measurably helps us, where we deliberately keep it out of the codebase, and why a server designed to run in large clusters still gets its architecture written by hand.

DKIM2 and DMARCbis have landed, and Stalwart speaks them first

Email authentication just took its biggest step in a decade. DKIM2 rebuilds DKIM around a verifiable chain of custody that survives forwarding, stops replay, and makes bounces provable, while DMARCbis trades the Public Suffix List for a live DNS tree walk and writes a decade of operational lessons back into the spec. Both are now fully implemented in Stalwart v0.16.12, the first mail server to support them, and both can be tested straight from the browser at the mail-auth playground.

Migration proxy: zero-downtime upgrades

A good number of Stalwart deployments are still on an older release for one reason: upgrading between versions meant a maintenance window, and downtime on a mail server is the one thing nobody wants to schedule. We promised a zero-downtime path built from two tools. Vandelay, the data-transfer half, shipped a couple of weeks ago. Today we are shipping the second and final part, the migration proxy, and with it the full workflow is real: a live deployment can move from an older Stalwart version to v0.16 one account at a time, with no scheduled maintenance window and nothing for end users to reconfigure.