Repository navigation
Releases
Releases · l3rady/object-cache-apcu
v2.0.1
v2.0.0
2.0.0 (2026-10-11)
⚠ BREAKING CHANGES
- wp_cache_flush() no longer empties all of APCu, so code that relied on it to clear other applications' data must call apcu_clear_cache() itself. The key format gained an epoch, so the cache starts empty once after upgrading.
- installs that define neither WP_APCU_KEY_SALT nor WP_CACHE_KEY_SALT use a different key salt, so the cache starts empty once after upgrading. Define WP_APCU_KEY_SALT as 'wp' to keep the old keys.
- PHP 7.2 and 7.3 are no longer supported; PHP 7.4 or newer is required.
- cache: the public camelCase accessors on WP_Object_Cache were renamed to snake_case. Code calling the old names must switch to the new ones. The public cache_hits and cache_misses properties are unchanged.
Features
- add the missing WP_Object_Cache class API (4a124c8), closes #31
- fall back to WP_CACHE_KEY_SALT, then the database, for the key salt (9a4f54f), closes #36
- make flush() empty only this install's cache (0d86001), closes #34
Bug Fixes
- cache: follow core semantics for incr and decr (33aa098), closes #27
- cache: list groups in stats and report APCu usage (b566a02), closes #32
- cache: make a forced read bypass the local cache (8975a5e), closes #29
- cache: make replace() only write when the key already exists (c3d32e1), closes #22
- cache: name the compare and swap retry limit and test losing the race (770c306)
- cache: never clear APCu from flush_runtime (e8e0cd9), closes #25
- cache: reject invalid cache keys like core (460f9f2), closes #30
- cache: return true from non persistent writes (7c262bb), closes #26
- cache: use apcu_enabled() to decide whether APCu works (5bb2359), closes #28
- cache: use random version tokens so evicted versions stay lost (4be3e60), closes #24
- cache: use the new version at once after flush_group and flush_site (7ced093), closes #23
- keep extra files out of the dist archive (e8a8d66), closes #74