• 2.0.2 c73e6b6e58

    v2.0.2 Stable

    javier released this 2026-06-05 11:33:01 +00:00 | 0 commits to main since this release

    2.0.2

    Release date: 2026-06-05

    Highlights

    • Translations added for Spanish (Spain) and Catalan.
    • WordPress minimum version corrected to 3.6 based on actual function usage.

    Changed

    • Minimum WordPress version updated from 4.1 to 3.6 (real minimum per wp-compat analysis: wp_unslash since WP 3.6).
    • Tested up to WordPress 7.1.
    • POT file regenerated via WP-CLI i18n — removed dead strings, corrected line references.
    • Deploy script no longer includes docs/ in the distributable ZIP.
    • Deploy script skips empty vendor/ directory when no production Composer dependencies exist.

    Added

    • Spanish (Spain) translation (es_ES).
    • Catalan translation (ca).

    Compatibility

    • WordPress: 3.6 - 7.1
    • PHP: 5.6 - 8.5

    Tests

    • PHP Coding Standards: 3.13.5
    • WordPress Coding Standards: 3.3.0
    • PHPStan: 2.2.2 (level 9)
    • PHPUnit: 9.6.34

    2.0.1

    Release date: 2026-06-05

    Highlights

    • Major bugfix release addressing three critical issues found during pre-deploy audit.

    Fixed

    • Context cache not resetting between emails in the same PHP process (affected WP-Cron and REST batch sends).
    • Duplicate Reply-To header injected when an existing Reply-To was present in the email.
    • Migration hook only running on admin_init — missed WP-CLI activations and automated deployments.
    • RFC 5322 display name quoting now applied only when the name contains special characters.

    Added

    • Developer filter wp_mail_replyto_context — override the detected email context.
    • Developer filter wp_mail_replyto_header — override or suppress the Reply-To header per email.
    • load_plugin_textdomain() registration for translation support on WordPress < 4.6.
    • DNS domain validation per context with user-friendly warning messages.
    • PHPUnit test suite (27 tests).
    • bin/deploy.sh build script.

    Changed

    • Admin CSS now registered via wp_register_style() + wp_add_inline_style().
    • enabled flag now handles boolean true in addition to string '1'.
    • Multibyte-safe name length truncation (mb_strlen/mb_substr).
    • CR-only header normalization added alongside CRLF.

    Security

    • sanitize_callback added to legacy option registrations (wp_mail_replyto_email, wp_mail_replyto_name).

    Compatibility

    • WordPress: 4.1 - 6.9
    • PHP: 5.6 - 8.5

    Tests

    • PHP Coding Standards: 3.13.5
    • WordPress Coding Standards: 3.3.0
    • PHPStan: 2.2.2 (level 9)
    • PHPUnit: 9.6.34
    Downloads
  • 2.0.0 bc743ba736

    v2.0.0 Stable

    javier released this 2026-06-05 11:03:09 +00:00 | 1 commits to main since this release

    [2.0.0] - 2026-01-20

    Major Release - Context-Based Reply-To Routing

    This major release combines multiple enhancements including context-based email routing, security improvements, and Reply-To name support.

    Added

    • Context-based Reply-To routing - Configure different Reply-To addresses for different types of emails.
    • Six email contexts: Default, Authentication & Security, Comments & Moderation, Users & Registration, System & Updates, WooCommerce.
    • WooCommerce tab only visible when WooCommerce plugin is active.
    • Intelligent context detection using backtrace analysis.
    • Modern tabbed user interface using WordPress native nav-tab-wrapper.
    • Visual status indicators on each tab (green = active with email, red = inactive or no email).
    • Legend explaining status indicators for easy understanding.
    • Enable/disable toggle for each context (except Default which is always active).
    • Fallback chain: Specific context → Default context → Legacy settings.
    • Detailed descriptions and examples for each context in the admin UI.
    • Reply-To Name field - Now you can specify a name to display with the Reply-To email address (e.g., "Support Team support@example.com").
    • Name sanitization with header injection prevention.
    • Length validation for name field (255 characters maximum).
    • Created uninstall.php for proper cleanup of plugin data on uninstallation.
    • Implemented logging of configuration changes for security auditing (requires WP_DEBUG_LOG).
    • Added DNS validation for email domains with user-friendly warnings.
    • Enhanced email validation with additional security checks.
    • Added success/error messages for better user feedback.

    Changed

    • Complete rewrite of settings page with modern tab-based interface.
    • Email detection now uses backtrace analysis for accurate context identification.
    • Settings structure changed from individual options to array-based configuration (wp_mail_replyto_contexts).
    • Improved sanitization and validation for multiple contexts.
    • Enhanced logging with context information in debug mode.
    • Email header construction now supports both name and email format.
    • Updated sanitize callback to use custom function with enhanced validation.
    • Improved security documentation and code comments.

    Security Enhancements

    • Added explicit header injection prevention with defense-in-depth validation.
    • Implemented strict RFC 5322 email format validation.
    • Enhanced input sanitization with multiple validation layers.

    Technical

    • New database structure: Single serialized array instead of multiple options (more efficient).
    • Backward compatible: Legacy options (v1.0.x) still work during migration period.
    • Context detection covers: Password resets, comments, user registration, system updates, WooCommerce emails.
    • Clean uninstallation: Removes all options including migration flags.
    • Automatic migration from v1.0.x - Your existing settings are preserved in the Default context.

    Compatibility

    • WordPress: 4.1 - 6.9
    • PHP: 5.6 - 8.5

    Tests

    • PHP Coding Standards: 3.13.4
    • WordPress Coding Standards: 3.3.0
    • Plugin Check (PCP): 1.4.0
    Downloads
  • 1.0.3 ed4d3f02ff

    v1.0.3 Stable

    javier released this 2026-06-05 11:02:15 +00:00 | 2 commits to main since this release

    [1.0.3] - 2025-04-08

    Changed

    • Compatible with WordPress 6.8.
    • Improved functions documentation.

    Compatibility

    • WordPress: 4.1 - 6.9
    • PHP: 5.6 - 8.5

    Tests

    • PHP Coding Standards: 3.12.1
    • WordPress Coding Standards: 3.1.0
    • Plugin Check (PCP): 1.4.0
    Downloads
  • 1.0.2 d44508cf0f

    v1.0.2 Stable

    javier released this 2026-06-05 11:01:21 +00:00 | 3 commits to main since this release

    [1.0.2] - 2024-11-02

    Fixed

    • Preparation for GlotPress.
    Downloads
  • 1.0.1 cdaca54e7b

    v1.0.1 Stable

    javier released this 2026-06-05 10:58:51 +00:00 | 4 commits to main since this release

    [1.0.1] - 2024-10-31

    Added

    • Translation ready.
    Downloads
  • 1.0.0 6f769cf5dd

    v1.0.0 Stable

    javier released this 2026-06-05 10:57:57 +00:00 | 5 commits to main since this release

    [1.0.0] - 2024-10-22

    Added

    • First version.
    Downloads