Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 22:00

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

Performance Improvements

  • batch the *_multiple functions through APCu's array APIs (4161dc6), closes #35

Code Refactoring

  • cache: rename public accessors to snake_case (09ba739), closes #44
  • require PHP 7.4 and use its syntax (6d0a6a9), closes #21