| @@ -3,9 +3,9 @@ | ||
| 3 | 3 | Tags: cache, performance, page speed, optimization, mcp |
| 4 | 4 | Requires at least: 6.0 |
| 5 | 5 | Tested up to: 7.1 |
| 6 | 6 | Requires PHP: 7.4 |
| 7 | -Stable tag: 1.3.7 | |
| 7 | +Stable tag: 1.4.1 | |
| 8 | 8 | License: GPLv2 or later |
| 9 | 9 | License URI: https://www.gnu.org/licenses/gpl-2.0.html |
| 10 | 10 | |
| 11 | 11 | A complete WordPress caching plugin: page cache, object cache, CDN, database cleanup and Core Web Vitals optimization, plus a built-in MCP server. |
| @@ -313,9 +313,86 @@ | ||
| 313 | 313 | * License: ISC |
| 314 | 314 | |
| 315 | 315 | == Changelog == |
| 316 | 316 | |
| 317 | -= [1.3.7] – 2026-10-01 = | |
| 317 | += [1.4.1] – 2026-10-08 = | |
| 318 | + | |
| 319 | +**Cloudflare Enterprise setup now runs in four short steps, and the add-on's offer opens its page in the dashboard, shows with any version of Pro, and goes away once the add-on is bought.** | |
| 320 | + | |
| 321 | +Cloudflare: | |
| 322 | +- New: The Cloudflare Enterprise add-on can show its setup as four steps (Setup, Verify, Connect, Done), with a card for each DNS record and a Copy button beside every value. | |
| 323 | +- Improved: "Get it" on the sidebar's Cloudflare Enterprise card opens the add-on's page in the dashboard, in the same tab, instead of the store. That page explains what you need and has the buy button. | |
| 324 | +- Improved: The sidebar card and the add-on's page show the price the service reports. | |
| 325 | +- Improved: The Cloudflare Enterprise card on the Network page has a glowing border until the add-on is on. With reduced motion turned on, the border stays but does not move. | |
| 326 | +- Improved: The add-on's page links to its setup guide. | |
| 327 | +- Improved: The header shows the add-on's state as soon as its licence or domain changes, without a reload. | |
| 328 | +- Fixed: The sidebar shows one Cloudflare Enterprise card, with any version of Pro. | |
| 329 | +- Fixed: With a Pro older than 1.3.0, the Network page keeps the Cloudflare Enterprise card and page, and a licensed Pro is asked to update. | |
| 330 | +- Fixed: The offer is hidden once the add-on key is entered, and on sites whose host already provides Cloudflare Enterprise. | |
| 331 | + | |
| 332 | += [1.4.0] – 2026-10-06 = | |
| 333 | + | |
| 334 | +**Saving a post now clears only the pages it changes instead of the whole cache, sites on xCloud's Cloudflare Enterprise get every purge passed to the edge, and pages whose address uses non-Latin characters are cached and purged correctly.** | |
| 335 | + | |
| 336 | +Caching: | |
| 337 | +- New: Saving a post, a comment or a product clears only the pages that change: the post itself, its archives, and the listing pages that show it. The whole cache is cleared only when the change reaches a list the theme draws on every page, such as a menu or a Recent Posts widget, and the purge log says why. | |
| 338 | +- New: `wp xspeed cache listings` shows the pages that run a post list of their own. | |
| 339 | +- New: Add-ons can send CDN headers on cached pages. | |
| 340 | +- Fixed: Pages whose address uses non-Latin characters, such as Chinese or Arabic slugs, each get their own cache entry. They could share one, and a slug with no Latin letters could overwrite the home page's cached copy. | |
| 341 | +- Fixed: A purge clears such a page however the browser spells its address, and Excluded URLs pasted from the address bar now match. | |
| 342 | +- Fixed: Opening wp-admin no longer empties the page cache and the edge. | |
| 343 | +- Fixed: Updating a WooCommerce product purges once, and a stock change purges its pages in one batch. | |
| 344 | +- Fixed: Making a post sticky, including outside the editor, clears the blog page. | |
| 345 | +- Fixed: Publishing in the Customizer purges the cache. | |
| 346 | +- Fixed: Content and site purges no longer delete minified CSS and JS files. | |
| 347 | + | |
| 348 | +Cloudflare: | |
| 349 | +- New: On sites where xCloud provides Cloudflare Enterprise, every purge goes to xCloud's purge plugin, from WP-CLI and cron too, and Purge All sends one whole-domain purge. | |
| 350 | +- New: xCloud's purge plugin counts as proof that the site is behind Cloudflare. | |
| 351 | +- Fixed: The edge no longer keeps a page longer than the page's own lifetime, so forms on cached pages stop failing once their nonce expires. | |
| 352 | +- Fixed: Pages served for an address with tracking parameters, such as `?utm_source=`, are no longer stored at the edge, where a purge could not reach them. | |
| 353 | +- Fixed: The edge may store a new page only once xSpeed has written it, and not while the page is still being optimized. | |
| 354 | +- Fixed: Edge headers are kept on cached pages Apache serves through an internal redirect. | |
| 355 | + | |
| 356 | +Health: | |
| 357 | +- New: Health warns when Cloudflare stores pages that were marked do-not-store. | |
| 358 | +- New: The nginx rules panel says whether the server runs the current rules block, and remembers that you pasted it. | |
| 359 | + | |
| 360 | +Optimization: | |
| 361 | +- Fixed: Minified and combined files are named by their content and by site, so a changed source file is never served from an old copy. | |
| 362 | +- Fixed: Delay JS restarts its 15-second replay deadline each time a delayed script arrives, so slow pages finish replaying. | |
| 363 | +- Fixed: Smart Delay never parks the inline snippets of a script that is already running, and consent-banner protection ignores the site's own domain. | |
| 364 | +- Fixed: Text set in the Font Library or theme.json shows at once while its fonts load. | |
| 365 | +- Improved: Turbo Render holds a deferred section's images and videos until the section is near. | |
| 366 | + | |
| 367 | +Media: | |
| 368 | +- New: Autoplay videos can start after the page has loaded. Off by default. | |
| 369 | +- Fixed: Autoplay videos stay out of the click-to-play facade, and the video restorer respects Excluded Images. | |
| 370 | +- Fixed: Images in footer popups load a smaller file on phones. | |
| 371 | + | |
| 372 | +Resource Hints: | |
| 373 | +- Fixed: Device-scoped LCP preloads fetch only the hero image for the visitor's device. | |
| 374 | + | |
| 375 | +Preloader: | |
| 376 | +- New: With Separate Mobile Cache on, the preloader warms the phone copy of each page too. | |
| 377 | + | |
| 378 | +Object Cache: | |
| 379 | +- Fixed: Switching from another object-cache plugin works without a conflict, and switching back restores that plugin on a clean namespace. | |
| 380 | + | |
| 381 | +AI / MCP: | |
| 382 | +- New: A site can be connected from xSpeed Hub through a consent page in wp-admin. | |
| 383 | +- New: get_site_info reports add-on licences. | |
| 384 | +- Fixed: The site token is never sent to a redirect target, and a connection code works only once. | |
| 385 | +- Fixed: Saving settings over MCP could remove the site's Hub connection. | |
| 386 | +- Fixed: Destructive commands need confirmation however they are called. | |
| 387 | + | |
| 388 | +Dashboard & Admin UX: | |
| 389 | +- New: The Cloudflare Enterprise add-on has its own entry under Network, a sidebar card and a purchase screen. | |
| 390 | +- Fixed: A Pro module shows the Pro lock while Pro is unlicensed. | |
| 391 | +- Fixed: Dashboard requests work on sites whose REST address carries a query string. | |
| 392 | +- Fixed: The dashboard no longer shows a second scrollbar. | |
| 393 | + | |
| 394 | += [1.3.7] – 2026-09-30 = | |
| 318 | 395 | |
| 319 | 396 | **Pages with a background-video hero now paint the hero text first, Load CSS Asynchronously no longer makes pages flash unstyled, sites in a multisite network stop sharing cached REST responses, and a site whose token changed can reconnect to xSpeed Hub.** |
| 320 | 397 | |
| 321 | 398 | Media: |