PhoenixDKIM 3.0.0-beta13

27 May 2026

A large release. The headline is RFC 8301 enforcement: RSA-SHA1 is now completely disabled for both signing and verification, with a new On-WeakAlgorithm option to control what happens to messages that carry such a signature (check the man-page).

Alongside that are new features; better systemd integration; and a substantial number of bug fixes that surfaced through an audit of OpenDKIM changes (PhoenixDKIM was forked from OpenDKIM); a completed pass of -Wconversion / -Wsign-conversion remediation; and systematic testing under Clang, its sanitisers, and the extended CMake hardening flag set.

Incompatible changes

New features

Removals

Bug fixes

OpenDKIM upstream audit

PhoenixDKIM shares its lineage with OpenDKIM, which has recently started to receive maintenance again! We periodically review fixes made there and assess each one against our codebase. A number of those fixes were applicable here — some landed as-is, others were adapted to account for code paths that have since diverged — and are reflected in the bug fixes above.

As the two code bases continue to diverge, not every OpenDKIM fix translates directly; in those cases the underlying issue was assessed independently and addressed in a manner suited to our code. The audit nonetheless remains a valuable source of known issues and we intend to keep conducting it on a regular basis.

Build-time analysis

A substantial portion of the fixes in this release were surfaced by building and testing under a wider set of compilers and analysis tools:

Compiler warning remediation

-Wconversion and -Wsign-conversion warnings have been addressed systematically across libopendkim, the daemon, miltertest, and the test suite. The work covered signed/unsigned arithmetic, implicit narrowing conversions, integer type mismatches at function call boundaries, and byte-extraction casts. No -Wconversion or -Wsign-conversion diagnostics remain in the default build configuration.

Back to announcements