Skip to content

Commit af33cd1

Browse files
committed
chore(release): bump version to 2.11.0
1 parent b05af57 commit af33cd1

6 files changed

Lines changed: 31 additions & 5 deletions

File tree

β€ŽCHANGELOG.mdβ€Ž

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## 2.11.0
4+
5+
- **Phase 3 complete: Action Registry schema validation hardening** β€” filtered `wp_sudo_gated_actions` rules are now normalized and validated before caching, preventing malformed third-party payloads from reaching gate matchers.
6+
- **Phase 3 complete: MU-loader resilience** β€” loader basename/path resolution now follows an explicit fallback chain and correctly respects active plugin state in single-site and multisite environments.
7+
- **Phase 4 complete: WPGraphQL persisted-query strategy** β€” GraphQL policy behavior was tightened and documented for persisted-query/headless setups, with expanded integration coverage of mutation classification and bypass behavior.
8+
- **Phase 4 complete: WSAL sensor bridge** β€” added `bridges/wp-sudo-wsal-sensor.php`, mapping all 9 WP Sudo audit hooks to WP Activity Log events for security telemetry integration.
9+
- **Docs and planning closure** β€” phase summaries and roadmap/planning artifacts updated to reflect completion across Phases 1–4 of the security hardening sprint.
10+
- **478 unit tests, 1228 assertions. 130 integration tests in CI.**
11+
312
## 2.10.2
413

514
- **Fix: multisite uninstall orphaned MU-plugin shim and user meta** β€” when a network-activated plugin was uninstalled, the early-return path skipped `wp_sudo_cleanup_mu_shim()` and `wp_sudo_cleanup_user_meta()`, leaving the shim file and session metadata in the database after plugin deletion. Multisite uninstall now unconditionally cleans all sites and all network-wide data.

β€Žphpstan-bootstrap.phpβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*/
1111

1212
// Plugin constants (defined in wp-sudo.php at runtime).
13-
define( 'WP_SUDO_VERSION', '2.10.2' );
13+
define( 'WP_SUDO_VERSION', '2.11.0' );
1414
define( 'WP_SUDO_PLUGIN_DIR', __DIR__ . '/' );
1515
define( 'WP_SUDO_PLUGIN_URL', 'https://example.com/wp-content/plugins/wp-sudo/' );
1616
define( 'WP_SUDO_PLUGIN_BASENAME', 'wp-sudo/wp-sudo.php' );

β€Žreadme.mdβ€Ž

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,15 @@ No production dependencies. Dev dependencies (PHPUnit, PHPStan, Psalm, PHPCS, Br
240240

241241
## Changelog
242242

243+
### 2.11.0
244+
245+
- **Phase 3 complete: Action Registry schema validation hardening** β€” filtered `wp_sudo_gated_actions` rules are now normalized and validated before caching, preventing malformed third-party payloads from reaching gate matchers.
246+
- **Phase 3 complete: MU-loader resilience** β€” loader basename/path resolution now follows an explicit fallback chain and correctly respects active plugin state in single-site and multisite environments.
247+
- **Phase 4 complete: WPGraphQL persisted-query strategy** β€” GraphQL policy behavior was tightened and documented for persisted-query/headless setups, with expanded integration coverage of mutation classification and bypass behavior.
248+
- **Phase 4 complete: WSAL sensor bridge** β€” added `bridges/wp-sudo-wsal-sensor.php`, mapping all 9 WP Sudo audit hooks to WP Activity Log events for security telemetry integration.
249+
- **Docs and planning closure** β€” phase summaries and roadmap/planning artifacts updated to reflect completion across Phases 1–4 of the security hardening sprint.
250+
- **478 unit tests, 1228 assertions. 130 integration tests in CI.**
251+
243252
### 2.10.2
244253

245254
- **Fix: multisite uninstall orphaned MU-plugin shim and user meta** β€” network-activated uninstall now unconditionally cleans all sites and network-wide data.

β€Žreadme.txtβ€Ž

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Tags: sudo, security, reauthentication, access control, admin prote
99
Requires at least: 6.2
1010
Tested up to: 7.0
1111
Requires PHP: 8.0
12-
Stable tag: 2.10.2
12+
Stable tag: 2.11.0
1313
License: GPL-2.0-or-later
1414
License URI: https://www.gnu.org/licenses/gpl-2.0.html
1515

@@ -168,6 +168,14 @@ Extensibility: the action registry is filterable via wp_sudo_gated_actions. Nine
168168

169169
== Changelog ==
170170

171+
= 2.11.0 =
172+
* **Action Registry hardening (Phase 3.01)** β€” filtered `wp_sudo_gated_actions` input is now normalized and validated before caching. Invalid or malformed third-party rule fragments are safely discarded instead of flowing into matchers.
173+
* **MU-loader resilience (Phase 3.02)** β€” loader now resolves plugin basename/path with explicit fallback ordering and respects plugin activation state across single-site and multisite contexts.
174+
* **WPGraphQL persisted-query strategy (Phase 4.01)** β€” mutation gating now supports persisted-query detection hooks and clearer policy behavior for headless GraphQL deployments.
175+
* **WSAL sensor bridge (Phase 4.02)** β€” new optional bridge (`bridges/wp-sudo-wsal-sensor.php`) maps WP Sudo’s 9 audit hooks into WP Activity Log events.
176+
* **Coverage expansion** β€” high-value unit and integration coverage added across phases 3/4, including malformed rule inputs, MU-loader edge paths, WPGraphQL policy enforcement, and bridge emission behavior.
177+
* **478 unit tests, 1228 assertions. 130 integration tests in CI.**
178+
171179
= 2.10.2 =
172180
* **Fix: multisite uninstall orphaned MU-plugin shim and user meta** β€” network-activated uninstall now unconditionally cleans all sites and network-wide data.
173181
* **Fix: `wp_sudo_version` option not deleted on uninstall** β€” orphan option row left after plugin deletion.

β€Žtests/bootstrap.phpβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
define( 'WP_CONTENT_DIR', '/tmp/fake-wordpress/wp-content' );
1616

1717
// ── Plugin constants (normally defined in wp-sudo.php) ───────────────
18-
define( 'WP_SUDO_VERSION', '2.10.2' );
18+
define( 'WP_SUDO_VERSION', '2.11.0' );
1919
define( 'WP_SUDO_PLUGIN_DIR', dirname( __DIR__ ) . '/' );
2020
define( 'WP_SUDO_PLUGIN_URL', 'https://example.com/wp-content/plugins/wp-sudo/' );
2121
define( 'WP_SUDO_PLUGIN_BASENAME', 'wp-sudo/wp-sudo.php' );

β€Žwp-sudo.phpβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Plugin Name: Sudo
44
* Plugin URI: https://github.com/dknauss/wp-sudo
55
* Description: Action-gated reauthentication for WordPress. Dangerous operations require password confirmation before they proceed β€” regardless of user role.
6-
* Version: 2.10.2
6+
* Version: 2.11.0
77
* Requires at least: 6.2
88
* Requires PHP: 8.0
99
* Author: Dan Knauss
@@ -22,7 +22,7 @@
2222
}
2323

2424
// Plugin version.
25-
define( 'WP_SUDO_VERSION', '2.10.2' );
25+
define( 'WP_SUDO_VERSION', '2.11.0' );
2626

2727
// Plugin directory path.
2828
define( 'WP_SUDO_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );

0 commit comments

Comments
Β (0)