Every release of the CachePilot plugin, newest first, taken from its readme.txt. The current version is 1.4.2. Versions 1.1.0 to 1.4.1 were released on 4 November 2026 after a rebuild of the plugin.
Changelog
CachePilot for WordPress
Beta testers receive new versions through update.cms-admins.de, like any other plugin update.
Version 1.4.2, 5 November 2026
- New: Updates come from update.cms-admins.de, the update server of CMS ADMINS (admin, cron and WP-CLI only; CACHEPILOT_DISABLE_UPDATE_CHECK switches it off)
Version 1.4.1, 4 November 2026
- New: Zero-config setup. On activation CachePilot looks for Redis (wp-config constants, REDIS_URL/REDIS_HOST, common sockets, 127.0.0.1, redis, localhost), installs the drop-in and starts Autopilot. The setup wizard is gone; a connection form appears only when no Redis server is found
- New: Shared Redis databases are detected; flushes are then limited to the CachePilot prefix
- New: Autopilot re-checks the site 30 seconds after plugin, theme and WordPress changes and empties the page cache
- New: Hourly self-check repairs a missing, foreign or outdated drop-in and warns when Redis memory is full
- New: Safety check after Autopilot switches on Page Cache or Minify; a broken page or asset switches the module off again
- New: Modules switched off by hand stay off in Autopilot mode, and Autopilot no longer overwrites changed module settings
- New: Self-tuning gets real data from sampled per-group statistics (1 in 50 requests)
- New: Weekly e-mail report, only when Autopilot changed something or a problem needs attention
- New: Redesigned admin with its own menu, overview page, new logo and one design system; fonts are bundled locally
- Improved: Statistics page reads data with MGET and hourly aggregates (7-day view: about 50 instead of 16,000 Redis commands), sparklines replace Chart.js
- Improved: Redis status, INFO and latency are read once per request; key counts in Cache Groups only on request; Options analysis cached for 10 minutes; transients paginated and counted in SQL
- Improved: Default Redis timeouts lowered to 1 s (connect) and 2 s (read)
- Fixed: Network flush on Multisite never ran
- Fixed: Saving settings switched off deferred writes, persistent connection and request statistics
- Fixed: Transient cleanup cron never ran
- New: Autopilot page with a live log, page cache and minify figures on the Statistics page
- New: German translation (du and Sie)
- New: After a failed connection the drop-in skips Redis for 30 seconds, so a Redis outage no longer slows down every page
- Improved: Multisite: settings and setup apply to the whole network, emptying the cache of one site leaves the others alone, one weekly e-mail for the network, network page with paging
- Improved: CachePilot loads nothing on the front end; the admin bar menu is shown in the admin only
- Fixed: Deactivation and uninstall left CachePilot’s keys in Redis
- Improved: Options Optimizer also covers options WordPress 6.6+ autoloads with ‘auto’ and ‘auto-on’, and switches autoload through wp_set_option_autoload()
- Fixed: Page cache purges product pages on price changes made through the WooCommerce API, REST, WP-CLI, imports and scheduled sales, and empties all cached pages when prices, taxes or currencies change globally
- Fixed: Page cache no longer stores pages rendered for a visitor with a WooCommerce session (cart notices), pages with location-based tax prices or the recently viewed widget; page lifetime capped at 12 hours so nonces stay valid
- Fixed: Page cache keys for percent-encoded URLs and WPML/Polylang language domains; races between purging and storing
- Fixed: WCML price caches are kept per request because WCML never invalidates them
- Fixed: A hanging Redis server no longer blocks every cache call (one timeout per outage); the cache is emptied once after an outage so no stale data is served
- Fixed: Deferred writes only for query caches, so concurrent updates are not overwritten; objects changed after caching no longer alter the cache; wp_cache_incr works on values set by wp_cache_set
- Fixed: ACF raw values are invalidated by meta changes made outside ACF; the formatted value and attachment caches were removed because they could return wrong content
- Fixed: CSS minify keeps strings and attribute selectors unchanged and handles @import url(); JavaScript that the minifier cannot handle safely, ES modules and self-locating scripts keep their original file; non-HTML responses are never rewritten
- Fixed: Debug comments are only added to HTML pages, never to JSON, XML or feeds
- Fixed: Self-tuning never raises lifetimes of price, cart, session, user or coupon data and only suggests autoload for small options; the safety check ignores temporary errors like 503
Version 1.4.0, 4 November 2026
- New: CSS & JS Minify module. Local stylesheets and scripts are served as minified copies (wikimedia/minify, Apache-2.0), relative url() and @import references are rewritten. Copies are named after path, modification time and size, so a changed file never serves a stale copy. Files are not combined; with HTTP/2 and HTTP/3 separate files load in parallel and stay cached individually
- New: Autopilot enables CSS and JS minification unless another plugin already minifies
- Fixed: Prefetch no longer loads values holding classes that are not loaded yet (WP_Term in WooCommerce breadcrumbs)
Version 1.3.0, 4 November 2026
- New: Page cache rules after WP Rocket: filter, sort and variation parameters (orderby, filter_*, attribute_*, per_page and more) are cached with the sorted query in the key, up to 6 parameters; 60 tracking parameters (utm_*, gad_source, gclid, fbclid, msclkid, srsltid …) are ignored
- New: Cart fragments of an empty cart are cached and served before WordPress loads
- New: Currency and language cookies of WCML, Aelia, Currency Converter Widget, Polylang and Cookie Notice enter the cache key
- New: HEAD requests are served from the page cache
- New: Purges cover pagination, previous and next post, author, date and parent pages, parent terms, WPML translations, old URLs after slug changes, unpublished posts and term changes; purged pages are preloaded again after 30 seconds when auto preload is on
- Changed: Pages are cached for visitors with a filled cart, the mini cart comes through cart fragments. The cart cookies are removed from Excluded Cookies if they were the old default
- Changed: Feeds, embeds, XML and XSL files, robots.txt, search results, 404 pages and incomplete HTML are never stored
- Changed: advanced-cache.php and the PageCache module build the key with the same rules (pagecache-rules.php)
Version 1.2.0, 4 November 2026
- New: Page cache serves cached pages through advanced-cache.php before plugins and theme load (needs WP_CACHE, set automatically). A page cache plugin that owns advanced-cache.php keeps it.
- New: Autopilot activates the page cache when no other page cache plugin is active, with a 10 hour TTL
- Changed: Pages are purged on stock changes, menu, widget, site title and permalink changes, and with their archives and terms
- Fixed: Prefetch recorded only part of the keys a page uses
- Changed: Settings page lists every module with its status; fields Autopilot controls are locked in Autopilot mode and editable in Expert mode
- Changed: Autopilot applies its values to every active module and sets TTLs only initially, so learned TTLs are kept
- Changed: TTL fields come from each module’s TTL table and are capped at their maximum when saved
Version 1.1.0, 4 November 2026
- Changed: Large internal cleanup, about half of the code base removed without losing features
- Changed: Modules now run on frontend, REST and AJAX requests, so cache invalidation also works for Gutenberg saves and WooCommerce checkouts
- Changed: Options are stored in a single Redis hash maintained by the drop-in
- Changed: Admin interface works without jQuery and loads no external fonts
- Changed: TLS certificate verification is enabled by default
- Removed: Yoast SEO, Jetpack and Elementor modules (their caches did not save any work), TLS module (TLS is part of the core settings), REST API endpoints, advanced-cache.php drop-in
- Fixed: Page cache now actually serves cached pages
- Fixed: Saving ACF fields and blocks no longer resets values
- Fixed: Group flush stopped early on large key spaces
- Fixed: Pending deferred writes are discarded when a key is deleted or flushed
- Fixed: WP-CLI subcommands for dropin and modules are routed correctly
- Fixed: Cron events are removed on deactivation
Version 1.0.3, before November 2026
- Fixed: Options Optimizer cache coherence bug causing 2000+ unnecessary Redis commands per request
- Fixed: Options Optimizer key initialization race condition (incorrect key pattern resolution)
- Improved: Default settings now enable persistent connections and deferred writes for optimal performance
- Improved: Reduced frontend hook overhead by guarding admin-only operations
- Improved: Existing installations automatically migrate to optimized defaults on upgrade
Version 1.0.2, 9 February 2026
- Added: WordPress Core module for userlogins, useremail, adjacent_post_where, and comment-queries cache groups
- Added: WPML module for multilingual cache groups (ls_languages, string translations, relationships)
- Added: WCML module for WooCommerce Multilingual multi-currency and geolocation caches
- Added: Coupons cache group support in WooCommerce module
- Improved: Learning system now applies recommendations to all registered cache groups
Version 1.0.1, before February 2026
- Improved: PageCache module with async preloading via WP Cron
- Improved: Atomic config writes for better reliability
- Fixed: Cache size counting with Redis SCAN
- Fixed: sys_getloadavg() fallback for Windows
- Added: Comprehensive Autopilot activity logging
- Security: Removed dangerous early_exit features
Version 1.0.0, before February 2026
- Release: Initial release
- Release: 18 optimization modules
- Release: Autopilot and Expert modes
- Release: Full-page caching
- Release: WP-CLI integration
- Release: TLS/SSL support
Release notes
Every release in your inbox.
Beta testers get an e-mail with each new version of CachePilot and what changed. The newsletter is part of the beta and can be cancelled with one click.