-
v2.2.0 Stable
released this
2026-06-09 12:49:17 +00:00 | 3 commits to main since this release2.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 bysanitize_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_mailnow returnsfalseto short-circuitwp_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.comfirst and falls back to_dmarc.example.comif 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