IMPROVED: SVG logos and icons now stay eager to prevent header layout shift
IMPROVED: Cache purge now clears every cache layer, including the static-serve mirror
IMPROVED: Dashboard cache statistics are now accurate and consistent
FIX: “Cache Directory” status reported the wrong path on fresh installs
Tested up to WordPress 7.0
1.8.1
IMPROVED: Stabilized PageSpeed Insights scores by aligning response headers with industry best practices for cached HTML
FIX: Several optimization toggles in the dashboard were not persisting on save under certain code paths
FIX: Preset switching now refreshes the full pipeline (settings file, .htaccess rules, and all cached output) so server-level rules immediately match the selected preset
1.8.0
NEW: Background-image lazy loading now also handles CSS rules inside inline blocks, not just inline style attributes
IMPROVED: LCP performance on text-heavy pages (Recommended/Aggressive)
IMPROVED: Smart Lazy now enabled in Recommended for image-heavy pages
IMPROVED: Mobile responsive image delivery — smaller payload per request
FIX: Preset switching could leave stale optimized assets in place until a second settings save
FIX: Edge case in preload tag rewriting that left empty attribute fragments
FIX: Responsive image source set could break when image data URIs were inline
1.7.0
IMPROVED: Cache and generated files now stored under the WordPress uploads directory for cleaner deployments and better compatibility with managed hosting
IMPROVED: Tree-Shake now preserves responsive layout, sticky variants, and popup/overlay styles across all themes — no more broken headers or misplaced modals when aggressive purging is on
IMPROVED: JS Bundle no longer combines scripts that depend on WordPress core globals (wp.i18n, wp.hooks, wp.element, etc.), preventing initialization errors in plugins like Contact Form 7 and block-based editors
IMPROVED: JS Delay leaves Google Maps, reCAPTCHA, hCaptcha, Cloudflare Turnstile, Mapbox, and Leaflet scripts untouched so embedded maps and form challenges always load
IMPROVED: Presets now only toggle dashboard modules — hidden behaviors no longer change behind the scenes when switching between Safe / Recommended / Aggressive
IMPROVED: Heartbeat module deregisters dependent core scripts together to silence WP_DEBUG notices
FIX: 404 errors for combined CSS/JS and responsive image variants caused by an old internal path
FIX: Critical error during activation on sites with case-sensitive filesystems
FIX: Various code-quality and security hardening updates required for WordPress.org directory compliance
1.6.0
NEW: Smart CSS Defer — eliminates render-blocking plugin stylesheets while keeping theme and builder CSS for a layout-stable first paint
NEW: jQuery Defer (Lite) — defers WordPress core jQuery via a shim that queues inline jQuery() calls until the library loads
NEW: Disable Entry Animations — skips scroll-triggered fade-in / slide-up animations from Elementor, AOS, Element Pack, WoodMart, and Animate.css; interactive transitions like sliders and modals stay active
NEW: Smart Prefetch — browser speculation rules in prefetch mode warm assets without re-firing entry animations on navigation
NEW: Hero Preload — auto-detects the LCP candidate (largest above-the-fold image) and injects a <link rel=”preload”> hint with fetchpriority=”high”
NEW: Environment Auto-Detect — Recommended preset auto-enables AVIF, Brotli, and Object Cache only when the server actually supports them
IMPROVED: Mobile UX — JS Delay no longer consumes the first touch; scroll and link taps work immediately
IMPROVED: Image Optimizer — sub-size counter, WebP savings tracking, theme-registered size protection (preserves slider thumbnails and other custom variants)
IMPROVED: Admin panel — third-party plugin notices suppressed inside EmiCache pages for a clean working area
IMPROVED: Score map balanced to exactly 100 with fair weighting based on real PageSpeed impact
1.5.0
NEW: Self-Pushing Task Runner — background queues (image rehost, cache preload, critical CSS, DB cleanup) drain even on low-traffic sites where WP-Cron rarely fires
IMPROVED: External Image Rehosting drains right after the request that queued the URL instead of waiting for the next cron tick
1.4.0
NEW: External Image Rehosting — pulls third-party hosted images into local cache so they benefit from WebP, lazy load, and CDN rewriting
NEW: YouTube and Vimeo facade placeholders now match the real video aspect ratio via oEmbed, fixing CLS on vertical and square embeds
1.3.0
NEW: De-inline Large Images — oversized base64 images extracted from HTML into static files so they flow through the WebP, lazy load, and CDN pipeline
NEW: SVG Lazy Placeholders — every lazy image reserves layout space with a properly sized SVG placeholder to prevent CLS
NEW: Per-Stage Pipeline Timing — debug mode records how long each optimization step takes for bottleneck diagnosis
1.2.1
FIX (critical): fatal error “Call to undefined function sanitize_text_field()” in advanced-cache.php that broke page caching on every site running 1.2.0 — all 1.2.0 users should upgrade
1.2.0
NEW: Brotli pre-compression for cached pages and static assets
NEW: Font Inlining and Critical Font Auto-Detection — small fonts embedded as data-URIs, above-the-fold fonts auto-preloaded