PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.4
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.4
1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 All 30 releases
← All changes | includes/class-plugin.php +17 -0 1.2.41.3.4 View file →
@@ -76,8 +76,12 @@
76 76 // Per-post cache rules (Phase 3.4) — registers postmeta with
77 77 // REST + meta box on edit screens.
78 78 Cache_Meta_Box::boot();
79 79
80 + // Single-URL purge entry points — row actions, the edit-screen
81 + // button and the admin-post handler the admin-bar item also uses.
82 + Purge_Ui::boot();
83 +
80 84 // Phase 0 architecture — managers + Free modules. v1 services
81 85 // (Cache/Minifier/Gzip) are NOT yet Modules; they'll be refactored
82 86 // in a follow-up PR with parity tests.
83 87 Conflict_Registry::boot();
@@ -89,9 +93,17 @@
89 93 // Integrations that clear OTHER plugins' caches of rendered output
90 94 // (Elementor's element cache + generated CSS). Registers a listener
91 95 // only; nothing runs until Cache::purge_render_caches() asks.
92 96 Render_Caches::boot();
97 + // Server_Caches needs no boot(): Cache::dispatch_purge_event() calls it
98 + // directly so a throwing third-party listener cannot skip it.
93 99
100 + // Forward a full purge to a full-page cache owned by the WEB SERVER
101 + // (nginx FastCGI, via the host's Nginx Helper install). Registers a
102 + // listener on xspeed_after_purge_all only; it stands down unless
103 + // that cache is actually configured.
104 + Host_Page_Caches::boot();
105 +
94 106 // Register Free modules via the same action xspeed-pro uses, so
95 107 // the bootstrap path is symmetric across tiers.
96 108 add_action( 'xspeed_register_modules', array( $this, 'register_free_modules' ) );
97 109
@@ -256,8 +268,9 @@
256 268 // cache-coverage features (404 / search / feed / REST / rules /
257 269 // maintenance) into one sidebar sub-item (FBS-83633).
258 270 Module_Registry::register( new \XSpeed\Modules\CacheCoverage\CacheCoverageModule() );
259 271 Module_Registry::register( new \XSpeed\Modules\Fonts\FontsModule() );
272 + Module_Registry::register( new \XSpeed\Modules\RenderSkip\RenderSkipModule() );
260 273 Module_Registry::register( new \XSpeed\Modules\ResourceHints\ResourceHintsModule() );
261 274 // AI Privacy (GDPR off-switch) ships in Free even though every AI
262 275 // *feature* is Pro — privacy is a right, not a paid tier. FEATURES.md
263 276 // §AI row 6 mandates it. Without this registration the module was dead
@@ -274,8 +287,12 @@
274 287 // snapshot is onboarding/diagnostics, not a paid value-add, so every
275 288 // user gets it. The snapshot degrades gracefully without Pro (Pro
276 289 // version/license fields fall back to defaults via defined()/get_option).
277 290 Module_Registry::register( new \XSpeed\Modules\Support\SupportModule() );
291 + // The dashboard control for usage-analytics consent. Consent used to
292 + // be collectable only in the wizard and withdrawable nowhere, while
293 + // the wizard and readme both promised a dashboard switch. (#437)
294 + Module_Registry::register( new \XSpeed\Modules\Privacy\PrivacyModule() );
278 295 // MCP remote control (AI assistants) — Free. The plugin serves the
279 296 // MCP protocol at the site's own /xspeed/mcp URL; the only gate is
280 297 // the per-site connection token an admin mints via Connect. No
281 298 // license, no hosted infra. See IMPLEMENTATION.md §17.