Object Cache Pro
PluginRegistro de cambios 72
Todos los lanzamientos, del más reciente al más antiguo, tal como el proveedor los publicó en el registro de cambios del plugin.
1.25.6
Mejorado Corregido Aún no disponibleChanged
- Warn about using
WP_REDIS_DISABLEDin WP CLI - Hide configuration constant notice in WP CLI when unnecessary
Fixed
- Fixed metrics missing from
aggregateanddigestCLI watchers - Fixed malformed tags in health check
actions - Fixed dashboard widget spacing and overflow
- Fixed some commands from being routed to replicas when
cluster_failover=distribute*
1.25.5
Nuevo Corregido Aún no disponibleAdded
- Support WordPress 7.x theme colors
- Support Relay's
cluster_(az|distribution_strategy|failover_strategy)options
Fixed
- Avoid unnecessary HTTP calls in rare scenarios
- Fixed admin menu update indicator
1.25.4
Mejorado Corregido Aún no disponibleChanged
- Preserve valid options in fallback when
Configuration::safelyFrom()fails - Improved failure resilience of
wp_cache_get_multiple() - Improved logging of failed transactions
Fixed
- Resolved rare deprecation notice
- Improved rare pipeline initialization failure handling
- Throw exception in
PhpRedisClusterConnectionwhenping()orinfo()fail
1.25.3
Corregido Aún no disponibleFixed
- Fixed Query Monitor 4.x compatibility
- Disable analytics before uninstalling plugin
- Prevent rare fatal error in shutdown handler
- Prevent rare array to string conversion warning
1.25.2
Nuevo Mejorado Corregido Aún no disponibleAdded
- Added
wp redis licenseCLI command
Changed
- Improved error handling for
CONFIGandSLOWLOGcommands - Switch to per-interval deltas instead of cumulative totals in "Requests" charts
- Avoid timeouts by chunking analytics measurements retrieval
Fixed
- Fixed chart overlapping in WordPress 7.x
- Fixed rare uncaught
TypeErrorinLicensing
1.25.1
Nuevo Mejorado Corregido Aún no disponibleAdded
- Added optional
analytics.persist_limitconfiguration option
Changed
- Avoid timeouts when flushing with
analytics.persistenabled - Limit analytics persist size
memory_limit / 2by default - Retry failed read commands on primary node before switching Sentinels
- Consider
*WithMeta()calls read-only on replicated connections
Fixed
- Disable cache if
WP_SETUP_CONFIGis defined - Fixed purging analytics measurements
- Fixed unit type of Relay "Memory" chart
1.25.0
Nuevo Mejorado Corregido Seguridad Eliminado Aún no disponibleAdded
- Added API/CLI endpoints to reset slowlog and command statistics
Changed
- Enable
strictmode by default when aprefixis set - Prevent integrity flush after cache was reset
- Removed transient deletion limit of 10k sites
- Loosen Relay
prefixhealth check - Replaced
current_time('timestamp')withtime() - Avoid changing parameter names during inheritance
Fixed
- Fixed accessing
CONFIGon cluster connections - Fixed accessing
INFO COMMANDSTATSon old Redis versions - Fixed selecting databases on persistent connections
- Fixed KeyDB detection
- Prevent diagnostics warning when
WP_REDIS_DISABLEDis enabled - Hardened license health check against API outages
1.24.5
Corregido Aún no disponibleFixed
- Fixed analytics charts not rendering under some conditions
1.24.4
Nuevo Mejorado Corregido Aún no disponibleAdded
- Added
objectcache_analytics_snapshot_measurementsfilter
Changed
- Increased adaptive cache configuration defaults
- Support negative
relay.adaptive.eventsvalues - Switched all
stringdiagnostics toDiagnosticobjects - Use
#[SensitiveParameter]for strings that may contain passwords
Fixed
- Reduce number of measurements fetched for metrics snapshot
- Fixed
WP_REDIS_DISABLEDnot being respected in some places - Prevent type error trying to format
nullmetric values - Prevent rare diagnostics error when not connected
- Prevent rare error when uninstalling plugin using WP CLI
1.24.3
Mejorado Corregido Seguridad Aún no disponibleChanged
- Support Relay's new adaptive cache
statusproperty - Support flushing Relay memory on clustered connections
- Disabled memory usage when scanning groups on clustered connections
- Improved
SLOWLOGhandling on clustered connections - Send sanitized metrics snapshot
Fixed
- Prevent error when running cron and using foreign object cache
- Prevent error when calling
INFOand using older PhpRedis versions - Fixed adaptive cache
eventsandratioconfiguration not taking effect - Handle permission errors when running
SLOWLOG|GETandMEMORY|USAGE
1.24.2
Nuevo Corregido Aún no disponibleAdded
- Added
wp redis analytics-countCLI command
Fixed
- Prevent excessive analytics snapshots
1.24.1
Corregido Aún no disponibleFixed
- Prevent error when using ElastiCache Serverless instances
- Prevent
unexpected tokenerrors when scripts are inlined - Prevent event listener registration when adaptive cache widget is missing
- Switched to ES6 over ES11 syntax
- Fixed groups scan API call if permalinks are disabled
- Fixed up some widget padding
1.24.0
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- Added experimental support for Relay's adaptive cache
- Added health, slowlog and command statistics widgets
- Added
queryttlconfiguration option (defaults to 24h) - Support calculating memory using in groups widget
- Added
groups,slowlog,commandsandprune-queriesCLI command - Added
objectcache_flushlog_limitfilter
Changed
- Prevent cache from being enabled if handshake fails
- Be more helpful when connection fails
- Improved diagnostics and various health checks
- Store cache analytics as plain JSON
- Don't store path and hostname in analytics by default
- Check license gracefully when sleeping for 72+ hours
- Display latency in milliseconds (not microseconds)
- Sort results in groups widget
- Log
getWithMeta()calls asGET - Hide
wp_cache_set_last_changedin Query Monitor stack - Deprecated
countproperty onobjectcache/v1/groupsendpoint - Download cache groups as CSV instead of copying to clipboard
- Perform integrity flush if WordPress version changes
- Changed cache command log level from
infotodebug - Omit logging cache commands in default
ErrorLogLogger - Include
noticein default log levels
Fixed
- Fixed Batcache compatibility issue
- Fixed Relay client access replicated and clustered connections
1.23.1
Mejorado Corregido Aún no disponibleChanged
- Support disambiguating
falsereturn values using$found(PhpRedis 6.2; Relay 0.10.1) - Show integrity flush reason in flush log widget
- Use unified base REST controller class
- Support calling
FLUSHDBwithoutASYNCon Relay connections
Fixed
- Fixed undefined array key access
- Fixed Dragonfly issues with lua scripts
- Fixed strict types error when using
ZRANGE
1.23.0
Nuevo Mejorado Corregido Aún no disponibleAdded
- Added server type to diagnostics
- Added health checks for
KEEPTTLrequirements (Redis 6.0; PhpRedis 5.3)
Changed
- Bump required PhpRedis version to 4.0.0
- Promote
noevictionhealth check status to critical - Exclude WooCommerce's
wc_cache_*group from prefetching - Retry loading cache metadata with backoff
- Reduced blocking time when pruning analytics measurements
- Switch away from deprecated Redis commands
- Support discarding pipelines and transactions
- Reduced memory footprint of
Connection::command()
Fixed
- Prevent integrity flush when metadata can't be loaded
- Preserve key TTL when (de|in)crementing numeric key
- Fixed resetting log levels when
debugmode is disabled - Prevent rare warnings in
connectToSentinels() - Avoid undefined key notices in
RedisMetrics - Avoid calling invalid calls to
flushBlog()
1.22.0
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- Added
fulloption forgroup_flushconfiguration option
Changed
- Switch
group_flushdefault value toscan - Swap all
error_log()call for internallog()helper - Log all messages when
debugmode is enabled - Improve performance of analytics API requests
Fixed
- Fixed rare
TypeErrorinDiagnostics::redisVersion() - Fixed scheme detection for
wp redis clicommand - Fixed inverted multi/pipeline modes
- Fixed OpenTelemetry tracer integration
- Avoid cloning connection when computing metrics
Removed
- Removed deprecated
$RedisCacheProglobal
1.21.3
Mejorado Corregido Eliminado Aún no disponibleChanged
- Allow more cache key separators in Relay prefix health check
Fixed
- Fixed changelog not being accessible when
DISALLOW_FILE_MODSis set - Avoid rare notice when using Query Monitor
- Removed debug call
1.21.2
Nuevo Mejorado Corregido Aún no disponibleAdded
- Support setting
strictmode usingOBJECTCACHE_STRICTenvironment variable
Changed
- Don't enable
strictmode when aprefixis set
Fixed
- Fixed connection error when no Sentinel replicas are available
1.21.1
Corregido Aún no disponibleFixed
- Fixed rare type mismatch when running admin lifecycle
1.21.0
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Aún no disponibleFixed
- Fixed plugin version string
1.20.1
Mejorado Corregido Aún no disponibleChanged
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Mejorado Corregido Aún no disponibleChanged
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Mejorado Corregido Aún no disponibleChanged
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Aún no disponibleFixed
- Fixed health check condition
1.16.0
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Seguridad Eliminado Aún no disponibleThis 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Eliminado Aún no disponibleFixed
- Fixed invalid nonce errors
Removed
- Removed unnecessary
phpversion()andsetOption()calls inRelayConnector
1.14.0
Nuevo Mejorado Corregido Eliminado Aún no disponible⚠️ 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
Nuevo Mejorado Corregido Seguridad Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleChanged
- 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
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Mejorado Corregido Aún no disponibleChanged
- Only preload groups with at least two keys
Fixed
- Convert integer group names to strings
1.11.0
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Aún no disponibleFixed
- Fixed an issue with non-persistent, numeric keys in
get_multiple()
1.10.0
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Corregido Aún no disponibleAdded
- Look for
object-cache-prodirectory in must-use stub
Fixed
- Fixed host scheme in PhpRedis 5.0.2 and older
1.9.1
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Mejorado Corregido Aún no disponibleChanged
- 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
Mejorado Corregido Aún no disponibleChanged
- Look for API in
object-cache-prodirectories
Fixed
- Fixed an issue with numeric keys and improved error handling in
get_multiple()
1.8.0
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Aún no disponibleFixed
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Aún no disponibleFixed
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Corregido Seguridad Aún no disponibleFixed
- Fixed global group cache keys
Security
- Prevent XSS injection using cache group names when using Debug Bar
1.5.0
Nuevo Mejorado Corregido Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Eliminado Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Aún no disponibleAdded
- 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
Nuevo Mejorado Corregido Seguridad Aún no disponibleAdded
- 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
Nuevo Aún no disponibleAdded
- Initial stable release