219 lines
6 KiB
Text
219 lines
6 KiB
Text
== Changelog ==
|
|
|
|
= 2.0.3 =
|
|
|
|
_Release date: 2026-08-18_
|
|
|
|
**Highlights**
|
|
|
|
* Housekeeping release: branding URLs moved to robotstxt.software and declared WordPress support floor set to 4.7.
|
|
|
|
**Changed**
|
|
|
|
* Minimum WordPress version raised from 3.6 to 4.7 (real functional floor: register_setting() with array arguments requires WordPress 4.7; symbol-wise floor is 3.6 — wp_unslash — but sanitization on save only works from 4.7).
|
|
* Developer URL updated to https://www.robotstxt.software/ and plugin home page added (https://www.robotstxt.software/plugins/replyto/).
|
|
* Full changelog now hosted at https://www.robotstxt.software/plugins/replyto/changelog/.
|
|
* Development tooling updated via composer update (PHPCS 3.13.6, WPCS 3.4.1, PHPStan 2.2.8, PHPUnit 9.6.36).
|
|
|
|
**Added**
|
|
|
|
* bin/preflight.sh automated pre-deploy verification script (PHPCS, PHPStan, PHPCompatibility, PHPUnit, composer audit, candidate ZIP inspection).
|
|
* WordPress floor verification (wp-compat) integrated into PHPStan analysis; declared minimum now verified on every run.
|
|
* PHPUnit suite expanded from 27 to 78 tests (95.5% line coverage): wp_mail filter routing, context detection, migration, sanitization, admin rendering, uninstall cleanup.
|
|
|
|
**Compatibility**
|
|
|
|
* WordPress: 4.7 - 7.1
|
|
* PHP: 5.6 - 8.5
|
|
|
|
**Tests**
|
|
|
|
* PHP Coding Standards: 3.13.6
|
|
* WordPress Coding Standards: 3.4.1
|
|
* PHPStan: 2.2.8 (level 9)
|
|
* PHPUnit: 9.6.36
|
|
|
|
= 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
|
|
|
|
= 2.0.0 =
|
|
|
|
_Release date: 2026-01-20_
|
|
|
|
**Highlights**
|
|
|
|
* Complete rewrite with context-based Reply-To routing.
|
|
|
|
**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 shown when WooCommerce plugin is active.
|
|
* Intelligent context detection using debug_backtrace() with DEBUG_BACKTRACE_IGNORE_ARGS and a 20-frame limit.
|
|
* Modern tabbed admin interface using WordPress native nav-tab-wrapper.
|
|
* Visual status indicators on each tab.
|
|
* Enable/disable toggle per context (Default is always active).
|
|
* Fallback chain: specific context → Default context → legacy settings.
|
|
* Reply-To display name field with header injection prevention.
|
|
* DNS domain validation for email addresses.
|
|
* Configuration change logging for security auditing (requires WP_DEBUG_LOG).
|
|
* Automatic migration from v1.0.x — existing settings preserved in the Default context.
|
|
* uninstall.php for clean removal of all plugin options on single-site and Multisite.
|
|
|
|
**Changed**
|
|
|
|
* Settings structure changed from two individual options to a single serialized array (wp_mail_replyto_contexts).
|
|
* Settings page completely rewritten with tab-based interface.
|
|
|
|
**Security**
|
|
|
|
* Strict RFC 5322 email format validation beyond is_email().
|
|
* Defense-in-depth header injection prevention.
|
|
|
|
**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
|
|
|
|
= 1.0.3 =
|
|
|
|
_Release date: 2025-04-08_
|
|
|
|
**Changed**
|
|
|
|
* Compatible with WordPress 6.8.
|
|
* Improved function 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
|
|
|
|
= 1.0.2 =
|
|
|
|
_Release date: 2024-11-02_
|
|
|
|
**Fixed**
|
|
|
|
* Preparation for GlotPress translation workflow.
|
|
|
|
**Compatibility**
|
|
|
|
* WordPress: 4.1 - 6.9
|
|
* PHP: 5.6 - 8.5
|
|
|
|
= 1.0.1 =
|
|
|
|
_Release date: 2024-10-31_
|
|
|
|
**Added**
|
|
|
|
* Translation ready.
|
|
|
|
**Compatibility**
|
|
|
|
* WordPress: 4.1 - 6.9
|
|
* PHP: 5.6 - 8.5
|
|
|
|
= 1.0.0 =
|
|
|
|
_Release date: 2024-10-22_
|
|
|
|
**Added**
|
|
|
|
* First version.
|
|
|
|
**Compatibility**
|
|
|
|
* WordPress: 4.1 - 4.1
|
|
* PHP: 5.6 - 8.5
|