Changelog

1.4.0 (2026-04-01)#

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)

1.3.2 (2026-03-23)#

Bug Fixes#

  • ui: Prevent asset enqueueing when admin bar is not showing (b9be14a)

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)

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)

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)

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 warning icon with caution (3b8f686)

1.0.2 (2026-02-16)#

Bug Fixes#

  • Make check_cache_decision() public and remove Options::is_caching_allowed() (b713aed)

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)

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:123 or archive: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 ExtensionX-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.