Releases: cachewerk/relay
Releases · cachewerk/relay
v0.10.0
Added
- Added
relay.locks.*
configuration directives - Added option
Relay::OPT_CLIENT_TRACKING
option
Changed
- Switched to
mutex
locks by default for better performance - Several internal improvements and fixes
Fixed
- Added missed
context
parameter toSentinel::__construct()
- Fixed cleaning up resources when terminated by
SIGTERM
orSIGQUIT
- Fixed rare
Relay\Cluster
memory leaks - Fixed a signal reentrancy bug
v0.9.1
v0.9.0
Added
- Added
SWAPDB
command - Added support for FT commands
- Added
Cluster::keys()
method - Support caching
TYPE
command - Support caching of ZSET commands
Changed
- Improved stubs and PhpRedis compatibility
- Improved performance and reliability invalidation signal handling
- Many internal improvements
- Prevent
getMode()
andgetDdNum()
from triggering peridicINFO
call
Fixed
- Fixed a dozen segfaults
- Fixed several of memory leaks
- Fixed several issues when transactions fail
- Fixed serialization and compression edge cases for many commands
- Fixed many edge cases when selecting databases
- Fixed several reply-types when PhpRedis compatibility is disabled
- Fixed
ZRANGE
andPFCOUNT
stubs to match PhpRedis - Fixed return type validation for
GEODIST
andGEORADIUS
- Fixed
HRANDFIELD
command whenWITHVALUES
is used
v0.8.1
Added
- Added experimental support
JSON
commands
Changed
- Only enable
CLIENT TRACKING
on links that can secure an in-memory cache - Attach to in-memory caches actively not lazily
- Improved error messages for invalid
session.save_path
URIs - Various performance, allocator and internal improvements
Fixed
- Fixed a memory leak in the session handler
- Improved authentication parsing in the session handler
- Fixed
Relay\Cluster
command compatibility with PhpRedis - Don't deserialize
KEYS
replies - Various improvements for the
SUBSCRIBE
command-family - Fixed
stats()
array index not matching database number
v0.8.0
Relay now requires the session
extension to be installed.
Added
- Added various missing methods to
Relay\Cluster
- Support cloning Relay objects
- Added crash logging
- Support logging to
stderr
- Added support for
session.save_handler
directive - Added support for
relay.session.compression*
directives - Added dedicated event classes
Relay\Event\Flushed
andRelay\Event\Invalidated
- Added PHP 8.4 compatibility and builds
Changed
- Switched to concurrencykit v0.7.2
- Various performance, allocator and internal improvements
Fixed
- Fixed a rare bug that could result in stale keys
- Fixed a rare bug when flushing the data when OOM
Removed
- Dropped Debian
zts
builds - Droped macOS
x86
and PHP7.4
builds
v0.7.0
Added
- Added experimental
Relay\Cluster
class - Added support for
LCS
command
Changed
⚠️ Matched PhpRedis 6.xflushdb()
andflushall()
breaking changes⚠️ Refactored experimentalRelay\Table
class- Various minor internal performance and compliance improvements
Fixed
- Fixed
INCRBY
/DECRBY
parameter parsing - Fixed a crash when recursively subscribing and executing commands
- Improved error reporting when connecting to older Redis Servers
v0.6.8
Added
- Added support for
PUBSUB
container command - Support options array in
Relay\Relay
andRelay\Sentinel
constructor for PhpRedis v6.x compatibility
Changed
- Switched to
8.3.0RC2
API for PHP 8.3 builds - Switched to Ventura (13.x) for macOS builds
- Added more diagnostics to extension "info" output
- Improved exception pinpointing
- Various minor and major internal improvements
- Reduce
OOM
warning frequency
Fixed
- Fixed a memory leak involving
[PS]SUBSCRIBE
- Fixed a concurrency bug when writing to a pre-existing hash/set
- Fixed crash when calling
close()
within a*subscribe()
callback - Prevent allocation reduction when Relay was idle for many hours
v0.6.7
Added
- Added experimental
Relay\Table
class - Added support for
BITFIELD
- Allow
RELAY_KEY
to be set from environment variable
Changed
- Switched to
8.3beta1
API for PHP 8.3 builds - Bumped required
hiredis
version to1.1.0
(1.2.0
on macOS) - Use GCC 9 for Ubuntu 16.04 builds
- Refactored logging component
- Various minior internal improvements
v0.6.6
Changed
- Switched to OpenSSL 3.0 for macOS binaries
Fixed
- Mitigate
EINTR
in hiredispoll(2)
- Fixed support for ancient
HELLO
responses - Fixed releasing an attached database when freeing a persistent link
- Fixed how we track active requests in the context of
pcntl_fork()
- Improved heartbeat parsing on older PHP versions
Deprecated
- Deprecated
stats.command_usec
key for performance reasons