GT Extensions for FluentCart 2.0.0 replaces the old per-variation currency label with a complete multi-currency checkout system.
Read full notes7 changes
Highlights:
Multi-currency checkout requires FluentCart 1.5.5 or newer. Version 2.0.0 is designed for two-decimal currencies; test zero-decimal currencies separately before production use.
One authoritative currency per cart, order, transaction, and subscription.
Exact per-variation price books with manual or Frankfurter exchange-rate fallback.
Currency-to-payment-gateway routing with preferred gateways and server-side validation.
Server-side cart repricing for items, fixed coupons, shipping, fees, and signup amounts.
Storefront currency selector and [gtfc_currency_selector] shortcode.
FluentCart product-editor controls for exact local prices.
Redesigned responsive settings, diagnostics, rate markup, rounding, and missing-price behavior.
Added automatic compatibility detection and JavaScript exclusions for Independent Analytics, Burst Statistics, Koko Analytics, Matomo Analytics, WP Statistics, Site Kit by Google, MonsterInsights, ExactMetrics, and PixelYourSite.
Treated an empty or whitespace-only Authorization server variable as absent so compatible hosts can still cache anonymous requests, while preserving the cache bypass for real credentials.
Read full notes7 changes
Fixed
Treated an empty or whitespace-only Authorization server variable as absent so compatible hosts can still cache anonymous requests, while preserving the cache bypass for real credentials.
Normalized panel, field, action, report, and responsive spacing across the settings interface and removed typographic shifts from active navigation states.
Added
Added a separate origin-pull CDN module that rewrites same-site static URLs to an HTTPS CDN base only for explicitly selected file extensions; third-party URLs, HTML/API routes, data URLs, and unselected types remain untouched.
Added cache invalidation when CDN settings change, plus controls for images, styles, scripts, fonts, media, and downloadable files.
Added direct links to Cloudflare's official scoped-token, Global API Key, and Zone ID documentation next to the relevant fields.
Deferred the public Cache-Control header until after response validation, so a Set-Cookie, a non-200 status, or DONOTCACHEPAGE introduced during rendering can no longer instruct a shared or edge cache to store a private page.
Read full notes24 changes
Fixed
Deferred the public Cache-Control header until after response validation, so a Set-Cookie, a non-200 status, or DONOTCACHEPAGE introduced during rendering can no longer instruct a shared or edge cache to store a private page.
Stopped deselected scheduled database-cleanup tasks (and other list settings such as bypass paths) from being silently restored on save; list settings are now replaced wholesale instead of merged index by index.
Fixed commerce bypass-path matching so the canonical /checkout on no-trailing-slash permalink sites is protected exactly like /checkout/, at both the origin and in the compiled Cloudflare edge rule.
Preserved inline <script> and JSON-LD content and removed the stray <?xml> node that the DOM-based CSS, font, and embed optimizers could ship — and cache — on every optimized page.
Corrected root-relative url(/…) rebasing in collected stylesheets so background and font references resolve against the site origin.
Accepted CSS.escape()d utility-class selectors (for example Tailwind md:flex, w-1/2) in CSS Training Mode so utility-class themes no longer publish empty safelists.
Canonicalized the Cloudflare managed-rule fingerprint so key-order differences in Cloudflare's response are no longer misread as drift and no longer trigger a redundant sync on every run.
Anchored the Cloudflare bypass query-parameter rule to a parameter boundary so a short parameter such as s no longer excludes unrelated parameters like utms.
Sent Vary: User-Agent when a separate mobile cache variant is active, and honored the "stale if error" duration in the emitted Cache-Control.
Bounded queue-table growth by pruning terminal jobs on the queue cron, and web-hardened the cache and log directories.
Stamped the advanced-cache drop-in with the plugin version and regenerated it automatically after an update.
Removed the non-functional "Cache logged-in users" control.
Invalidated affected post, homepage, and archive caches when comments are inserted through the front end, REST API, WP-CLI, or lower-level WordPress APIs, and when they are edited, moderated, or deleted.
Batched related URL purges into one edge notification and removed both desktop and mobile origin variants.
Prevented the deferred cache-safety header from rejecting the plugin's own otherwise cacheable response.
Renamed the WP-CLI target option to --page-url so it no longer collides with WP-CLI's reserved --url site selector.
Preserved explicit URL ports in diagnostic and purge cache keys so local Studio sites target the same artifact as live requests.
Applied the configured Cloudflare edge lifetime to the managed Cache Rule instead of always respecting the origin value.
Restricted sitemap warming to same-origin, cache-eligible URLs and bounded sitemap response sizes.
Discarded obsolete and foreign settings keys during merges, and removed non-functional Gravatar self-hosting and font-preload controls.
Added
Sitemap-driven cache warming: after a full purge, eligible URLs discovered from the WordPress sitemap are queued for background preloading (controlled by the new cache.preload toggle and bounded by cache.preload_max_urls), with a matching wp gt-performance cache warm command.
Accessible brief tooltips and clearer labels for cache lifetimes, exceptions, Cloudflare, optimization, Akismet, and Redis controls.
Added Explain This Page and verified purge receipts for deterministic cache diagnostics.
Read full notes6 changes
Added Explain This Page and verified purge receipts for deterministic cache diagnostics.
Added the Cloudflare Free rule compiler and Commerce Safety Lab.
Added unused-CSS training, staged rollout, review, publishing, and rollback controls.
Added signed Private Islands for dynamic commerce fragments.
Added the secure 25-site Fleet policy-console foundation.
Made release publication compatible with private GitHub repositories by retaining checksums and workflow artifacts while conditionally skipping unavailable provenance attestations.
Added Explain This Page diagnostics backed by the production cache policy, deterministic cache keys, local artifact metadata, and compiled edge expectations.
Read full notes8 changes
Added Explain This Page diagnostics backed by the production cache policy, deterministic cache keys, local artifact metadata, and compiled edge expectations.
Added Verified Purge with bounded redacted receipts covering origin removal, post-purge response fingerprints, response privacy signals, and Cloudflare cache headers.
Added a Cloudflare Free rule compiler with exact expression preview, managed-rule drift detection, competing-rule overlap warnings, expected create/update/noop operation, and ten-rule capacity reporting.
Added Commerce Safety Lab in-memory policy simulation and safe read-only checks for FluentCart, Easy Digital Downloads, and WooCommerce dynamic routes.
Added administrator-only Unused CSS Training Mode with bounded selector observation, one-hour sessions, candidate review, publication, rollback, and deterministic 0/10/25/50/100 percent rollout cohorts.
Added opt-in signed Private Islands for explicitly registered cart-count, account-link, and developer fragments with private no-store responses and fail-closed public fallbacks.
Added a 25-site Fleet Console foundation using five-minute, one-use, license-signed configuration bundles with recursive credential removal and no remote-code capability.
Added standalone Safety Lab and Fleet screens, Cloudflare plan UI, administrator-bar shortcuts, WP-CLI commands, and focused unit coverage for the new policy and signing layers.