Skip to content

Releases: cachewerk/relay

v0.10.0

29 Jan 21:38
9cae8e1
Compare
Choose a tag to compare

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 to Sentinel::__construct()
  • Fixed cleaning up resources when terminated by SIGTERM or SIGQUIT
  • Fixed rare Relay\Cluster memory leaks
  • Fixed a signal reentrancy bug

v0.9.1

11 Dec 00:59
1033bcf
Compare
Choose a tag to compare

Added

  • Added PHP 8.5 compatibility and builds

Changed

  • Several internal improvements

Fixed

  • Fixed PHP 8.4 builds
  • Fixed raw ZRANGE command serialization issue
  • Fixed relay.default_pconnect not printing correct value

v0.9.0

19 Nov 18:13
ad8eb5f
Compare
Choose a tag to compare

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() and getDdNum() from triggering peridic INFO 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 and PFCOUNT stubs to match PhpRedis
  • Fixed return type validation for GEODIST and GEORADIUS
  • Fixed HRANDFIELD command when WITHVALUES is used

v0.8.1

13 Jul 00:16
7f5e618
Compare
Choose a tag to compare

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

22 May 17:03
e53bfd7
Compare
Choose a tag to compare

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 and Relay\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 PHP 7.4 builds

v0.7.0

02 Jan 20:47
4d18720
Compare
Choose a tag to compare

Added

  • Added experimental Relay\Cluster class
  • Added support for LCS command

Changed

  • ⚠️ Matched PhpRedis 6.x flushdb() and flushall() breaking changes
  • ⚠️ Refactored experimental Relay\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

06 Oct 16:21
479fa9b
Compare
Choose a tag to compare

Added

  • Added support for PUBSUB container command
  • Support options array in Relay\Relay and Relay\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

05 Sep 01:02
bf1cf9b
Compare
Choose a tag to compare

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 to 1.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

19 Jul 19:51
4525414
Compare
Choose a tag to compare

Changed

  • Switched to OpenSSL 3.0 for macOS binaries

Fixed

  • Mitigate EINTR in hiredis poll(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

v0.6.5

07 Jun 03:11
2b9780e
Compare
Choose a tag to compare

Added

  • Added support for additional Relay::__construct() context parameters

Changed

  • Various minor internal improvements

Fixed

  • Improved license verification and debugging