Changelog

1.5.0 (2026-09-11)#Copied!

Your cache statistics now survive a storage-server restart. The recommended Redis setup runs without persistence, so a restart or an eviction used to wipe the history behind the Status dashboard. MilliCache now keeps a copy of each site's daily totals in the WordPress database and restores it automatically, on the next dashboard load or at the latest with the nightly run. A related bug that made daily totals shrink over time is fixed, and the 30, 90 and 365-day views now include today and yesterday instead of waiting for the nightly job. Clearing the metrics with WP-CLI removes the mirrored copy as well.

Edge Cache gains two safeguards: installations that share one CDN zone can now isolate their cache tags, and the zone diagnostics flag pull-zone settings that would break logins, purging or freshness. A fixed query-string vary list is reported as a note rather than a zone problem, and pages are stored with their new tags as soon as the Shared zone setting changes.

The Entry Browser shows shared page bodies once per page and sizes pages by their variants, with a full-screen variants modal. The rule list stays on screen while it refreshes, and the WP-CLI license commands work on multisite again.

Features#Copied!

  • deps: update MilliCache to 1.8.2
  • edge: flag pull-zone settings that break login, purging or freshness
  • edge: isolate installations that share one CDN zone
  • metrics: show today in the daily views of the Status dashboard

Bug Fixes#Copied!

  • edge: report a fixed query-string vary list as a note, not a zone problem
  • edge: store pages with their new tags when the Shared zone setting changes
  • entries: show shared page bodies once per page in the Entry Browser
  • entries: size pages by their variants and give the variants modal the full screen
  • license: let the subsite-state command report to millipress.com on multisite
  • license: run the WP-CLI license commands through the Licensing module on multisite
  • metrics: restore the daily history on the dashboard right away and clear it fully
  • rules: keep the rule list on screen while it refreshes

Updated to MilliCache 1.8.2#Copied!

  • metrics: keep the daily history when the storage server restarts (a56173e)
  • storage: expose the shared body hash and meta size per cache entry (d3731fb)
  • cache: keep pages cacheable at the edge for the whole local cache lifetime (b938b92)
  • metrics: keep daily totals intact at the hourly retention edge (d166ae3)
  • storage: expire cache entries by their own custom TTL (58f2951)

1.5.0-beta.1 (2026-09-08)#Copied!

This beta tightens up multisite licensing via WP-CLI, fixes how the Entry Browser counts and displays shared page bodies, and corrects several edge-cache and UI rough edges.

On multisite, wp millicache license activate, deactivate, and status now go through the Licensing module and follow the same rules as the settings UI: --network targets the network license, and per-site operations correctly activate, opt back to the network license, or opt out. State changes are reported to millipress.com immediately, and MC_LICENSE_KEY defined in wp-config.php is always treated as the network license. These fixes require MilliPro 1.5.5, which also prevents a wp-config.php key from being read as a separate per-site license.

The Entry Browser now correctly accounts for MilliCache's deduplicated storage: one variant per page carries the shared body size, the rest show only their metadata marked "shares body", and the page total and summary both match what the Status tab reports. The variants modal also gains full-screen width, wraps long header values, and drops the Edge Cache tag header from the diff view. Both fixes require the MilliCache 1.8.2 update included in this release; older versions keep the previous behaviour.

A fixed query-string vary list on a bunny.net pull zone is now reported as a note rather than flipping the zone to "needs attention"—a reminder to keep every content-changing parameter on the list, not a problem to fix. Separately, switching the Shared Zone setting or changing the Key Prefix now clears the local cache in addition to purging the CDN, so pages are immediately re-stored with the correct namespace instead of replaying stale tags on every local hit until expiry. The rule list also stays visible during a refresh rather than replacing itself with a spinner.

Features#Copied!

  • deps: update MilliCache to 1.8.2-beta.1

Bug Fixes#Copied!

  • deps: update MilliCache to 1.8.2-beta.2
  • edge: report a fixed query-string vary list as a note, not a zone problem
  • edge: store pages with their new tags when the Shared zone setting changes
  • entries: show shared page bodies once per page in the Entry Browser
  • entries: size pages by their variants and give the variants modal the full screen
  • license: let the subsite-state command report to millipress.com on multisite
  • license: run the WP-CLI license commands through the Licensing module on multisite
  • rules: keep the rule list on screen while it refreshes

1.5.0-beta (2026-09-06)#Copied!

Two edge-caching improvements ship in this beta.

If you run multiple WordPress installations — single sites or multisites — behind a single bunny.net pull zone, cache tags from different sites used to collide: purging one site could wipe pages from another, and a full-site clear emptied the entire zone. A new Isolate this installation toggle prefixes every cache tag with that installation's Key Prefix, keeping purges strictly within their own namespace. Toggling the option or changing the Key Prefix triggers a one-time full zone purge. Note that the Key Prefix is now restricted to letters, digits, hyphens, and underscores, up to 8 characters.

The connection test and Edge Cache status check now surface pull-zone settings that are incompatible with MilliCache: stripped response cookies (breaks logins), header vary (disables URL and tag purging), Perma-Cache or browser caching (survive purges), and collapsed query strings (can serve the wrong cached page). These warnings appear in the admin UI and via wp millicache edge test at no cost — the checks piggyback on the existing credentials verification.

Features#Copied!

  • edge: flag pull-zone settings that break login, purging or freshness
  • edge: isolate installations that share one CDN zone

Bug Fixes#Copied!

  • deps: update MilliCache to 1.8.2-beta

1.4.1 (2026-08-29)#Copied!

On single-site installs, "Flush object cache" and "Purge edge cache" in the command palette now work correctly — they were posting to a multisite-only REST route and returning "No route was found".

The bundled MilliCache update (1.8.0 → 1.8.1) also fixes a subtle caching edge case: query parameters stripped for caching purposes (such as gclid or utm_* via MC_CACHE_IGNORE_REQUEST_KEYS) are now preserved in the live request until the page renders, so redirects from WordPress, WooCommerce, or multilingual plugins like Polylang correctly carry those parameters through to the target URL.

Features#Copied!

  • deps: update MilliCache to 1.8.1 (#54)

Bug Fixes#Copied!

  • commands: cache actions from the command palette on single-site installs

CI#Copied!

  • deps: derive the bundle update commit type from the MilliCache bump

Updated to MilliCache 1.8.1#Copied!

  • engine: keep ignored query keys in the request until rendering (f6f7d33)

1.4.0 (2026-08-22)#Copied!

1.4.0 puts every part of MilliCache Pro at your assistant's fingertips and makes edge purging immediate.

Everything MilliCache Pro does is now available as abilities. Caching, cache entries, caching rules (including the ones defined in code), preloading, the edge cache, the object cache, and cache performance can all be inspected and managed through the WordPress Abilities API, over REST and from MCP clients. Together with the abilities that ship in MilliCache itself, an AI assistant can answer "why is my page not cached", clear exactly the right things, and check how well the cache is working.

Edge purges are immediate. Integrations can fire the millicache_edge_purge action with post IDs, flags, paths, or URLs, and the edge is purged before the call returns; media in a separate pull zone included. Queued purges and preloads start within seconds of a content change instead of waiting for the next cron run, and a crashed background worker can no longer hold up pending purges. bunny.net purges get the time they actually need and fail fast when the CDN is unreachable.

Pro actions in the command palette. Purge the edge cache, flush the object cache, and jump straight to the Entries and Rules tabs from the WordPress command palette. The edge purge names your provider, so you always know which CDN you are clearing.

The Entries tab does more. Reload or expire cached pages straight from the Entries browser, watch preload progress appear instantly, and get told when a preload queue is not being drained.

1.4.0 brings the command palette from MilliCache 1.8.0 into Pro, extending it with edge cache and object cache actions alongside the standard clear and expire targets. Two bunny.net reliability fixes ship as well: URL purges no longer send the deprecated async parameter, and the request timeout has been raised to cover the ~7 seconds a real-world purge takes — previously, valid purges were cut off and reported as failures.

Features#Copied!

  • abilities: expose module operations via the WordPress Abilities API
  • abilities: expose the caching rules, the ones from code included
  • abilities: expose what is actually in the cache
  • abilities: report how well the cache is working
  • abilities: roll the Abilities API out across the modules
  • abilities: say when cache performance is not being recorded
  • cli: list the rules that come from code
  • commands: jump straight to the Entries and Rules tabs
  • commands: name the provider in the edge purge, and document the palette
  • commands: offer Pro actions in the WordPress command palette
  • commands: purge the edge cache and flush the object cache
  • deps: update MilliCache to 1.8.0
  • deps: update MilliCache to 1.8.0-beta
  • deps: update MilliCache to 1.8.0-beta.1
  • deps: update MilliCache to 1.8.0-beta.2
  • deps: update MilliPro to 1.5.4
  • edge-cache: gate edge tagging on the engine's storage verdict
  • edge: cap the lifetime the edge is told to keep a page
  • edge: purge the edge instantly, for integrations and everyone else
  • entries: reload or expire cached pages, and keep deletions deleted
  • preload: report a queue that nothing is draining
  • preload: show preload progress instantly in the Entries tab
  • roll the Abilities API out across the modules

Bug Fixes#Copied!

  • abilities: give action arguments their own names
  • abilities: steady the edge, object cache and preload answers
  • commands: give the preload command the menu item's icon
  • commands: order the palette by intent, not by directory name
  • edge-cache: enqueue the purge plan as a unique async action
  • edge: drop the async parameter from bunny.net URL purges
  • edge: fail fast when the CDN is unreachable
  • edge: give bunny.net purges the time they actually need
  • edge: start background work through WP-Cron's own runner
  • edge: tell the edge the entry's effective lifetime
  • preload: re-warm cache entries again when they are cleared individually
  • preload: show each site's own preload progress on multisite

Performance#Copied!

  • preload: start preloading right away instead of on the next cron run

Updated to MilliCache 1.8.0#Copied!

  • abilities: let assistants read cache status and clear the cache (f80b057)
  • abilities: report network-wide problems in a site's cache status (4e2b9f1)
  • abilities: say whether the install is a multisite (4573485)
  • adminbar: replace one-click flush with command palette integration (382b10b)
  • adminbar: snackbar clear feedback and a wider palette (2c77206)
  • cache: state the lifetime a replayed page has left (8f699fd)
  • clear: report removed-entry counts instead of processed inputs (23ec58f)
  • cli: scope bare clear flags to the WP-CLI site context (d30d31e)
  • commands: let add-ons ride the palette's promote/demote cycle (1db3d3f)
  • commands: offer expire alongside clear with descriptive target labels (880c9eb)
  • engine: capture the page in the outermost output buffer (6c4d393)
  • engine: capture the page in the outermost output buffer (7606f04)
  • engine: capture the page in the outermost output buffer (6cee142)
  • engine: expose the request's effective TTL override (31e2555)
  • rules: build the rule registry when the drop-in has not (b6ef71b)
  • adminbar: keep the admin bar button size stable on page load (2c77206)
  • cache: report targets that belong to another site (6a7947a)
  • clear: anchor path-only URL targets onto the home URL (27bd7dc)
  • clear: skip non-viewable taxonomies in post-related flags (40cd884)
  • commands: drop the stray focus ring after palette clears (880c9eb)
  • commands: stop crowding every admin search, and drop the settings entry (87b52d1)
  • engine: execute the invalidation queue when the drop-in never loads (746bd0e)
  • engine: keep non-default ports in URL-based cache hashes (ed6f3d6)
  • engine: never store redirect responses (6c4d393)
  • engine: never store redirect responses (7606f04)
  • engine: never store redirect responses (6cee142)
  • rules: lock wp-cron.php out of the cache and cover the rest_route form (908ce04)
  • rules: skip an action whose placeholder resolved to nothing (a5e4894)
  • updates: keep update checks off every admin page load (1661d07)

1.4.0-beta.3 (2026-08-21)#Copied!

The edge cache background worker now starts purge and preload jobs through WP-Cron's standard runner instead of calling Action Scheduler internals directly. A crashed worker can no longer stall pending purges until cron cleanup runs — queued jobs start within seconds, so the edge stops serving stale pages much sooner after a purge is triggered. Sites running WP-CLI on https-enforced installs will also see cron spawns correctly use the stored site scheme rather than the CLI context.

Bug Fixes#Copied!

  • edge: start background work through WP-Cron's own runner

1.4.0-beta.2 (2026-08-18)#Copied!

Edge purges now fire instantly instead of waiting for the next cron run — fire millicache_edge_purge and the edge is clean before the action returns, with post IDs, flags, paths, and URLs all accepted in the same call. The queue runner also starts immediately after a content change, so editor saves and cache clears reach the CDN within seconds rather than up to a minute later. When a CDN is unreachable, provider calls time out after 5 seconds and remaining calls in the same request are skipped, capping the worst-case delay at 5 seconds instead of 15 per target. Two documentation updates round out the release: purge scope per CDN provider (bunny.net account-wide, Cloudflare zone-scoped) and when background purges and preloads actually begin.

Features#Copied!

  • edge: purge the edge instantly, for integrations and everyone else

Bug Fixes#Copied!

  • edge: fail fast when the CDN is unreachable

Performance#Copied!

  • preload: start preloading right away instead of on the next cron run

1.4.0-beta.1 (2026-08-16)#Copied!

This beta completes the AI/assistant integration started in 1.4.0-beta and rounds out several areas that surfaced gaps during that work.

Abilities API — the main theme of this release. The WordPress Abilities API now reaches every Pro module. An AI assistant or other client can read which pages are cached and why a URL holds multiple copies, check cache performance figures (hit ratio, bandwidth, response times, and how they compare to the previous period), inspect caching rules including those registered from code, and see whether performance recording is even switched on — previously zeroes came back either way, with no way to tell the difference. Preload, Object Cache, and Rules join Edge Cache, each through the same pattern Edge Cache established. REST exposure follows the module's capability; MCP lists the readable abilities and the preload (recoverable work) and withholds the edge purge and object cache flush, whose costs fall outside the site.

Command palette. Pro's verbs were missing from the WordPress command palette, so the admin bar button showed only half the product. Modules now contribute palette entries the same way they contribute status checks, gated on the module being active and licensed. The full sitemap preload is the first entry. Edge purge and object cache flush follow, with the edge purge kept out of the promoted list since some providers rate-limit a full purge. Entries and Rules gain direct jump commands too. The palette now sorts by intent rather than directory name, and the preload entry carries the same icon as the menu item.

Entries. Row actions now act on the whole page rather than one variant. Reload expires the entry and hands the URL to the preloader so the stored copy keeps serving until the replacement arrives; it only appears when Cache Preloading is active. Expire marks a page stale for the next visitor to rebuild. Delete now really deletes — with preloading active, deletions were being re-queued immediately. "Delete all variants" was also removing only a single entry; that is fixed.

Edge cache. Two fixes to what the edge is told. The live response was reading the configured TTL while the stored copy used the entry's effective one, so a rule that shortens a page's lifetime had no effect on the generating response. Both now read the same source. Separately, the backstop TTL sent to the edge is now capped at one hour — with tag purges handling content changes, the TTL is only a fallback for a purge that never arrives, and there was no reason for it to reach a day. The millicache_edge_ttl filter can still raise the cap.

Preload. A new check detects a queue that nothing is draining — preloaded pages sitting unsent while every other signal reads fine. Once URLs have waited fifteen minutes with none fetched, the status says so and names the likely cause (background tasks not running). On multisite, preload progress was reporting the combined count for all sites; each site now owns its queue.

WP-CLI. wp millicache rules list now shows rules from code alongside stored rules, told apart by a source column. Asking for a code-registered rule by ID no longer says no such rule exists — it says where the rule lives instead.

Features#Copied!

  • abilities: expose module operations via the WordPress Abilities API
  • abilities: expose the caching rules, the ones from code included
  • abilities: expose what is actually in the cache
  • abilities: report how well the cache is working
  • abilities: roll the Abilities API out across the modules
  • abilities: say when cache performance is not being recorded
  • cli: list the rules that come from code
  • commands: jump straight to the Entries and Rules tabs
  • commands: name the provider in the edge purge, and document the palette
  • commands: offer Pro actions in the WordPress command palette
  • commands: purge the edge cache and flush the object cache
  • deps: update MilliCache to 1.8.0-beta.1
  • deps: update MilliCache to 1.8.0-beta.2
  • deps: update MilliPro to 1.5.4
  • edge: cap the lifetime the edge is told to keep a page
  • entries: reload or expire cached pages, and keep deletions deleted
  • preload: report a queue that nothing is draining
  • roll the Abilities API out across the modules

Bug Fixes#Copied!

  • abilities: give action arguments their own names
  • abilities: steady the edge, object cache and preload answers
  • commands: give the preload command the menu item's icon
  • commands: order the palette by intent, not by directory name
  • edge: tell the edge the entry's effective lifetime
  • preload: show each site's own preload progress on multisite

1.4.0-beta (2026-08-07)#Copied!

1.4.0-beta ships the MilliCache 1.8.0-beta engine, which changes where the page cache captures your HTML. Preload and Edge Cache each pick up reliability fixes alongside it.

The engine now captures the page in the outermost output buffer. MilliCache opens its buffer in the drop-in phase, before WordPress loads any plugins, so it is the last component to see the response rather than the first. Plugins that rewrite the whole page in a buffer of their own now finish before MilliCache stores anything, which means the cached copy matches what a visitor would have received without the cache. Multilingual sites show this most clearly: with TranslatePress, MilliCache used to capture the page before translation ran, so every cache hit served untranslated HTML. Those sites cache correctly now. Redirects are no longer stored either, so a temporary redirect cannot get baked into the cache.

Preload now shows its spinner in the Entries tab the moment you clear entries or kick off a full warm, refreshing the remaining URL count every five seconds so you're never left guessing. Clearing a single entry also re-queues that exact URL for preloading, with one exception: trashed or deleted posts are skipped since their URLs would return a 404.

Edge Cache receives two targeted fixes. Saving a post through Gutenberg with legacy meta boxes (such as Polylang's language selector) previously fired duplicate purge plans; the purge action is now enqueued as a unique async task so the duplicate is dropped while the original runs, and retries still work correctly. Separately, the edge tagger now asks the engine directly whether a response is storable instead of inferring it from headers_sent(), which the outermost buffer makes unreliable. REST, AJAX, admin redirects, and other early-exit responses are correctly marked private instead of being handed to the edge.

Because the buffer change touches every request, this is a release worth testing before it reaches production. WordPress installs opt in with define( 'MC_UPDATE_PRERELEASE', true ); in wp-config.php. Composer projects opt in per package with composer require "millipress/millicache-pro:^1.4@beta", since Composer installs stable versions only by default.

Features#Copied!

  • deps: update MilliCache to 1.8.0-beta
  • edge-cache: gate edge tagging on the engine's storage verdict
  • preload: show preload progress instantly in the Entries tab

Bug Fixes#Copied!

  • edge-cache: enqueue the purge plan as a unique async action
  • preload: re-warm cache entries again when they are cleared individually

Updated to MilliCache 1.8.0-beta#Copied!

  • adminbar: replace one-click flush with command palette integration (382b10b)
  • adminbar: snackbar clear feedback and a wider palette (2c77206)
  • clear: report removed-entry counts instead of processed inputs (23ec58f)
  • cli: scope bare clear flags to the WP-CLI site context (d30d31e)
  • commands: offer expire alongside clear with descriptive target labels (880c9eb)
  • engine: capture the page in the outermost output buffer (7606f04)
  • adminbar: keep the admin bar button size stable on page load (2c77206)
  • clear: anchor path-only URL targets onto the home URL (27bd7dc)
  • clear: skip non-viewable taxonomies in post-related flags (40cd884)
  • commands: drop the stray focus ring after palette clears (880c9eb)
  • engine: execute the invalidation queue when the drop-in never loads (746bd0e)
  • engine: keep non-default ports in URL-based cache hashes (ed6f3d6)
  • engine: never store redirect responses (6cee142)

1.3.0 (2026-07-29)#Copied!

Cache Preloading now discovers every sitemap declared in robots.txt on each run, so multilingual sites (e.g. The SEO Framework with Polylang) warm all languages automatically without touching settings. The Sitemap URL setting becomes Sitemaps and accepts multiple paths or full URLs when you need to override what's discovered. The Status tab and wp millicache preload report each sitemap's result individually.

Object cache setup is more resilient across the board. MC_OBJECT_CACHE_ACTIVE now works in both directions — set it to true to install the drop-in, false to remove it, and the toggle shows as locked in the admin UI. When wp-content isn't writable the toggle locks and explains why; REST and CLI activations revert automatically if the install fails; and the Status tab surfaces a missing drop-in rather than showing the module as simply off. The drop-in also re-points itself after atomic deploys and plugin reactivation. MC_LICENSE_KEY can now be supplied via wp-config.php alongside MC_OBJECT_CACHE_ACTIVE — docs cover both.

Bundled MilliCache moves from 1.7.6 to 1.7.7. The headline fix there is multisite metrics: response times, bandwidth, and stale-serve counts were silently dropped on network installs, leaving Insights charts flat.

Features#Copied!

  • deps: update MilliCache to 1.7.7 (#41)
  • object-cache: follow the MC_OBJECT_CACHE_ACTIVE constant in both directions
  • object-cache: prevent broken activations and heal the drop-in on deploys
  • preload: preload every sitemap listed in robots.txt

Bug Fixes#Copied!

  • deps: require MilliPro 1.5.3
  • object-cache: attach silently while the engine is still booting

Updated to MilliCache 1.7.7#Copied!

  • dropins: share install reporting and heal extension drop-ins (800111c)
  • engine: expose readiness for exception-free drop-in probes (24b8d37)
  • status: report when the config file cannot be written (54f2e82)
  • deps: require millipress/millibase ^2.8.0 (dd906d9)
  • metrics: record response times and honor retention on multisite (087e764)
  • Reinstall an already-correct drop-in symlink when --force is passed (3b2ed2f)

1.2.1 (2026-07-28)#Copied!

Edge cache purges now mirror MilliCache's own flag batches exactly, so bunny.net and Cloudflare always purge the same set of entries that MilliCache cleared, including wildcard flag patterns. This requires the bundled MilliCache 1.7.6, which also gains a low-memory warning on the Status screen.

Module toggle state for Preload and Block Editor is migrated from .enabled to .active to match all other modules; existing settings carry over automatically.

Features#Copied!

  • deps: update MilliCache to 1.7.6 (#38)
  • edge-cache: mirror every cache clear through MilliCache's flag batch

Bug Fixes#Copied!

  • entries: show titles and post type labels with their special characters
  • object-cache: persist WP-CLI writes when the engine boots late

Refactoring#Copied!

  • modules: unify module on/off toggles on the .active settings key

Updated to MilliCache 1.7.6#Copied!

  • engine: announce every cache clear as one merged flag batch (e2f1513)
  • status: warn before the storage server runs out of memory (a4fc9e6)
  • cli: give the interactive redis-cli session the real terminal (14e2128)

1.2.0 (2026-07-24)#Copied!

Sites running behind a host-managed CDN — Kinsta, WP Engine, and similar Cloudflare-Enterprise platforms — have had a silent problem: the host strips cache tags in transit, so edge purges matched nothing and stale content kept serving. This release fixes that end-to-end. A new Host CDN compatibility setting emits tags under a neutral header that a one-time Cloudflare Cache Response Rule converts back into cache tags on your zone, restoring purging. The Status tab now detects the condition too: instead of reporting Edge Cache as Active while purges silently fail, it explains what is happening and points to the setting and the matching zone rule.

Features#Copied!

  • deps: update MilliCache to 1.7.5 (#36)
  • edge: keep purging working behind host CDNs like Kinsta and WP Engine
  • edge: warn on the Status tab when a host CDN blocks purging
  • release: include bundled MilliCache changes in the changelog and release notes

Bug Fixes#Copied!

  • metrics: keep the dashboard date range from going stale
  • metrics: warn when the seed day count is clamped
  • release: unbreak the polish workflow file

Updated to MilliCache 1.7.5#Copied!

  • cache: clear a post's cache when it is unpublished (43a1a88)
  • cache: clear feed caches when a post is published or updated (b04ede8)
  • cache: fire millicache_cache_cleared_by_posts on automatic post invalidation (6615c7d)
  • engine: accept Vary tokens covered by request keying or inert on GET (53ad7b7), closes #172
  • engine: resolve Authorization bucket from redirect and basic-auth channels (7e7ed1b)
  • storage: prevent a fatal error when toggling MilliCache alongside MilliCache Pro (1ad4949)

1.1.0 (2026-07-22)#Copied!

MilliCache Pro now speaks your language. This release wires the plugin into the same language-pack delivery that ships translations for MilliCache, so a site running in German, Portuguese, or any other translated locale sees Pro's settings, modules, and command output in that language, updated automatically as new translations land. Along the way, composed interface strings were made properly translatable and JS translations are now served as full catalogs, so switching languages covers every corner of the settings screen.

The bundled MilliCache moves to 1.7.4, which brings the language-pack installation this release builds on and corrects the endpoint the updater checks for new versions.

Features#Copied!

  • deps: update MilliCache to 1.7.4 (#35)
  • i18n: register millicache-pro with the core language-pack injector
  • i18n: register the millipro text domain for language-pack delivery

Bug Fixes#Copied!

  • i18n: make composed UI strings translatable
  • i18n: serve JS translations as handle-named full catalogs

Refactoring#Copied!

  • i18n: follow the millicache_translation_domains filter rename

Updated to MilliCache 1.7.4#Copied!

  • i18n: install language packs from the millipress.com languages API (dd2d73d)
  • release: post a single Discord notification on stable release (57b0def)
  • i18n: serve JS translations as handle-named full catalogs (747594a)
  • updater: Correct endpoint URL for plugin update information (46611ad)

1.0.0 (2026-07-19)#Copied!

Welcome to MilliCache Pro, the premium extension that turns MilliCache's fast, reliable full-page cache into a complete performance toolkit for WordPress. Pro is built as a set of modules you switch on individually, so your site runs exactly the features you need and nothing more. Here is everything the first release brings.

Caching#Copied!

  • Visual Rules Builder: decide what gets cached, and for how long, from a point-and-click editor. Target pages by URL, template, post type, preview state, and time-based conditions, all without touching code.
  • Block Editor intelligence: precise cache invalidation that understands the modern editor, clearing exactly the right pages when you update synced patterns, Query Loops, or Site Editor templates.
  • Cache Preloading: keep the cache warm automatically. Pro rebuilds pages from your sitemap after you publish and after a full clear, so visitors almost always land on a cached page.
  • Cache Entries Browser: see inside the cache. Browse, search, and delete every cached page and its variants from a dedicated tab.

Content Delivery#Copied!

  • Edge Cache: serve whole cached pages from bunny.net or Cloudflare's global edge, purged in lockstep with your local cache so readers never see stale content.
  • Asset CDN: offload static files (CSS, JS, images, fonts) to a pull zone and rewrite their URLs for you, with flexible include and exclude matching.

Insights#Copied!

  • Detailed Metrics: a Status-dashboard view of requests, hit rate, bandwidth, and response times, with the estimated time your cache has saved.

Storage & Reliability#Copied!

  • Persistent Object Cache: a drop-in object cache backed by the same storage connection as your page cache, self-healing when the drop-in goes missing.
  • High-Availability Storage Connections: a visual editor for Redis replica and Sentinel topologies, plus per-site key prefixes.

Platform#Copied!

  • Full multisite awareness: modules configure themselves where their feature lives, whether per-site, network-wide, or both. Entries and Rules understand network-level data.
  • License management and automatic updates: activate your license in the settings screen and receive signed updates directly in WordPress.
  • WP-CLI throughout: list and toggle modules, manage rules, trigger preloads, and reinstall drop-ins from the command line.

Thank you for choosing MilliCache Pro. Every module here exists to make your site faster with less effort, so enable the ones you need and get back to building.

Last updated:

Release updates

Get notified when new versions and guides ship. No spam.

By subscribing you agree to our Privacy Policy.­ Double opt-in, no spam, unsubscribe anytime.