Skip to content

v1.7.0

Choose a tag to compare

@millipress-bot millipress-bot released this 12 Jul 21:32
7ea3755

1.7.0 (2026-07-12)

MilliCache 1.7.0 is a big step forward. The full feature list is long, so here are the highlights:

Redis Replication & Sentinel
MilliCache now supports high-availability setups. For most sites we still recommend simply running Redis or Valkey on the host server, but larger projects that need a more resilient topology are now covered.

Status Graphs
You can finally see how your cache is actually performing. A rebuilt Status dashboard charts your hit and miss ratio over time, so you can tell at a glance whether the cache is doing its job. On Multisite you also get network-wide stats.

Cache Buckets
Store different versions of the same request, for example based on a request header. This is really handy with plugins like roots/post-content-to-markdown, where you want to cache and serve different responses for the same URL: HTML for humans, Markdown for AI. In MilliCache that's a single rule.

Deduplication
Byte-identical responses are stored only once. MilliCache content-addresses each response body, so any requests that produce the exact same HTML (whether it's /?foo and /?foo=bar, or two entirely different URLs) share a single stored copy in Redis. Less memory, same speed.

Cache Health
Beyond the graphs, MilliCache now integrates with WordPress Site Health, so issues surface where you'd expect them: you won't miss it if, for example, your drop-in file is not in place.

Features

  • admin: add millicache_admin_notice action and HTML allowlist (c693a0a)
  • adminbar: animate + 500ms delay before post-clear recount (00c7dc1)
  • adminbar: live cache size + bounded current-view clear (3877451)
  • admin: centered loading indicator on the Status tab (534d7b0)
  • admin: count user-defined custom rules in the snapshot (ab0d686)
  • admin: docs links per check, "warnings" pill label, rules in snapshot (38307a4)
  • admin: expose three extension filters on the status snapshot (28c8cf1)
  • admin: footer Status indicator with unified status payload (dd72515)
  • admin: integrate with the WordPress Site Health screens (2470fb8)
  • admin: make the status extension filters scope-aware (9498b55)
  • admin: per-check breakdown in the footer Status modal (52e58c9)
  • admin: polish free Status chart to match Pro (4841e79)
  • admin: rebuild the Status tab — fixed panels, KPI/chart cards, lean Pro teaser (1ef92ca)
  • admin: surface storage topology across CLI, status, and settings (3f34067)
  • cache: Add bucket framework with content-addressable body dedup (#126) (a279fd7)
  • cache: cap entries at 5MB raw to protect Redis from oversized responses (2e2511f)
  • engine: expose install_mode() to report how MilliCache is loaded (788e079)
  • hand the advanced-cache.php drop-in between co-resident MilliCache copies (80d5ab9)
  • hooks: standardize cache-cleared action names (1dedb37)
  • metrics: make hit/miss retention windows configurable (45257b5)
  • metrics: record hit/miss in the response path, excluding the preloader (f42780f)
  • metrics: time-bucketed per-blog hit/miss metrics engine (e031f9c)
  • migrations: add Core/Migrations with storage→network move (63875c4)
  • plugin: Add author information and plugin URI to advanced cache file (ef97d53)
  • response: emit Age header on cache hits (RFC 9111) (035bd24)
  • rules: skip caching search result pages by default (4bf4be3)
  • settings: Include metrics in network-scoped Settings instance for multisite (59d2fa5)
  • settings: order the settings tabs by declared position (d8f208a)
  • settings: preserve storage connection settings across a full reset (77772b1)
  • settings: skeleton loading state for the Status dashboard (d5b48a7)
  • site-health: surface every status issue, not just the drop-in (7a2d793)
  • status: informational check tier, severity ordering, sticky modal tabs (ec6a249)
  • status: rework cache size metrics and Status tab UI (88991c4)
  • status: show each check as a subject and a verdict (f863b98)
  • storage: add generic key/value surface for reuse by drop-ins (a1d195c)
  • storage: add ping() active reachability probe (85068a2)
  • storage: emit URL + canonical flags from entry deletion/expiry hooks (d2445b1)
  • storage: extract Connection class with shape-inferred topology (afdfdce)
  • ui: Add footer with MilliCache version to Network and Site settings pages (bfe5a1f)
  • ui: Add footer with MilliCache version to Network and Site settings pages (130dcc7)
  • updater: honor millicache_updates at check time + add prerelease opt-in (0153b35)

Bug Fixes

  • admin: color the Status modal check icons (4ab80b3)
  • cache status: Correct key prefix for site flags in status retrieval (0f419a2)
  • cache: stop SWR regeneration from storing serve-time headers (2447389)
  • cron: self-heal the nightly maintenance schedule on load (32f8579)
  • drop-in: remove Plugin Name header so the drop-in is not listed as a plugin (c532c15)
  • network: Update network settings URL for MilliCache management (4861431)
  • release: isolate Strauss from setup-php's github-oauth token (85b642e)
  • settings: register the metrics.active default so it survives resolution (f079f91)
  • status: call the deduplication count unique responses, not pages (52447f9)
  • status: show clean package versions in the debug info (4deacaf)
  • storage: preserve flag membership when expiring a cache entry (7c83b33)
  • ui: Correct month value from 'M' to 'mo' (a0dbbf5)
  • workflow: make polish-release-pr idempotent across reruns (077c0c8)

Performance

  • storage: batch flag-to-key resolution when clearing by sets (1ee0b65)

Performance Results

Loading 7.2x faster with MilliCache!

Metric Without Cache With MilliCache Improvement
Server Response (TTFB) 51ms 7ms 86% faster
Page Load (LCP) 104ms 60ms 42% faster

Server Response is the primary metric for page caching. It measures how fast the server delivers the HTML. MilliCache focuses on serving cached pages instantly, eliminating database queries and PHP processing.

Page Load includes frontend rendering time, which depends on themes, scripts, and assets. Content optimization is outside MilliCache's current scope.

Technical Details

Cache Efficiency

  • Database queries: 27 → 0 (100% reduction)
  • Response time range: 7ms-61ms (cached) vs 49ms-56ms (uncached)

Cache Generation (First Request)

  • Total processing: 51.19ms
  • Before template: 25.38ms
  • Template rendering: 25.81ms

Test Configuration

  • Iterations: 50 (3 warm-up runs discarded)
  • Outliers removed: 4
  • Timestamp: 2026-07-12T21:31:09.755Z
  • Commit: 7ea3755

Regression Analysis

  • Status: PASS
  • Performance stable: 7.47x -> 7.20x (-3.6%)
  • Threshold: 10% slowdown triggers failure