• 2.2.0 ed5c696fbe

    v2.2.0 Stable

    javier released this 2026-06-09 12:49:17 +00:00 | 3 commits to main since this release

    2.2.0

    Release date: 2026-06-09

    Highlights

    • Security release fixing silent password corruption on save and credentials being stored in temporary transients.
    • WordPress minimum compatibility lowered to 5.9, PHP minimum to 8.0.
    • DMARC diagnostics now implement RFC 7489 §6.6.3 organizational domain fallback.

    Fixed

    • Fixed passwords with special characters (<, >, newlines) being silently corrupted by sanitize_text_field() on save in both per-site and network settings handlers.
    • Fixed SMTP credentials (password, Amazon SES keys) being masked with the literal string instead of the bullet character in the test email panel.
    • Fixed decrypted credentials being stored in a 10-minute transient after a test email send.
    • Fixed rate-limit enforcement: pre_wp_mail now returns false to short-circuit wp_mail() immediately instead of relying on a PHPMailer exception downstream.
    • Fixed DKIM and DMARC DNS lookups not using the timeout-protected safe_dns_lookup() wrapper, which could cause long admin page load times when DNS was unreachable.
    • Fixed rate-limit transients not being removed on plugin uninstall.

    Security

    • Removed sanitize_text_field() from password and credential fields — it strips valid characters and would silently corrupt credentials before encryption.
    • Removed map_deep( ..., 'sanitize_text_field' ) pre-sanitization from the network settings handler for the same reason.
    • Amazon SES access key and secret key are now also masked in the test email settings display.

    Added

    • DMARC diagnostics tool now implements RFC 7489 §6.6.3 organizational domain fallback. For a From address of info@sub.example.com, the tool queries _dmarc.sub.example.com first and falls back to _dmarc.example.com if no record is found, displaying which level applies.
    • Added get_organizational_domain() helper using a two-label heuristic.

    Compatibility

    • WordPress: 5.9 - 7.1
    • PHP: 8.0 - 8.5

    Tests

    • PHP Coding Standards: squizlabs/php_codesniffer 3.x, wp-coding-standards/wpcs 3.x
    • WordPress Coding Standards: WordPress-Core, WordPress-Docs, WordPress-Extra
    • PHPStan: level 9, szepeviktor/phpstan-wordpress 2.x
    • PHPCompatibility: phpcompatibility/php-compatibility 10.x (PHP 8.0-8.5)
    • WP Compatibility: johnbillion/wp-compat (WP 5.9+)
    Downloads