-
v1.1.4 Stable
released this
2026-08-20 14:33:09 +00:00 | 1 commits to main since this release1.1.4
Release date: 2026-08-20
Highlights
- Security and compatibility review of the whole code base, with static analysis raised to PHPStan level 9
Added
- Development: PHPStan (level 9) with the WordPress stubs and the wp-compat rules, PHPUnit with the polyfills, and the missing PHPCS utilities;
bin/preflight.shruns every automatable pre-deploy check - Tests: plugin header test suite (15 tests) verifying the required headers, the readme consistency (Stable tag, Requires at least, Requires PHP, Tested up to, License), the contributor order, the changelog URL, and the absence of the removed self-updater files
Changed
- Development: the full code base passes WordPress Coding Standards with zero errors and warnings, PHPStan level 9 with zero errors, and PHPCompatibilityWP for PHP 5.6 - 8.5 with zero errors
- Type safety: every parameter and return type documented (PHP 5.6-compatible phpDoc generics), all input paths narrowed before sanitization, and two always-dead branches removed (the logs list parameters column helper and the caller backtrace object check)
- License header of the main plugin file aligned with readme.txt ("GPL-3.0-or-later")
Fixed
- The User-Agent masking keeps the previous value when the regular expression replacement fails instead of returning null
- The Multisite main-site fallback (WordPress 4.8 and older) reads the network's blog_id only when it is set
Security
- Full review following OWASP and WordPress Plugin Security guidelines: capabilities, nonces, validation, sanitization, output escaping, database access, and uninstall cleanup re-audited with the new tooling; no vulnerabilities found, and the type hardening above was applied
Compatibility
- WordPress: 4.0 - 7.1
- PHP: 5.6 - 8.5
- MariaDB: 10.6+
- Multisite: compatible (Per-site and Global modes)
Tests
- WordPress 7.2-alpha-63320, PHP 8.5.9, MariaDB 11.8.8
- Verified live: plugin active on the staging site with no PHP notices, warnings, or deprecated messages
- PHP Coding Standards: 3.13.6
- WordPress Coding Standards: 3.4.1
- PHPCompatibilityWP (PHP 5.6 - 8.5) and wp-since (WordPress 4.0) static reviews for the floor versions
- PHPStan level 9 with the WordPress stubs: zero errors
1.1.3
Release date: 2026-08-20
Highlights
- Security and compatibility review of the 1.1.2 settings-save rewrite
Security
- Full review of the tab-scoped save handler (per-site and Network Admin) following OWASP and WordPress Plugin Security guidelines: nonce pairing, capability ordering (the capability check precedes every save branch, so site administrators cannot write network options in Global mode), tab whitelisting, hardcoded option names, per-value sanitization, and safe redirects with no open-redirect surface; all areas passed with no findings
Compatibility
- WordPress: 4.0 - 7.1
- PHP: 5.6 - 8.5
- MariaDB: 10.6+
- Multisite: compatible (Per-site and Global modes)
Tests
- WordPress 7.2-alpha-63320, PHP 8.5.9, MariaDB 11.8.8
- PHP Coding Standards: 3.13.6
- WordPress Coding Standards: 3.4.1
- PHPCompatibilityWP (PHP 5.6 - 8.5) and wp-since (WordPress 4.0) static reviews for the floor versions
1.1.2
Release date: 2026-08-18
Highlights
- Cross-tab settings saves fixed on the per-site Settings screen
Fixed
- Saving one tab of the per-site Settings screen no longer resets the other tabs: WordPress core sets every unposted option of a settings group to null since WordPress 5.5, so saving any tab was wiping the options of the other tabs back to their defaults (or, for the User-Agent mode, to the legacy pre-0.9 value). Each tab now saves through its own tab-scoped, nonce- and capability-protected handler shared with the Network Admin screen, updating only the options of the tab being saved
Changed
- The per-site Settings screen no longer posts through options.php; the Settings API registration of the options was removed along with it (the sanitizers are unchanged and still applied by the save handler)
Compatibility
- WordPress: 4.0 - 7.1
- PHP: 5.6 - 8.5
- MariaDB: 10.6+
- Multisite: compatible (Per-site and Global modes)
Tests
- WordPress 7.2-alpha-63320, PHP 8.5.9, MariaDB 11.8.8
- Verified live: main tab values survive saves of the Plugins, Logs, and General tabs and vice versa; hidden plugins, retention, and uninstall options each preserved
- PHP Coding Standards: 3.13.6
- WordPress Coding Standards: 3.4.1
Downloads