Skip to content

Stalwart Blog

Vandelay: the JMAP importer-exporter

Many Stalwart deployments are running an older version not because the operators want to, but because upgrading across a major release can mean migrating off an older database schema, and that means downtime. We promised a zero-downtime migration path built from two parts, a proxy and a transfer tool, and the question we hear most is when it will arrive. Today we are shipping the first part: Vandelay, a one-shot account migration and backup utility for JMAP that also imports from IMAP, CalDAV, CardDAV, WebDAV, ManageSieve, Maildir, Google Takeout, and (experimentally) Microsoft Exchange.

MTA Hooks at the IETF

Two years ago we shipped MTA Hooks in Stalwart Mail Server as a modern, HTTP-based alternative to Milter. In the time since, it has gone from a Stalwart feature to a protocol used across thousands of deployments worldwide, with implementations being built by third parties and interest from major players in the mail filtering ecosystem. We are now taking the next step: standardizing MTA Hooks at the IETF, so that it stops being “the Stalwart way of doing things” and becomes an open protocol that any MTA and any filter can speak.

Stalwart v0.16: A New Foundation

After more than three months of focused work, we are thrilled to announce the release of Stalwart v0.16. This is easily the most ambitious release we have ever shipped, with literally hundreds of new features, improvements, and fixes across every corner of the server.

We will be upfront about something: v0.16 will feel like a new product on first contact. Several long-standing concepts have been reworked, a few have been removed, and many new ones have been introduced. This was a deliberate choice. Stalwart has been under continuous development for nearly five years, and both the feature set and the user base have grown far beyond what the original configuration and management layer was designed for. Rather than keep patching around those limits, we took the opportunity to rebuild the foundation. The payoff is a much cleaner architecture and a long list of features that were simply not implementable before, many of which had been sitting on the community wishlist for years.

Let’s walk through the highlights.

Marginal Gains: Major Impact

In professional cycling, the concept of marginal gains became famous through Team Sky. Rather than chasing dramatic breakthroughs, they focused on making hundreds of small improvements: slightly better bike fit, marginally lighter components, improved sleep, cleaner nutrition. None of these changes mattered much on their own, but together they reshaped performance—and helped dominate the sport for years.

Software systems, especially large distributed ones, work much the same way. Rarely does a single feature transform everything overnight. More often, real progress comes from careful attention to small details: shaving latency here, reducing contention there, simplifying a hot path, rethinking a data structure.

Stalwart v0.15 is very much a release in this spirit. It does not introduce a long list of headline features. Instead, it is the result of revisiting core subsystems—spam filtering, search, storage, and data access—and making many targeted improvements that, together, have a significant impact on performance, reliability, and usability.