Apache: Limit Options -MultiViews in page cache rules to compatibility mode
Page Cache: Skip storing redirect responses
2.10.1
7 fixes
Fixed
General Settings: "The link you followed has expired" when emptying all caches
Redis/Memcached/CDN: Restore connection handling after 2.10.0 at-rest credential encryption
At-rest credentials: Defer encryption until WordPress salts are available
Always Cached: Queue regeneration on nginx with Disk: Enhanced page cache
mfunc: Render unrecognized dynamic-fragment tags as empty output
Apache: Remove Options -MultiViews from root .htaccess (HTTP 500 on restrictive AllowOverride)
Multisite: Admin page links in network admin
2.10.0
8 security
Security
Hardened authorization, capability, and request-verification (nonce/CSRF) checks across admin and AJAX endpoints
Improved input validation and output escaping to prevent cross-site scripting (XSS)
Strengthened protections against code, command, and file-inclusion injection
Hardened processing of dynamic and cached content, including data serialization
Restricted outbound server-side requests to mitigate server-side request forgery (SSRF)
Restricted configuration changes to prevent unauthorized modification
Improved handling of stored credentials, cookies, and generated server-configuration files
Reduced potential information disclosure and improved security logging
2.9.4
3 fixes
Fixed
Output buffering: Reverted to the previous output buffering from 2.9.1
Cloudflare: Token/Key validation
Prevent mfunc processing bypass by user-agent
2.9.3
4 fixes
Fixed
Output buffering: Discard nested OB contents for non-HTML responses (JSON/AJAX) to prevent HTML prepended to JSON output
Output buffering: Add wp_die_ajax_handler and wp_die_json_handler filters to properly handle AJAX die paths
Page cache: REST API responses no longer cached due to output buffering pipeline being skipped for non-HTML responses
Lazy load: Add debounced MutationObserver so images injected by AJAX plugins (e.g., FacetWP) are processed without requiring per-plugin integration; also fix async_head embed method not updating window.w3tc_lazyload to the live LazyLoad instance after initialization
2.9.2
3 fixes
Fixed
Patch broken access control for Image Service AJAX operations