Releases: MilliPress/MilliCache
v1.4.0
1.4.0 (2026-04-01)
⚠ BREAKING CHANGES
- e2e: WP_BASE_URL changed from localhost:8889 to localhost:8888. Run
wp-env destroybefore starting with the new configuration. - settings: UI constructor signature changed from (Loader, Engine, string, string) to (Engine, string, string).
- cache: Entry constructor now requires a $url parameter (2nd argument). The $debug property/parameter is replaced by $variant across Entry, Writer, Manager, and Hasher. State no longer carries debug_data.
Features
- cache: Store request URL and variant dimensions in cache entries (d334421)
- settings: Make schema defaults available to add-ons at plugin load (c899d3b)
Bug Fixes
- e2e: Checkout into lowercase directory for consistent plugin slug (9a554a0)
- release: Reset manifest to last published version (015ab7a)
- storage: Exclude expired keys from cache index count (dcc68ef)
- storage: Filter Redis hash fields to correctly identify flag fields (ee18c24)
- storage: Remove backward compat for pre-1.4.0 cache entries (6ab8e0a)
- storage: Respect per-entry custom TTL/grace in Redis EXPIRE (fd8ec58)
- tests: Eliminate connection warnings from Storage scheme tests (306f31d)
Build
- e2e: Migrate to wp-env 11 with lifecycle scripts (0220f95)
Performance Results
Loading 7.7x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 46ms | 6ms | 87% faster |
| Page Load (LCP) | 102ms | 60ms | 41% 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: 6ms-68ms (cached) vs 44ms-54ms (uncached)
Cache Generation (First Request)
- Total processing: 48.12ms
- Before template: 24.90ms
- Template rendering: 23.22ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 13
- Timestamp: 2026-04-01T17:18:15.541Z
- Commit: a553e70
Regression Analysis
- Status: PASS
- Performance improved: 7.63x -> 7.73x (+1.3%)
- Threshold: 10% slowdown triggers failure
v1.3.2
1.3.2 (2026-03-23)
Bug Fixes
- ui: Prevent asset enqueueing when admin bar is not showing (b9be14a)
Performance Results
Loading 8.5x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 42ms | 5ms | 88% faster |
| Page Load (LCP) | 90ms | 44ms | 51% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-7ms (cached) vs 40ms-52ms (uncached)
Cache Generation (First Request)
- Total processing: 42.90ms
- Before template: 20.34ms
- Template rendering: 22.57ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 8
- Timestamp: 2026-03-23T08:29:22.098Z
- Commit: b8d69c0
Regression Analysis
- Status: PASS
- Performance stable: 8.63x -> 8.53x (-1.2%)
- Threshold: 10% slowdown triggers failure
v1.3.1
1.3.1 (2026-03-16)
Bug Fixes
- i18n: Defer UI config to init hook to prevent early textdomain loading (df51634)
- ui: Register hooks for UI initialization to ensure proper textdomain loading (208621d)
Performance Results
Loading 8.8x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 41ms | 5ms | 89% faster |
| Page Load (LCP) | 88ms | 60ms | 32% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-56ms (cached) vs 39ms-52ms (uncached)
Cache Generation (First Request)
- Total processing: 40.13ms
- Before template: 19.44ms
- Template rendering: 20.70ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 13
- Timestamp: 2026-03-16T10:30:35.747Z
- Commit: 813701c
Regression Analysis
- Status: PASS
- Performance improved: 8.55x -> 8.79x (+2.7%)
- Threshold: 10% slowdown triggers failure
v1.3.0
1.3.0 (2026-03-15)
Features
- admin: Rebuild settings UI with MilliBase components (574145e)
- settings: Integrate MilliBase as the settings framework (83ba3fb)
- storage: Add TLS support via scheme prefix in MC_STORAGE_HOST (ac77698)
Bug Fixes
- e2e: Use dynamic slug in post deletion invalidation test (1dcc057)
- manager: Clearing by targets processes double prefixed flags in Multisite. (17971f3)
Performance Results
Loading 8.8x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 46ms | 5ms | 89% faster |
| Page Load (LCP) | 92ms | 56ms | 39% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-61ms (cached) vs 45ms-52ms (uncached)
Cache Generation (First Request)
- Total processing: 48.40ms
- Before template: 24.88ms
- Template rendering: 23.53ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 16
- Timestamp: 2026-03-15T20:42:24.991Z
- Commit: 6edb09f
Regression Analysis
- Status: PASS
- Performance stable: 9.00x -> 8.75x (-2.8%)
- Threshold: 10% slowdown triggers failure
v1.2.0
1.2.0 (2026-03-02)
Features
- storage: Support Unix socket paths for Redis connections (78254d7)
Bug Fixes
- storage: Handle PredisException when retrieving Redis/Valkey config (098b67c)
Performance Results
Loading 9.3x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 50ms | 5ms | 89% faster |
| Page Load (LCP) | 100ms | 60ms | 40% 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: 33 → 0 (100% reduction)
- Response time range: 5ms-63ms (cached) vs 47ms-66ms (uncached)
Cache Generation (First Request)
- Total processing: 54.16ms
- Before template: 27.62ms
- Template rendering: 26.55ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 10
- Timestamp: 2026-03-02T15:13:49.847Z
- Commit: d61f4b3
Regression Analysis
- Status: PASS
- Performance stable: 9.33x -> 9.29x (-0.5%)
- Threshold: 10% slowdown triggers failure
v1.1.0
1.1.0 (2026-02-21)
Features
- deps: Upgrade predis/predis from ^2.2 to ^3.0 (b84a8bd)
Bug Fixes
- release: Remove draft config so Release Please creates git tags (6d11112)
- ui: Replace removed
warningicon withcaution(3b8f686)
Performance Results
Loading 9.0x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 48ms | 5ms | 89% faster |
| Page Load (LCP) | 92ms | 60ms | 35% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-64ms (cached) vs 46ms-56ms (uncached)
Cache Generation (First Request)
- Total processing: 47.82ms
- Before template: 23.40ms
- Template rendering: 24.42ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 12
- Timestamp: 2026-02-21T20:38:54.735Z
- Commit: db701b1
Regression Analysis
- Status: PASS
- Performance stable: 9.07x -> 9.00x (-0.7%)
- Threshold: 10% slowdown triggers failure
v1.0.2
1.0.2 (2026-02-16)
Bug Fixes
- Make check_cache_decision() public and remove Options::is_caching_allowed() (b713aed)
Performance Results
Loading 9.3x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 47ms | 5ms | 89% faster |
| Page Load (LCP) | 96ms | 64ms | 33% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-62ms (cached) vs 45ms-55ms (uncached)
Cache Generation (First Request)
- Total processing: 47.87ms
- Before template: 22.81ms
- Template rendering: 25.06ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 17
- Timestamp: 2026-02-16T11:35:59.332Z
- Commit: 46e93d4
Regression Analysis
- Status: PASS
- Performance improved: 9.31x -> 9.32x (+0.1%)
- Threshold: 10% slowdown triggers failure
v1.0.1
1.0.1 (2026-02-15)
Bug Fixes
- ci: Use RELEASE_TOKEN for release-please to trigger PR workflows (2f8322e)
- Register action namespaces in Engine constructor (4a1ffb3)
Refactoring
- ci: Move E2E from PR trigger to release workflow gate (3c9de93)
- ci: Remove post-merge CI/E2E gates from release workflow (810055a)
Performance Results
Loading 9.1x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 46ms | 5ms | 89% faster |
| Page Load (LCP) | 88ms | 56ms | 36% 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: 30 → 0 (100% reduction)
- Response time range: 5ms-61ms (cached) vs 45ms-58ms (uncached)
Cache Generation (First Request)
- Total processing: 54.01ms
- Before template: 23.26ms
- Template rendering: 30.75ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 16
- Timestamp: 2026-02-15T11:55:03.979Z
- Commit: 1810dc2
Regression Analysis
- Status: PASS
- Performance improved: 9.10x -> 9.12x (+0.2%)
- Threshold: 10% slowdown triggers failure
v1.0.0
1.0.0 (2026-02-13)
Initial stable release of MilliCache — a full-page cache plugin for WordPress powered by Redis compatible servers.
Highlights
- In-Memory Full-Page Cache — Pages are served directly from memory before WordPress even initializes. No database queries.
- Flag-Based Invalidation — Tag cached pages with flags like
post:123orarchive:category:5, then clear related entries with a single command. Built-in flags are assigned automatically; custom flags give you full control. - Stale-While-Revalidate — Serve expired content while fresh content regenerates in the background. Prevents cache stampedes on high-traffic pages.
- Rules Engine — Define caching behavior with a fluent, chainable PHP API. Set TTL, grace periods, and exclusions per condition — all version-controllable.
- Multisite Native — Per-site cache isolation with network-wide management. Clear one site, a subset, or an entire network.
- Multiple Backends — Redis, ValKey, KeyDB, or Dragonfly. Any Redis-compatible server works out of the box.
- WP-CLI Integration — Commands for cache testing, status checks, diagnostics, and bulk operations. AI-agent friendly.
- Debug Headers & Browser Extension —
X-MilliCache-*headers show cache status, flags, and keys. The companion browser extension makes debugging effortless. - REST API —
/millicache/v1/*endpoints for cache control, status checks, and settings — ideal for CI/CD pipelines and monitoring. - Action & Filter Hooks — Full customization of caching behavior, flag assignment, and invalidation events.
- Smart Auto-Invalidation — Cache clears automatically when posts, menus, widgets, or theme settings change.
- Open Source — GPL-2.0+ licensed. No vendor lock-in.
Performance Results
Loading 9.1x faster with MilliCache!
| Metric | Without Cache | With MilliCache | Improvement |
|---|---|---|---|
| Server Response (TTFB) | 46ms | 5ms | 89% faster |
| Page Load (LCP) | 96ms | 56ms | 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: 30 → 0 (100% reduction)
- Response time range: 5ms-59ms (cached) vs 44ms-56ms (uncached)
Cache Generation (First Request)
- Total processing: 51.99ms
- Before template: 27.39ms
- Template rendering: 24.60ms
Test Configuration
- Iterations: 50 (3 warm-up runs discarded)
- Outliers removed: 11
- Timestamp: 2026-02-13T21:52:28.469Z
- Commit: 0301520
Regression Analysis
- Status: PASS
- Performance stable: 9.29x -> 9.11x (-1.9%)
- Threshold: 10% slowdown triggers failure