View as Markdown:
Changelog
1.6.2 (2026-05-04)#Copied!
Features#Copied!
- flags: Normalize flag identifiers (lowercase + trim) at boundaries (2859cd2)
- rules: Load user-defined rules from settings into the rule engine (b3fc827)
Bug Fixes#Copied!
- deps: Require millipress/millirules ^1.1.5 (4edb44d)
- storage: Drop stale flag fields and their set memberships on store (50b8d54)
Miscellaneous#Copied!
- release 1.6.2 (509add9)
1.6.1 (2026-05-01)#Copied!
Bug Fixes#Copied!
- deps: Require millipress/millibase ^2.4.0 (3d1a0f9)
1.6.0 (2026-04-30)#Copied!
Features#Copied!
- rules: Expose MilliRules registry/validation through Manager (812cf36)
Bug Fixes#Copied!
- rules: Restrict default REST rule to GET/HEAD to avoid lock warning (3144a48)
1.5.2 (2026-04-26)#Copied!
Features#Copied!
- plugin: Implement singleton pattern for MilliCache instance management (8d92bcb)
Miscellaneous#Copied!
- release 1.5.2 (b2d9de5)
1.5.1 (2026-04-24)#Copied!
Bug Fixes#Copied!
- engine: Simplify autoloader initialization for better compatibility (fe45266)
1.5.0 (2026-04-23)#Copied!
Features#Copied!
- rules: Add action metadata, scoped locking, and order-aware execution (7196cd3)
- rules: Lock critical built-in rules and use order 0/1 convention (c011d4c)
- storage: support username for authentication (#108) (19d62eb)
Bug Fixes#Copied!
- activator: Handle both old and new variable name in drop-in regex (cf80b88)
- engine: Use PHP_INT_MAX - 10 for template_redirect priority (8b7118f)
- settings: Remove inline padding from status tab wrapper (7d919f3)
- tests: Update do_cache arguments to include string type with default value (5afed64)
1.4.2 (2026-04-22)#Copied!
Bug Fixes#Copied!
- activator: Ensure symlink creation only if function exists (f935526)
1.4.1 (2026-04-22)#Copied!
Bug Fixes#Copied!
- advanced-cache.php: Set correct path to plugin on copy file operation (35179c2)
1.4.0 (2026-04-01)#Copied!
Features#Copied!
- 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#Copied!
- 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#Copied!
- e2e: Migrate to wp-env 11 with lifecycle scripts (0220f95)
1.3.2 (2026-03-23)#Copied!
Bug Fixes#Copied!
- ui: Prevent asset enqueueing when admin bar is not showing (b9be14a)
1.3.1 (2026-03-16)#Copied!
Bug Fixes#Copied!
- 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)
1.3.0 (2026-03-15)#Copied!
Features#Copied!
- 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#Copied!
- e2e: Use dynamic slug in post deletion invalidation test (1dcc057)
- manager: Clearing by targets processes double prefixed flags in Multisite. (17971f3)
1.2.0 (2026-03-02)#Copied!
Features#Copied!
- storage: Support Unix socket paths for Redis connections (78254d7)
Bug Fixes#Copied!
- storage: Handle PredisException when retrieving Redis/Valkey config (098b67c)
1.1.0 (2026-02-21)#Copied!
Features#Copied!
- deps: Upgrade predis/predis from ^2.2 to ^3.0 (b84a8bd)
Bug Fixes#Copied!
- release: Remove draft config so Release Please creates git tags (6d11112)
- ui: Replace removed
warningicon withcaution(3b8f686)
1.0.2 (2026-02-16)#Copied!
Bug Fixes#Copied!
- Make check_cache_decision() public and remove Options::is_caching_allowed() (b713aed)
1.0.1 (2026-02-15)#Copied!
Bug Fixes#Copied!
- ci: Use RELEASE_TOKEN for release-please to trigger PR workflows (2f8322e)
- Register action namespaces in Engine constructor (4a1ffb3)
Refactoring#Copied!
- ci: Move E2E from PR trigger to release workflow gate (3c9de93)
- ci: Remove post-merge CI/E2E gates from release workflow (810055a)
1.0.0 (2026-02-13)#Copied!
Initial stable release of MilliCache — a full-page cache plugin for WordPress powered by Redis compatible servers.
Highlights#Copied!
- 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.
MilliCache Documentation