Opens in a new tab

Techoli Company LLC

DJIA Cache Changelog

The DJIA Cache changelog below lists every release of the plugin, newest first — new features, improvements and fixes. For what the current version can do, see the feature list or the documentation.

How to read the DJIA Cache changelog

Releases are numbered MAJOR.MINOR.PATCH, following semantic versioning: a patch release fixes bugs, a minor release adds features without breaking an existing configuration, and a major release can change defaults. Updating is described in updating DJIA Cache — your settings and licence activation are never reset by an update.

The DJIA Cache changelog records every change to this plugin dashboard
Each release below is recorded in the plugin dashboard too.

1.3.0.9 – October 2026

New Features

  • Background layout refresh: saving a header, footer or any other global template, a menu, a widget or the global styles of the builder no longer clears the entire page cache. The cache stays in place and a background pass regenerates the pages one by one — each page is deleted and rebuilt immediately, and only if it is older than the change. Visitors keep getting cached pages the whole time; a page shows the old layout until its turn comes
  • New How option in the Cache tab, under “Update cached pages when a global template … is saved”: Refresh in the background (the new default) or Clear the entire page cache at once (the behaviour up to 1.3.0.8). The progress of a running refresh is shown under the setting

Improvements

  • Several saves in a row are merged into one refresh pass, which starts 20 seconds after the last save; a newer change restarts the pass
  • Pages that were regenerated on their own in the meantime — expired TTL, a visit, preload — are skipped
  • The refresh waits while the background preload is running, continues through WP-Cron when loopback requests are blocked, and falls back to a classic full purge if it makes no progress for 30 minutes
  • Purge ALL works as before and cancels a running refresh
  • Djia Filter keeps its cache when a header, footer or menu is saved (requires Djia Filter 1.28 or newer). Previously every such save also expired the whole filter cache
  • Used CSS: a layout change now flushes only the per-template lookups; the generated CSS files are kept
  • The Install drop-in button now also writes WP_CACHE into wp-config.php. When that is not possible, the Cache tab explains exactly why — file permissions with owner and PHP user, a custom expression, an unexpected file format — and shows the line to add by hand
  • Read-only wp-config.php (0400/0440/0444 hardening) is handled: the file is unlocked for the write and its original permissions are restored; when it belongs to another user, the write goes through WP_Filesystem (FTP/SSH) if configured
  • For developers: new actions djia_cache_global_layout_changed and djia_cache_layout_refresh_finished; new filters djia_cache_template_save_mode, djia_cache_layout_refresh_delay, djia_cache_layout_refresh_batch and djia_cache_layout_refresh_wait_for_preload. Every full purge now passes a context array describing what changed to djia_bricks_performance_purge_all

Fixes

  • Fixed the automatic WP_CACHE setup, which never ran: WordPress defines WP_CACHE as false before plugins load, so the old “is it defined” check always stopped early. The plugin now checks the value — on activation, after an update and in wp-admin on installs where the constant is still missing
  • Fixed the red “WP_CACHE is disabled” warning staying on screen after clicking Install drop-in

Upgrade note: existing installs get Refresh in the background as the default. To keep the previous behaviour, switch How to Clear the entire page cache at once.

1.2.9 Follow-up updates (1.2.6–1.2.9) and the WordPress 7.0 upgrade

Improvements

Four point releases after 1.2.5 (1.2.6 through 1.2.9) turned the background CSS-bundle housekeeping described in Section 12.6 into user-facing controls and split the plugin’s background jobs into independent, per-job switches:

  • Combined CSS bundle is now a visible toggle, with an optional bundle preload, a bundle-exclusions list (fonts.googleapis.com and external-widget.css are excluded on this site) and the same 7-day/hourly-cron cleanup from Section 12.6. It is left off in production for now: the plugin itself warns not to combine it with Auto-generate Used CSS before testing the home page, menu, cart drawer and product/category pages, and the same staged, one-change-at-a-time approach from Section 9 applies here before it goes live.
  • Page-type CSS unload was added as a safer, page-type-scoped alternative to the global Delay CSS in Section 12.5 — it removes selected CSS handles only where a given page type does not need them, rather than delaying every non-excluded stylesheet site-wide. It is also left off for now, kept in reserve rather than layered on top of the delay/Used-CSS configuration that already tested well.
  • Cron Jobs gained independent toggles for Cache cleanup (hourly), Scheduled preload (every minute), Licence validation (daily) and Licence update check (daily). All four remain enabled in production; disabling any one of them stops it being scheduled via WP-Cron immediately on save, without touching the others.
  • Cache storage format was switched from Both (.html + .html.gz) to Gzip only (.html.gz), since effectively all real visitors to this store arrive gzip-capable. This trims roughly 5x off cache disk usage with no change to the metrics recorded in Section 11.

1.2.5 – July 2026

Improvements

  • Combined CSS bundle rebuilt around content-hash naming: all pages sharing the same stylesheets now share a single bundle file instead of one ~190 KB copy per URL, preventing tens of GB of duplicated CSS files on large sites
  • Browser now caches the shared CSS bundle once for the whole site instead of downloading duplicated per-URL CSS files
  • Bundle fingerprint fast-path: the bundle is built only when source stylesheets actually change
  • Every other render skips reading, rewriting and minifying CSS entirely, reducing bundle processing from ~2.7 ms to ~0.08 ms per render
  • Automatic cleanup of stale bundle files via the hourly cron
  • Cleanup runs at most every 6 hours with a 3-second time budget, always keeps the 10 newest files and never deletes anything younger than 2× the page cache TTL
  • New bundle retention setting: default 7 days, with 0 meaning never delete old bundle files
  • Saving settings no longer wipes the entire cache by default — pages stay warm and new settings apply as pages are rebuilt by TTL, purge hooks and the rebuild cron
  • Added a Cache tab checkbox to restore the old clear-on-save behavior when needed
  • Plugin updates no longer cold-start the entire cache
  • Per-URL Delete/Rebuild cache actions now report exactly how many cache files were removed via admin notices, both in the Cached Pages tab and in the posts list row actions
  • Preload: optional WP Grid Builder sitemap source for filter pages

Fixes

  • Fixed Combined CSS generating one file per page URL because the URL was part of the file hash, duplicating identical CSS tens of thousands of times
  • Fixed Combined CSS regenerating the full set on every plugin update
  • Fixed relative url() rewriting inside the CSS bundle. A regex delimiter bug previously prevented rewriting, so background images and fonts with relative paths could resolve incorrectly
  • Force fresh load on link click is now OFF by default. Previously it bypassed the page cache on every internal click, causing browsing to use full renders instead of cached HTML
  • Existing installs are switched off once for Force fresh load on link click, while manual re-enabling is respected
  • Added a clear warning to the Force fresh load on link click option
  • Bundle mtime updates are now throttled to once per hour, keeping Last-Modified and ETag stable so browsers receive 304 revalidation instead of re-downloading the bundle
  • Fixed Per-URL Delete/Rebuild buttons for pages with query strings, especially filter URLs
  • Fixed link re-encoding truncating the url parameter at the first ampersand and purging the wrong URL

1.2.4 – June 2026

Improvements

  • Performance suite: removes render-blocking head bloat (generator, RSD, WLW, shortlink, REST/oEmbed links)
  • Speculation Rules (prefetch/prerender) for instant navigation on hover
  • Automatic image width/height and lazy-load — fixes layout shift (CLS), covers builder/Bricks images
  • Font preload (woff2) and font-display: swap for faster text rendering
  • Used CSS generator with safelist and per-template caching
  • Self-host third-party scripts (Google Analytics, gtag, pixel, CDN libraries)
  • Optional jQuery delay and JavaScript delay-until-interaction
  • Preconnect and DNS-prefetch hints for fonts and CDNs
  • Safe optimizations enabled by default on update

Fixes

  • Multilingual cache: correct language detection for TranslatePress, WPML, Polylang and Weglot
  • TranslatePress: cache now stores the translated HTML (no more default language served on /en/)
  • Fixed cache key mismatch between preload and visit — preloaded pages now serve as HIT
  • Fixed WooCommerce empty session blocking all page caching
  • Preload now generates language variants (e.g. /en/) so translated pages get cached
  • Drop-in auto-recopy and settings migration on version change

1.2.3 – March 2026

Improvements

  • Added pagination to the Cached Pages table

  • Cached URLs are now displayed 30 items per page

  • Improved navigation for large cache datasets

  • Improved admin experience for managing cached pages across multiple pages

  • Cache actions now keep the user on the same pagination page

Fixes

  • Fixed issue where all cached URLs were displayed on a single page

  • Fixed admin slowdown when large cache sets are loaded

  • Fixed pagination reset after Delete cache action

  • Fixed pagination reset after Rebuild cache action

  • Minor UI and usability fixes in Cached Pages section

1.2.2 – March 2026

Improvements

  • Added a new Cached Pages section in DJIA Cache admin

  • Added a full table of cached URLs for easier cache management

  • Added per-page cache actions: Delete cache and Rebuild cache

  • Added row actions in Posts, Pages, Products and Oglasi lists for quick cache control

  • Improved cache file tracking by linking cached files to original URLs

  • Improved admin workflow for managing individual cached pages

Fixes

  • Fixed missing direct cache controls for individual pages inside admin lists

  • Fixed cache management limitations for single cached URLs

  • Fixed visibility issues when identifying cached pages

  • Minor admin UI improvements in cache table and actions

1.2.1 – March 2026

Improvements

  • Improved cache purge logic for dynamic pages including archives and taxonomies.

  • Improved Delay JS stability in Safe mode.

  • Improved hover warm cache prefetch detection on mobile devices.

  • Improved CDN URL rewriting compatibility with custom asset paths.

  • Improved WooCommerce cache handling for product updates.

Fixes

  • Fixed issue where some logged-in cache buckets were not purged correctly.

  • Fixed asset minification conflict with certain themes.

  • Fixed edge case where cache rebuild could skip some sitemap URLs.

  • Fixed JavaScript defer conflict with specific plugin scripts.

  • Fixed minor UI inconsistencies in the Assets and Performance tabs.

1.2 – Major Update

New Features

  • Added Warm Cache system (Hover Prefetch) for instant page navigation.

  • Added Delay JavaScript optimization engine with Safe and Aggressive modes.

  • Added Bricks Builder optimization tab with LCP detection and preload support.

  • Added CDN integration with automatic static asset URL rewriting.

  • Added Cache preload system using sitemap URLs.

  • Added cache storage management panel.

  • Added plugin license activation system.

  • Added cache statistics and diagnostics tools.

Performance Improvements

  • Improved Core Web Vitals optimizations.

  • Added LCP image prioritization and preload detection.

  • Improved HTML page cache engine for faster response times.

  • Improved browser caching headers with immutable support.

  • Optimized JavaScript defer and async handling.

  • Improved asset caching system for CSS, JS, and fonts.

WooCommerce Improvements

  • Automatic cache exclusion for:

    • Cart page

    • Checkout page

    • My Account page

  • Automatic cache purge when:

    • product prices change

    • stock updates

    • product data changes

  • Improved compatibility with WooCommerce AJAX cart updates.

Compatibility Improvements

  • Improved compatibility with:

    • Bricks Builder

    • Elementor

    • Gutenberg

    • WooCommerce

    • ACF

    • multilingual plugins

    • multi-currency plugins

Tools & Maintenance

  • Added database cleanup tool.

  • Added cache purge tools in admin bar.

  • Added cache statistics overview.

  • Added diagnostic cache test system.

Fixes

  • Fixed cache purge issue affecting some taxonomy pages.

  • Fixed asset optimization conflicts with certain themes.

  • Fixed logged-in cache edge cases.

  • Fixed minor UI bugs in the settings interface.

1.1 – February 2026

New Features

  • Added logged-in user caching support with per-user and per-role cache modes.

  • Added separate cache for mobile and desktop devices.

  • Added automatic cache purge on login and logout.

  • Added role-based cache rebuild and purge control.

  • Added logged-in preload URLs support.

  • Added logged-in sitemap preload system.

  • Added force fresh load on link click option.

  • Added double reload protection mode for edge caching conflicts.

Performance Improvements

  • Improved page cache delivery speed.

  • Improved browser cache header handling.

  • Optimized cache file storage structure.

  • Improved cache rebuild logic for large sites.

WooCommerce Improvements

  • Added automatic exclusion for:

    • Cart page

    • Checkout page

    • My Account page

  • Improved cache purge behavior when WooCommerce content changes.

Compatibility Improvements

  • Improved compatibility with:

    • Bricks Builder

    • Elementor

    • Gutenberg

    • WooCommerce

    • multilingual plugins

Admin Interface

  • Added cache controls in WordPress admin bar.

  • Improved settings interface layout and descriptions.

  • Added additional configuration options in the Cache tab.

Fixes

  • Fixed issue where cache TTL values were not applied correctly in some cases.

  • Fixed logged-in cache purge edge cases.

  • Fixed minor settings UI bugs.

1.0 – Initial Release

Features

  • Page caching engine for anonymous visitors.

  • Optional logged-in user caching (per-user / per-role).

  • Browser cache header management.

  • Asset optimization:

    • HTML minification

    • CSS minification

    • JS minification

    • JS defer / async

  • Delay JavaScript execution.

  • CSS optimization tools.

  • DNS prefetch and resource hints.

  • Object cache support.

  • WooCommerce compatibility.

  • Multilingual plugin compatibility.