| @@ -1,73 +1,8 @@ | ||
| 1 | 1 | === xSpeed Cache — full changelog === |
| 2 | 2 | |
| 3 | 3 | The three most recent releases are listed in readme.txt. Everything since 1.0.0 is below. |
| 4 | 4 | |
| 5 | -= [1.3.5] – 2026-09-22 = | |
| 6 | - | |
| 7 | -**Consent banners now survive Delay JS on every site that ships one, Turbo Render works on any theme rather than only Elementor, JS-injected YouTube/Vimeo embeds load only on click, and nginx sites are no longer told to fix a configuration that was already correct.** | |
| 8 | - | |
| 9 | -Media: | |
| 10 | -- New: YouTube and Vimeo players that a theme or plugin injects with JavaScript after page load now get the same click-to-load facade as regular embeds, so no player code loads until a visitor presses play. | |
| 11 | - | |
| 12 | -Optimization: | |
| 13 | -- New: Turbo Render works on any theme or page builder. It recognises Divi, Bricks, Oxygen and Beaver Builder sections directly, and where no builder is recognised it falls back to the page's own structure, so the feature is no longer inert outside Elementor. | |
| 14 | -- Improved: Turbo Render is the new name for the feature previously called Render Skip — the same mechanism, named for what the visitor gets rather than what the browser postpones. | |
| 15 | -- Fixed: Consent banners from Cookie Notice, Moove, Termly, Usercentrics, Iubenda, OneTrust, Borlabs, Real Cookie Banner and SureCookie are never delayed, so a visitor is always offered the choice before leaving. | |
| 16 | -- Fixed: Complianz and NotificationX banners stay protected even when another plugin strips the id WordPress prints on their script. | |
| 17 | -- Fixed: An author's data-no-optimize, nowprocket or similar opt-out is now read as an attribute rather than matched anywhere in the tag, so a script is neither wrongly delayed nor wrongly skipped because the marker appeared in a URL, a class or a neighbouring inline block. | |
| 18 | -- Fixed: A script you name yourself in the Delay JS target list is now delayed even when it is a consent banner — the built-in banner protection yields to an explicit choice. | |
| 19 | - | |
| 20 | -Health: | |
| 21 | -- Fixed: nginx sites with a working configuration are no longer told to paste in a server snippet they already have. Site Health and the dashboard now reach the same verdict, and a check that cannot conclude says so instead of warning. | |
| 22 | - | |
| 23 | -Preloader: | |
| 24 | -- Fixed: Cache warming no longer identifies itself in a way that common firewall rule sets block, so newly published posts are warmed again on sites running 7G/8G-style protection. | |
| 25 | - | |
| 26 | -= [1.3.4] – 2026-09-20 = | |
| 27 | - | |
| 28 | -**Consent-manager scripts marked late are now always left alone, below-fold sections skip rendering work until they are needed, and xSpeed's MCP server shares a site cleanly with other MCP plugins.** | |
| 29 | - | |
| 30 | -Optimization: | |
| 31 | -- New: Below-fold sections are rendered lazily with content-visibility: auto, so the browser skips their layout and paint work until they scroll into view. | |
| 32 | -- New: Block-editor stylesheets are stripped from anonymous frontend pages that do not use any blocks. | |
| 33 | -- Fixed: Scripts that another plugin marks data-no-optimize or data-no-minify late — as consent managers such as Borlabs Cookie do — are restored to their original URL and left alone by minify, defer and delay, however late the marker is stamped. | |
| 34 | - | |
| 35 | -AI / MCP: | |
| 36 | -- Improved: The AI & agents screen now leads with the MCP server and says what each of its tools does, with descriptions shown in full. | |
| 37 | -- Improved: An assistant already connected over OAuth may ask for approval once more after updating — nothing needs re-entering, and read-only connections stay read-only. | |
| 38 | -- Fixed: An AI assistant can now connect to xSpeed and to another MCP plugin on the same site. xSpeed's OAuth details moved to an address of their own under /xspeed/mcp, and the site-wide address is handed over as soon as another plugin asks for it — where nothing else wants it, xSpeed keeps answering there. | |
| 39 | - | |
| 40 | -Dashboard & Admin UX: | |
| 41 | -- Fixed: Buttons can carry a border and always show keyboard focus, and the Cloudflare Dev-mode controls use proper button styling. | |
| 42 | - | |
| 43 | -= [1.3.3] – 2026-09-16 = | |
| 44 | - | |
| 45 | -**Consent gets a dashboard home, the cache engine learns to leave non-HTML alone, and uncacheable pages now tell the CDN so.** | |
| 46 | - | |
| 47 | -Privacy & Analytics: | |
| 48 | -- New: A "Privacy & usage data" panel to view and withdraw usage-analytics consent any time, with a matching wp xspeed privacy command. | |
| 49 | -- Improved: The setup wizard's analytics consent now defaults to off and is only ever an explicit opt-in. | |
| 50 | - | |
| 51 | -Caching: | |
| 52 | -- Fixed: WordPress's virtual robots.txt (and favicon) is no longer cached or minified, so every directive and newline reaches crawlers intact. | |
| 53 | -- Improved: /robots.txt joined the default cache exclusions, and the sitemap pattern now matches sitemaps.xml too — existing installs keep their working exclusion through the rename. | |
| 54 | - | |
| 55 | -Cloudflare & CDN: | |
| 56 | -- New: A page xSpeed refuses to cache now sends no-store edge headers, so a CDN never freezes a half-optimized or excluded page. | |
| 57 | -- Fixed: The deferred Cloudflare purge batch is bounded, cleared on deactivation, and says so when a purge is refused. | |
| 58 | - | |
| 59 | -Optimization: | |
| 60 | -- Fixed: Scripts marked data-no-optimize or data-no-minify are left completely alone by minify, defer and delay — consent-manager configurations always ship current. | |
| 61 | -- Fixed: xSpeed's own scripts are never deferred or delayed by its own optimizer. | |
| 62 | -- Fixed: The Conservative preset now switches LCP preload and preconnect off, matching its "page cache + GZIP only" promise. | |
| 63 | - | |
| 64 | -Dashboard & Admin UX: | |
| 65 | -- Improved: Preload now reports what actually happened — how many pages are warming, and the server's reason when a crawl cannot start. | |
| 66 | - | |
| 67 | -Reliability: | |
| 68 | -- Improved: Uninstall now removes all usage-tracking state, the scheduled send, and every leftover option row. | |
| 69 | - | |
| 70 | 5 | = [1.3.2] – 2026-09-15 = |
| 71 | 6 | |
| 72 | 7 | **Purging is now a contract other caches can join: clearing xSpeed's page cache also invalidates LiteSpeed Cache and the host's nginx FastCGI cache, and every purge is scoped to exactly the site and pages it was asked for — including on multisite.** |
| 73 | 8 | |