Object Cache Pro
PluginChangelog 53
Every release, newest first, as the vendor published it in the plugin’s changelog.
1.21.0
New Improved Fixed Not available yetAdded
- Added Redis cluster support when using Relay
- Added
ErrorLogContextLoggerfor easier debugging
Changed
- Enabled
strictmode by default - Support
WC_SESSION_CACHE_GROUPconstant - Use decorrelated jitter backoff algorithm for connection attempts
- Check
wp_is_file_mod_allowed('object_cache_dropin')before automatically deleting drop-in - Added
Relay*Connection::keysInMemory()helpers - Improved latency widget content when using cluster connection
- Use configured logger and log levels when logging from plugin itself
- Resolved PHP 8.4 deprecation notices
Fixed
- Avoid rare fatal error in
Configuration::safelyFrom() - Fixed
objectcache_allow_dropin_modfilter
1.20.2
Fixed Not available yetFixed
- Fixed plugin version string
1.20.1
Improved Fixed Not available yetChanged
- Log exception message when cache reset fails
- Don't run filesystem health check if
DISALLOW_FILE_MODSistrue - Changed filesystem test file name from
.object-cache-test.tmptoobject-cache.tmp
Fixed
- Fixed
async_flushwhen using PhpRedis v6.0 - Avoid
TypeErrorwhen usingWP_Error::get_error_data()
1.20.0
New Improved Fixed Removed Not available yetAdded
- Added cache integrity protection
- Added analytics charts to dashboard widget
- Added
objectcache_widget_metricsfilter - Added
wp redis resetcommand - Added support for
OBJECTCACHE_OVERRIDEandOBJECTCACHE_MERGEconstants - Added support for PhpRedis v6.0
- Added
analytics.sample_rateconfiguration option
Changed
- Reduce default
retriesfrom5to3 - Refresh nonce using
X-WP-Nonceheader - Expose Relay license issues in Dashboard widget
- Refactored various flush mechanisms
- Expanded
ObjectCache::withoutMutations()callback type fromClosuretocallable - Delete
objectcache_*site options when uninstalling - Improved license API error handling
Fixed
- Fixed failover when using Redis Sentinel
- Bump
plugins_apipriority to prevent plugins from hijacking responses - Mute rare
undefined array keynotice influshBacktraceSummary()
Removed
- Removed
split_the_queryfilter in favor of native WordPress 6.4 behavior - Removed deprecated
rediscache_*filters - Removed deprecated
ObjectCache::flushMemory()method - Removed
objectcache_analytics_retentionfilter - Removed
--asyncoption fromwp redis flush
1.19.0
New Improved Fixed Removed Not available yetAdded
- Added
strictconfiguration option - Added group flush log widget
- Added link to settings to dashboard widget
- Added Relay memory health check
- Added support for
OBJECTCACHE_PREFER_RELAYenvironment variable - Added support for
pathandsocketconfiguration options - Added support for
redis-error.phptemplate - Added
objectcache_cleanup_transientsfilter - Added
--skip-transientsoption towp redis enable
Changed
- Render connection exceptions similar to WordPress database errors
- Throw exception when selecting non-existent database
- Delete all transients from database after enabling cache
- Support logging early flushes before plugin code was initialized
- Improved
WP_Query::get_posts()performance usingsplit_the_query - Made Relay diagnostics more helpful
- Renamed
relay-memory-activetorelay-memory-used - Not longer recommend disabling
prefetchandsplit_alloptionswhen using Relay
Fixed
- Display Relay's memory consumption more accurately
- Improve handling non-fatal
MGETfailures - Prevent
wp_cache_init()initializing twice - Avoid rare fatal error when parsing JSON responses
- Avoid confusing hiredis error message Relay connection times out
- Avoid fatal error when
gmt_offsetis not valid
1.18.2
New Improved Fixed Not available yetAdded
- Added Query Monitor constants to panel
Changed
- Renamed
ms-cache-mediantoms-cache-avg
Fixed
- Discard transactions if they fail
- Prevent REST API responses from being cached
- Fixed measuring analytics writes
- Fixed
storeWaitAveragecalculation - Fixed supported Redis version indicator when using Relay
1.18.1
Improved Fixed Not available yetChanged
- Updated End-User License Agreement
- Don't flush cache when updating drop-in
Fixed
- Fixed cache timing metric
- Fixed widget flush button label on multisite
- Fixed flushing groups that end with blog id on multisite
1.18.0
New Improved Fixed Removed Not available yetAdded
- Added
wp redis flush-groupCLI command
Changed
- Reduced overall memory usage
- Made cache key generation slightly faster
- Enable flush logging by default
- Log
warninglevel by default - Execute not split
alloptionsreads on primary node - Refactored object cache metrics to use new
ObjectCacheMetrics - Enabled flush logging when
save_commandsis set - Disabled command logging entirely unless
save_commandsis set - Return primary node from
*SentinelsConnection::client()instead of sentinel client
Fixed
- Handle foreign keys without a group in groups REST API endpoint
- Respect
async_flushwhen usingwp_cache_delete()
Removed
- Dropped support for Query Monitor <=3.8.0 backtraces
- Removed metrics keys from
info()in favor ofmetrics() - Removed
backtrace_summarylogging and deprecatedBacktraceLogger
1.17.1
Improved Fixed Not available yetChanged
- Switched to faster Zstandard compression level
- Handle non
int|stringcache keys stricter and more gracefully - Throw exception for invalid cache keys when
debugoption is enabled - Don't let the perflab plugin hijack the object cache drop-in
- Defer registering
wp redisCLI command
Fixed
- Fixed several multisite blog flushing issues
- Fixed accessing client on replicated connections
- Fixed setting
analyticsoption to boolean - Fixed calling
get_plugin_data()on non-existent drop-in
1.17.0
New Improved Fixed Removed Not available yetAdded
- Added support replicated and sentinel Relay connections
- Added
group_flushconfiguration option supportingkeys(new faster default),scan(previous default) andincremental(enormous datasets) - Added
tracerconfiguration option supportingnew-relicand globalopen-telemetrytracer providers - Support
network_flushoption when using Redis Cluster - Support New Relic tracing for Redis Cluster, Redis Sentinel and Relay clients
- Added
*Connection::listKeys()helpers - Added
PhpRedisClusterConnection::eval*()helpers - Added Redis Server version health checks and indicators
Changed
- Bumped scan and batch removal from
100to500keys - Flush more prudently even on main site when using
network_flush - Indicate whether the network or site will be flushed in overview widget in multisite environments
- Renamed all the things from master(s) to primary/primaries with backwards compatibility
- Improved must-use plugin detection
- ⚠️ Added
client()method toConnectionInterface - ⚠️ Use new
ClientInterfacein allConnectionInterfaceimplementations - ⚠️ Renamed
Connectorinterface toConnectorInterface - ⚠️ Renamed
handleBlogFlush()toshouldFlushBlog() - Renamed
flush_networkoption tonetwork_flush - Use
ObjectCache::$blogIdinstead ofget_current_blog_id() - Use
ObjectCacheCollector::get_storage(): QM_Datareturn type - Show received bytes and sent bytes in Query Monitor
- Strip slashes from commands in Query Monitor
- Improved support for
scan()and*scan()methods - Delete FOSS drop-in upon plugin activation
Fixed
- Fixed various Redis Sentinel issues
- Fixed
Invalid regular expressionin Safari - Fixed parsing
rawCommand()in Query Monitor calls when using Redis Cluster - Fixed health check for configuration constant being defined too late
- Fixed attempted property access on null in
Diagnostics::relayHasCache() - Fixed groups widget padding
- Fixed inverted "Relay Cache" metadata in Query Monitor
Removed
- Dropped Twemproxy support
- Dropped
PhpRedisClusterConnection::scanNode()helper - Dropped
*ObjectCache::Clientconstants - Dropped
WP_REDIS_PHPREDIS_OPTIONSconstant
1.16.4
New Improved Fixed Not available yetAdded
- Added support for WordPress 6.1's
wp_cache_supports()
Changed
- Refer to "external cache" as "datastore" everywhere
- Hide
wp_cache_get_last_changed()andwp_cache_flush_group()in Query Monitor
Fixed
- Fixed inverted "Relay Cache" diagnostic
- Fixed rare undefined
OPT_MAX_RETRIESconstant error - Don't use WordPress 5.3's
WP_REST_Request::has_param()
1.16.3
New Improved Fixed Removed Not available yetAdded
- Added new
wp redis statuscommand - Added
objectcache_omit_settings_pointerfilter - Added
relay.cacheconfiguration option
Changed
- Improved support for Relay's "client only" mode
- Renamed
wp redis infotowp redis diagnostics - Made
wp redis infoan alias ofwp redis status - Refined hosting provider detection
- Use new
Connection::$classproperty for FQCNs
Fixed
- Fixed rare fatal
ValueError
Removed
- Removed no longer needed
Relay::dispatchEvents()calls
1.16.2
New Improved Fixed Not available yetAdded
- Added support for Relay's "client only" mode
- Added compatibility with new Query Monitor data classes
- Added
objectcache_allow_dropin_modfilter - Added
relay.allowedandrelay.ignoredconfiguration options
Changed
- Append context to
objectcache_*_errorerrors - Verify
Transactionresult type and count - Make it easy to copy all cache groups to the clipboard
- Refined API health check and diagnostics
- Refined overview widget
- Refined analytics charts loading and messages
- Refined hosting provider detection
Fixed
- Avoid executing empty transactions
- Fixed update channel field availability
- Fixed Query Monitor request time ratio calculation
- Fixed rare Query Monitor issue when connection is
null - Hide more update notices when
updatesisfalse - Don't inline widget CSS twice
1.16.1
Fixed Not available yetFixed
- Fixed health check condition
1.16.0
New Improved Fixed Removed Not available yetAdded
- Added WordPress 6.1
wp_cache_flush_group()support - Added REST API endpoint for plugin options
- Added
objectcache_omit_analytics_footnotefilter - Added connection retries
- Added support for
OBJECTCACHE_CONFIGenvironment variable - Added integration for WP User Manager
- Added
withTimeout()andwithoutTimeout()connection helpers
Changed
- Pass PHPStan L7
- ⚠️ Made
Plugin,ConfigurationandTransactionclasses final - ⚠️ Added
MeasuredObjectCacheInterface - ⚠️ Added
commands(),memoize(),ioWait()andwithoutMutations()toConnectionInterface - Reduced default (read-)timeout from
5.0sto2.5s - Reduced default retry interval from
100msto25ms - Use
retry_intervalconfiguration option as backoff base - Use
read_timeoutconfiguration option as backoff cap - Use option API endpoint to save various settings
- Append backtrace to invalid cache key type log message
- Overhauled
flush_runtime()andflushRuntime()methods - Default to
defaultgroup inObjectCachehelpers - Accept any
callableforloggerconfiguration option - Catch callback exceptions in
PhpRedisConnection::withoutMutations() - Improved retry/backoff support for Relay connections
- Support Relay event listeners for WordPress 6.0
*_multiple()methods - Renamed
defaultbackoff tosmart - Only calculate cache size when needed and do so more memory-friendly
Fixed
- Fixed handling invalid cache keys
- Fixed loading of settings styles when must-use is symlinked elsewhere
- Fixed dashboard widget positioning
- Relaxed URL validation
- Avoid timeouts when deleting by pattern
- Avoid rare key identifier collisions
- Prevent rare analytics restore failure
- Fixed up
PhpRedisReplicatedConnectionlogic formulti()andflushdb()calls - Import missing exception in
Configuration\Concerns\Sentineltrait - Fixed return value of
Updates::setUpPluginInfo()when error occurred - Drop
mixedtype inPhpRedisClusterConnection::scanNode() - Prevent loading plugin more than once
- Don't hijack
actionparameter on dashboards
Removed
- ⚠️ Removed deprecated
flushRuntimeCache()helper
1.15.2
New Improved Fixed Not available yetAdded
- Added SQL queries metric
Fixed
- Don't require
ext-rediswhen running Relay transactions - Only hide upgrade notice in must-use setups
- Tweak widget latency warning color
- Fixed rare error of
get_num_queries()not being available
1.15.1
New Improved Fixed Not available yetAdded
- Show basename in diagnostics
Changed
- Add Redis and Relay samples to analytics footnote
- Narrow type hint to
TransactioninPhpRedisConnection::executeMulti()
Fixed
- Handle PHP 7.0/7.1 environments gracefully
- Show error when using bad plugin slug
- Don't render analytics when not connected
- Avoid rare undefined index when not connected in Query Monitor
- Catch all
Throwableerrors inObjectCache::error(), not only exceptions
1.15.0
New Improved Fixed Security Removed Not available yetThis releases introduces a settings page to keep an eye on cache analytics, manage plugin updates and use diagnostic tools.
Added
- Added analytics charts under Settings > Object Cache
- Added plugin updates under Settings > Object Cache -> Updates
- Added various tools under Settings > Object Cache -> Tools
- Added WordPress 6.0's
wp_cache_*_multiple()andwp_cache_flush_runtime()functions - Added support for Redis Sentinel
- Hijack all transactions to allow command logging
- Added
X-Redirect-Byfor all redirects - Added
analytics,sentinels,serviceandrelay.invalidationsconfiguration options - Added REST API endpoint for analytics, cache groups and latency
- Added
master()andreplicas()toPhpRedisReplicatedConnection - Added
nodes()toPhpRedisClusterConnection - Added
updatesconfiguration option - Added
wp redis analyticsCLI command that mimics REST API endpoint
Changed
- ⚠️ Require PHP 7.2+
- ⚠️ Require Relay v0.4.0
- ⚠️ Added
flush_runtime()toObjectCacheInterface - ⚠️ Added
add_multiple(),set_multiple()anddelete_multiple()toObjectCacheInterface - ⚠️ Added
connectToSentinels()andconnectToReplicatedServers()ConnectionInterface - Use group name as hash slot on cluster connections
- Deprecated
flushMemory()in favor offlushRuntime()for naming consistency - Redirect to settings after activation
- Allow analytics to be restored after cache flushes
- Only accept integers and non-empty strings as key names
- Dropped
stringtype for$keyin severalObjectCacheInterfacemethods - Hide misleading Relay statistics in
wp redis info - Reverted: Store
alloptionsas individual keys when using Relay - Increased Batcache compatibility
- Disabled
flush_networkoption when using Redis cluster - Marked PhpRedis v5.3.4 and older as outdated
- Catch
Throwableeverywhere, notException - Use a single
window.objectcacheobject - Highlight expensive commands in Query Monitor
- Be more helpful about missing command logs in Query Monitor
Fixed
- Fixed rare error when enabling drop-in
- Block
wp redis enablewhenWP_REDIS_CONFIGis not set - Fixed instantiating configuration without valid client extension present
- Avoid fatal error in
CommandsCollectorwhen no connection is established - Show
rawCommand()calls as actual commands in Query Monitor - Various other bug fixes small additions and improvements
- Fixed selecting non-zero databases in
wp redis cli - Fixed rare rendering issue with
wp redis watch digest - Fixed normalization of IDNs
- Don't request filesystem write access to check for drop-in existence
- Fixed rare bug when flushing specific site via
wp redis flush 1337
Security
- Prevent risky plugin auto-updates
- Prevent plugin upgrades when using version control
1.14.5
New Improved Fixed Not available yetAdded
- Store
alloptionsas individual keys when using Relay - Added health check for Relay configuration
- Added
Plugin::config()helper method
Changed
- Bump Relay requirement to v0.3.0
- Sped up
ObjectCache::id()lookups by caching prefix - Sped up
alloptionshash deletion when usingasync_flush - ⚠️ Renamed
SplitsAllOptionstrait toSplitsAllOptionsIntoHash
Fixed
- Fixed support of older Query Monitor versions
- Added missing
retriesandbackoffto diagnostics - Avoid rare error in
Connection::ioWait() - Avoid rare
TypeErrorinDiagnostics - Avoid rare error in Query Monitor when no connection is present
1.14.4
New Improved Fixed Not available yetAdded
- Introduced
ObjectCache::ClientandObjectCache::clientName()
Changed
- Use
QM_VERSIONto detect Query Monitor version - Convert logged commands names to uppercase
- Avoid log spam when calling Relay's
socketId(),socketKey()orlicense() - Make
isMustUse()andusingVCS()helpers static - Ignore all connection methods in Query Monitor backtraces
- Use new
qm/component_type/unknownfilter to set component type
Fixed
- Avoid warnings when displaying rare commands in Query Monitor
1.14.3
New Improved Fixed Not available yetAdded
- Added file header health checks
- Use Query Monitor backtraces and components when available
- Added integrations for several user role editors
- Detect must-use installations and VCS checkouts
- Respect
WP_REDIS_UPDATES_DISABLEDconstant and environment variable - Added
Plugin::Capabilityconstant - Added
Plugin::$directoryvariable
Changed
- Use
REQUEST_TIME_FLOATwhen available for improved accuracy - Improve handling when
WP_REDIS_CONFIGis set too late - Use
current_screenaction to register dashboard widgets - Use
wp_add_inline_style()for widget styles
Fixed
- Replaced non-functional capability checks using
map_meta_capwithuser_has_capfilter - Restored plugin meta links
- Restored mu-plugin and drop-in update notices
- Disable update button in must-use setups
- Corrected value used for total Relay memory
- Avoid warning in
DiagnosticswhenWP_REDIS_CONFIGis not set
1.14.2
New Improved Fixed Not available yetAdded
- Added
objectcache_dashboard_widgetfilter - Added
objectcache_network_dashboard_widgetfilter - Added
backoffandretriesconfiguration options - Added
pre_objectcache_flushfilter to short-circuit the flushing - Safeguard against update confusion attacks using
Update URIplugin header - Added
sharedconfiguration option to show key count instead of database size in shared environment
Changed
- Use decorrelated jitter backoff algorithm by default for all connections
- Append analytics comment to all XML feeds
- Show license state in Query Monitor and diagnostics
- Collect Relay key counts in metrics
- Bump Relay requirement to v0.2.2
- Memorize
Relay::stats()calls
Fixed
- Several PHP 8.1 compatibility fixes
1.14.1
Fixed Removed Not available yetFixed
- Fixed invalid nonce errors
Removed
- Removed unnecessary
phpversion()andsetOption()calls inRelayConnector
1.14.0
New Improved Fixed Removed Not available yet⚠️ This release contains minor breaking changes.
Added
- ⚠️ Added
Connector::supports()method - ⚠️ Added
ObjectCacheInterface::boot()method - Added Twemproxy support
- Added
ObjectCache::metrics()method - Added
Connection::ioWait()method - Added
Plugin::flush()helper - Added several
Diagnostichelper methods - Display Relay cache size in dashboard widget
- Track reads, writes, hits and misses counts
- Added cluster support to
wp redis cli - Allow clusters to be flushed asynchronously
- Added backbone for analytics and
wp redis watchcommand with 3 watcher types - Added environment type and host to all diagnostics
Changed
- ⚠️ Changed dashboard widget identifier to
dashboard_objectcache - Deprecated
$GLOBALS['RedisCachePro'], use to$GLOBALS['ObjectCachePro']instead - Deprecated
rediscache_managecapability, use toobjectcache_manageinstead - Deprecated
rediscache_validate_dropinfilter, useobjectcache_validate_dropininstead - Deprecated
rediscache_validate_dropin_versionfilter, useobjectcache_validate_dropin_versioninstead - Deprecated
rediscache_check_filesystemfilter, useobjectcache_check_filesysteminstead - Trigger
E_USER_WARNINGinstead ofE_USER_NOTICEinObjectCache::__get() - Always use asynchronous flushing with Relay
- Flush the cache when calling
wp redis enableandwp redis disable, unless--skip-flushis passed - Don't
EXPIREthealloptionshash map - Memorize
PINGandINFOresults when feasible - Register shutdown function to close cache in
wp_cache_init() - Store prefetches when closing cache
- Only log incompatible key prefetch warnings in
debugmode - Show extended metrics in Query Monitor panel
- Simplified Debug Bar integration
- Moved CLI commands into
Consolenamespace - Boot connector when setting client in the configuration, not in
wp_cache_init() - Improved error messages when checking of compression/serializer in configuration
- Use SPL autoload function in
bootstrap.php - Increased priority of dashboard widget
- Set default
timeoutandread_timeoutto5seconds - Set default
retry_intervalto100milliseconds - Always verify invalid licenses when running health checks
- Bumped the HTTP timeout for license health checks to
15seconds - Invalidate drop-in file opcode when disabling the cache
- Cache
get_plugin_data()calls to improve performance - Flush the cache when enabling/disabling the drop-in via dashboard widget and when deactivating the plugin
- Support must-use Query Monitor setups
- Bumped
prefixlimit to32characters
Fixed
- Speed up API health check
- Fixed some rare PHP notices
- Fixed fatal error when using
urloption without password - Prevent unnecessary config calls in
RelayObjectCache - Support
object-cache-pro.phpbasename setups - Fix PHP 7.1 and older compatibility in
License
Removed
- Removed unnecessary confirm dialogs from dashboard widget action
1.13.3
New Improved Fixed Security Not available yetAdded
- Support passing function names to
loggerconfiguration option
Changed
- Improved Relay integration and support
- Improved unsupported
compressionandserializererror messages - Renamed more things to "Object Cache Pro"
Fixed
- Support
urloption without usernames - Ensure
wp_debug_backtrace_summary()is loaded to increase Batcache compatibility
Security
- Hide passwords in
urlfrom diagnostics
1.13.2
New Improved Fixed Not available yetAdded
- Added
relay_listenersconfiguration option - Added a
BacktraceLoggerlogger for easy debugging - Added wildcard support in non-prefetchable group names
Changed
- Split up
setMutationOptions()methods
Fixed
- Fixed flushing clusters when using a TLS connection
1.13.1
New Improved Fixed Not available yetChanged
- Disable prefetching for CLI and API requests
- Added
userloginsandwc_session_idto non-prefetchable groups - Prevent even more
__PHP_Incomplete_Classerrors when using prefetching
Fixed
- Fixed type error in
PrefetchesKeys
1.13.0
New Improved Fixed Removed Not available yetAdded
- Added support for Relay
- Added
clientconfiguration option - Added
tls_optionsconfiguration option - Added
ObjectCache::withoutMutations()helper - Added
PrefetchesKeys::deletePrefetches()helper - Added
infolog lines towp_cache_init() - Added wildcard support in non-persistent group names
- Show command count and argument class names in Query Monitor
Changed
- Respect
debugconfiguration option inwp_cache_init() - Added
Connector::boot(): voidinterface method - Deprecated
WP_REDIS_PHPREDIS_OPTIONSconstant - Renamed several internal exceptions
- Access fully qualified constants
- Expect
PhpRedisConnectioninPhpRedisObjectCacheconstructor - Use high resolution time when available
- Increased command time decimals from
2to4 - Refactored license code to be more graceful
- Prevent
__PHP_Incomplete_Classerrors when using prefetching
Fixed
- Fixed flushing networks when using the
siteorglobaloption - Fixed preloading in multisite environments
- Fixed prefetches count discrepancies
1.12.0
New Improved Fixed Not available yetAdded
- Improved PHP 8 compatibility
- Added support for Batcache
- Support flagging groups as non-prefetchable
- Added
ObjectCache::deleteFromMemory(string $key, string $group)method - Added
ObjectCache::flushMemory()in favor ofObjectCache::flushRuntimeCache() - Added
rediscache_validate_dropinfilter - Added
rediscache_validate_dropin_versionfilter
Changed
- Support loading the object cache as early as
advanced-cache.php - Changed default value of
cluster_failovertoerrorto improve stability - Refactored
flushBlog(int $siteId, string $flush_network = null)method - Check
wp_is_file_mod_allowed('object_cache_dropin')before automatically updating drop-in - Marked PHP 7.3 as outdated
Fixed
- Prevent another rare undefined variable notice in
wp_cache_init() - Resolve incompatibility with Query Monitor 3.6.5
- Updated some links to the documentation
1.11.1
Improved Fixed Not available yetChanged
- Only preload groups with at least two keys
Fixed
- Convert integer group names to strings
1.11.0
New Improved Fixed Not available yetAdded
- Added prefetching 🚀
- Added
ObjectCache::flushRuntimeCache()method - Added
PhpRedisConnection::withoutMutations()method - Added support for Query Monitor's new backtraces
Changed
- Improved memory usage display in widget
- Speed up command execution when using replication
- Improved parameter formatting in Query Monitor
- Attach backtrace as array along with backtrace summary to log messages
- Moved runtime cache helpers from to
ObjectCacheclass
Fixed
- Fixed updating split
alloptionshash options with equivalent values - Send
alloptionshash read commands to the master when using replication - Prevent rare undefined variable notice in
wp_cache_init()
1.10.2
New Improved Fixed Not available yetAdded
- Overload generic
cache_hitsandcache_missesproperties
Changed
- Always return a
ConfigurationfromConfiguration::safelyFrom() - Use invalid configuration option name (not method name) in error log message
Fixed
- Use key caching in multisite environments
- Added suffix to MU and Drop-in stubs to avoid invalid plugin header error when activating
1.10.1
Fixed Not available yetFixed
- Fixed an issue with non-persistent, numeric keys in
get_multiple()
1.10.0
New Improved Fixed Not available yetAdded
- Show connection class in Query Monitor
- Added
Configuration::parseUrl()helper - Added support for replicated connections
- Show configuration instantiation errors in widget and site health
Changed
- Moved
RedisCachePro\Configclass toRedisCachePro\Configuration\Configuration - Renamed
slave_failoverconfiguration option tocluster_failover✊🏿 - Extracted cluster related configuration into
RedisCachePro\Configuration\Concerns\Cluster - Trim log messages to 400 characters in Debug Bar log
- Throw
RedisConfigValueExceptionfor invalid configuration values instead ofRedisConfigException
Fixed
- Create a proper configuration object when cache instantiation fails
- Escape command parameters in Query Monitor extension
- Moved Redis related information from
ObjectCache::info()toPhpRedisObjectCache::info() - Always strip
unix://from PhpRedis host parameter - Ensure
PhpRedisObjectCache::info()->statusreturns a boolean - Prevent invalid configuration values from booting plugin
1.9.2
New Fixed Not available yetAdded
- Look for
object-cache-prodirectory in must-use stub
Fixed
- Fixed host scheme in PhpRedis 5.0.2 and older
1.9.1
New Improved Fixed Not available yetAdded
- Added
wp_cache_remember()andwp_cache_sear()functions
Changed
- Pointed all URLs to the new domain
objectcache.pro - Change log prefix from
rediscachetoobjectcache - Slightly sped up API loading in object cache drop-in
Fixed
- Only throw exception in mu-plugin and drop-in when
WP_DEBUGis true
1.9.0
New Improved Fixed Not available yetAdded
- Added
urlconfiguration option - Added
schemeconfiguration option - Added support for
optionsparameter added in PhpRedis 5.3 - Added support for LZ4 compression (PhpRedis 5.3+)
Changed
- Support connecting to sockets and using TLS in
wp redis cli - Convert
hostconfiguration option to lowercase - Set
schemewhen included inhostconfiguration option
Fixed
- Fixed getting multiple numeric keys in
ArrayObjectCache - Fixed setting
port,database,maxttlandretry_intervalas numeric string
1.8.2
Improved Fixed Not available yetChanged
- Reverted eager plugin name change in v1.8.1
- Updated plugin URL to new domain to avoid redirects
Fixed
- Don't flag drop-in as invalid when it's just outdated
1.8.1
Improved Fixed Not available yetChanged
- Look for API in
object-cache-prodirectories
Fixed
- Fixed an issue with numeric keys and improved error handling in
get_multiple()
1.8.0
New Improved Fixed Not available yetAdded
- Added
usernameconfiguration option for Redis 6 ACL support - Added
cacheconfiguration option to set a custom object cache class - Added
connectorconfiguration option to set a custom connector class - Added
flush_networkconfiguration option (defaults toall) - Support flushing individual sites via Network Admin > Sites
- Added
--skip-flush-noticeoption towp redis enablecommand - Added health check to ensure asynchronous flushing is supported
- Added health check to ensure drop-in can be managed
- Added intuitive alias for all WP CLI commands
- Added support for
wp_cache_get_multiple()introduced in WP 5.5
Changed
- Renamed "Dropin" to "Drop-in" everywhere
- Support flushing individual sites using
wp redis flush - Hide Redis memory from dashboard widget in multisite environments
- Display notice when license token is not set or invalid, as well as when the license is unpaid or canceled
Fixed
- Explicitly set permissions of
object-cache.phptoFS_CHMOD_FILE
1.7.3
Fixed Not available yetFixed
- Support older versions of Query Monitor
- Ignore HTTP errors for license verification requests
- Prevent undefined index notice in
ObjectCache::info() - Prevent call to undefined function in
Licensing::telemetry()
1.7.2
New Improved Fixed Not available yetAdded
- Use
wp_opcache_invalidate()on drop-in - Refactored
Diagnosticsto useDiagnosticobjects
Changed
- Minor dashboard widget improvements
- Minor Query Monitor extension improvements
- Cleanup plugin options upon deactivation
- Disable FOSS version when activating plugin to avoid confusion
Fixed
- Escape more HTML outputs
- Prevent unnecessary license verification requests
1.7.1
Fixed Not available yetFixed
- Always send
setOption()values as string - Fixed Query Monitor panels not showing up for some setups
- Fixed
ArrayObjectCachefallback instantiation inwp_cache_init() - Format all commands parameters using
json_encode()in Query Monitor panel
1.7.0
New Improved Fixed Not available yetAdded
- Added support for Query Monitor
- Added context to license issues in the dashboard widget
- Show updates for must-use plugin and object cache drop-in
Changed
- Improved formatting of config values in diagnostics
- Don't highlight
noevictionpolicy when maxTTL is set
Fixed
- Prevent unnecessary plugin update requests
1.6.0
New Improved Fixed Not available yetAdded
- Support PHP 7.0 and PhpRedis 3.1.1
- Indicate missing license token in dashboard widget
Changed
- Switched to
WP_CLI\Utils\proc_open_compat()forwp redis cli - Ping Redis during object cache initialization to catch
LOADINGerrors
Fixed
- Fixed potential
TypeErrorduringupgrader_process_completeaction
1.5.1
Fixed Security Not available yetFixed
- Fixed global group cache keys
Security
- Prevent XSS injection using cache group names when using Debug Bar
1.5.0
New Improved Fixed Removed Not available yetAdded
- Added
Requires PHPandNetworkto plugin header fields - Show supported compression formats in site health
Changed
- Initialize plugin after all plugins have been loaded
- Improved the plugin version and basename detection
- Improved muting the
wp redis cliauth warning - Don't require setting
portwhen connecting to a unix socket - Validate config connection information before connecting
- Always inline widget styles (1015 bytes)
- Always inject plugin details into
update_pluginstransient - Improved obfuscation of sensitive values
- Hide health link from plugin actions in WP <5.2 and multisite networks
- Prevent widget color clashing with color scheme
Fixed
- Fixed detection of multisite networks
- Fixed setting global and non-persistent groups
- Fixed notices in Debug Bar extension
- Fixed
INFOcommand when using cluster
Removed
- Removed
wp_clear_scheduled_hookforrediscache_report
1.4.0
New Improved Fixed Not available yetAdded
- Added support for storing
alloptionskey as hash - Added
wp redis clicommand to spawnredis-cliprocess with configuration - Support
WP_REDIS_DIRconstant inmu-plugin.phpstub
Changed
- Ensure object cache drop-in is valid before flushing via CLI
- Colorized
wp redis flusherrors
Fixed
- Fixed typo in
RedisConfigMissingException - Fixed logs missing from Debug Bar
- Fixed cloning logic in
PhpRedisObjectCache::storeInMemory() - Inline styles when plugin is symlinked or located outside of web root
1.3.0
New Improved Removed Not available yetAdded
- Added support for asynchronous flushing
- Added support for data compression using LZF and Zstandard
- Added network admin dashboard widget
- Added
wp redis flushcommand with support for--asyncflag - Automatically update drop-in after plugin update
- Show used and max memory in widget, site health and Debug Bar
Changed
- Switched to using
ErrorLogLoggerby default - The
ArrayLoggernow extendsErrorLogLoggerand vice versa - The log levels now default to
['emergency', 'alert', 'critical', 'error'] - Changed log level of
ObjectCache::error()fromcriticaltoerror - Introduced
PhpRedisMissingExceptionandPhpRedisOutdatedException - Attempt direct filesystem access when WP filesystem initialization fails
- Renamed internal cache methods in
PhpRedisObjectCacheto be more descriptive - Capture more errors by using
Throwablein some places - Moved Debug Bar HTML into template files
- Support setting
log_levelsconfiguration option tonull
Removed
- Support setting
tokenandpasswordtonull - Removed captured errors from site health information
1.2.1
New Improved Fixed Not available yetAdded
- Added health checks link to plugin actions
Changed
- Made initialization exceptions more helpful
- Escape HTML in Debug Bar log messages
- Improved pinging cluster nodes
Fixed
- Fixed duplicate prefix when using cluster
- Fixed undefined index notices in
Licensing - Fixed a issue when loading widget styles as must-use plugin
- Resolved minor spelling mistakes
1.2.0
New Improved Fixed Not available yetAdded
- Added dashboard widget
- Added support for automatic WordPress updates
- Added diagnostic tests and information to Tools > Site Health
- Added
tokenconfiguration option to set license token
Changed
- Disable object cache when deactivating/uninstalling the plugin
Fixed
- Fixed DebugBar integration on case-sensitive filesystems
1.1.0
New Improved Fixed Security Not available yetAdded
- Added log levels
- Added
WP_REDIS_DISABLEDenvironment variable
Changed
- Use
PhpRedisConnectionfor each master when flushing clusters - Obfuscate all non-
nullpasswords in diagnostics - Allow password to be
nullfor more convenient fallbacks
Fixed
- Prevent timeouts when flushing database
- Use inline styles to clear floats in Debug Bar panels
Security
- Obfuscate password in constants section of diagnostics
1.0.0
New Not available yetAdded
- Initial stable release