PHP extension for interfacing with key-value stores
This extension provides an API for communicating with RESP-based key-value
stores, such as Redis, Valkey, and KeyDB.
License: PHP
Version | Release | Download |
6.3.0RC1 | 2025-10-15 | redis-6.3.0RC1.tgz |
6.2.0 | 2025-03-24 | redis-6.2.0.tgz |
6.1.0 | 2024-10-04 | redis-6.1.0.tgz |
6.1.0RC2 | 2024-09-23 | redis-6.1.0RC2.tgz |
6.1.0RC1 | 2024-08-04 | redis-6.1.0RC1.tgz |
Version | Message |
6.3.0RC1 |
--- Sponsors --- A-VISION Advertising - https://github.com/A-VISION-BV Avtandil Kikabidze - https://github.com/akalongman Geoffrey Hoffman - https://github.com/phpguru Object Cache Pro for WordPress - https://objectcache.pro/ Open LMS - https://openlms.net/ Relay - https://relay.so) Salvatore Sanfilippo - https://github.com/antirez Ty Karok - https://github.com/karock --- 6.3.0RC1 --- This release introduces support for dozens of new commands, including hash field expiration, Valkey?s DELIFEQ, and Redis vector set operations. It also delivers numerous bug fixes and performance improvements. Fixed: Fix possible hash field name truncation [834d2b37] (Michael Grunder) Fix a possible segfault during failover [5ebb853e] (rlerdorf) Bump version and fix XGROUP test [f5db01b7, 4517d5f9] remicollet Fix an overflow bug in ZADD on Windows [35df8ad7] (Michael Grunder) Fix errors and a warning [b8de91c9] (Michael Grunder) Fix `RedisCluster` segfault [f61e8cd7] (Michael Grunder) Fix passing NULL for hash expiry argument [ca80ee0e] (Michael Grunder) Fix an off-by-one length calculation error [340f23b0] (Michael Grunder) Fix hset fields handling [6b2f088d] (Pavlo Yatsukhnenko) Fix HSetEx expiry argument handling [7805da75] (Pavlo Yatsukhnenko) Fix the echo liveness check when in sentinel mode [2acab399] (Michael Grunder) Fix double -> int truncation warning [152fdda9] (Michael Grunder) Fix `SIGABRT` in PHP 8.4 with RedisArray [3c64b33f] (Novynn) Fixing segfault in cluster_update_slot [b0ba827b] (Jacob Brown Austin) Fix typo [d0b0c5cf] (Michael Grunder) Fix compiling with PHP 8.5.0 alpha3 and newer [1e6f5477] (wyattoday) Fix error length calculation + UB sanity check [e73130fe] (Michael Grunder) Fix arguments order for `SET` command [f73f5fcc] (Pavlo Yatsukhnenko) Added: Add `hgetwithmeta` method [7d3b2e4d] (Pavlo Yatsukhnenko) Add `maxRetries` to `redis_sock_configure` [e9e9e495] (Michael Grunder) Implement vectorset commands [92dd256f, d80b7258, 7f9b1f41, 92716ed0, dc91631b, 1deca628, 96378b70, 0fda9f29, 0ed0fc05, d1d69005, 286fa630, 38115dec, c4b2ea6c, 6ce3bd53] (Michael Grunder) Implement `GEOSEARCH[STORE]` `BYPOLYGON` [8d369f4d, f24814a4] (Michael Grunder) Implement Valkey's `DELIFEQ` command [b1b0c191] (Michael Grunder) Add an INI setting returning 5.x legacy behavior -- readonly session on lock failure [8dada174] (arokettu) Implement several hash expiration commands [7350768c] (Michael Grunder) Introduce `Redis::serverName` and `Redis::serverVersion` methods [056c2dbe, cbaf095f, fa3eb006] (Pavlo Yatsukhnenko, Michael Grunder) New option 'database' for Redis class constructor [4f6a3ed1] (JakubOnderka) Implement `HGETEX`, `HSETEX`, `HGETDEL`, and refactor `HMGET` [ce5b0fac] (Michael Grunder) Implement `GETDEL` for `RedisCluster` [d342e4ac] (Michael Grunder) ## Changed Check for `dragonfly_version` in `HELLO` response [593ba012] (Michael Grunder) Simplify redis_unpack method calling [0a85bd82] (JakubOnderka) Refactor `getWithMeta` logic [0445e683] (Michael Grunder) cleanup session temp file [3828c929] (remicollet) Make execHello protected [300c5fb2] (Michael Grunder) Documentation: Update Relay sponsorship [7a69d73] (Till Kruss) Fix markdown headlines [1d662f56] (Till Kruss) document PECL configure options [2066cfad] (Till Kruss) Improve wording in README about project support [0ac01476] (Till Kruss) Improve install instructions [c0076036] (Remi Collet) Clean up README.md: fix typos, spelling, and grammar errors [09cd4c54] (Copilot) Refine parameter descriptions and examples in README [f9f609e1] (joshtrichards) Link to the correct header [d18db84c] (wyattoday) Update README.md about supported PHP versions. [b7a97e5e] (AkameOuO) Broaden return type for Redis::hGetAll [bfbab892] (mgiuffrida) Tests/CI: Add a regression test for `EVAL[SHA]` [22a2914b] (Michael Grunder) Rework `HEXPIRE` test inclusion + bump Valkey [b83981aa] (Michael Grunder) Add PHP 8.5 to CI [334937cb] (Pavlo Yatsukhnenko) Attempt to fix flaky GitHub CI tests [80140003] (Michael Grunder) Reorganize tests [807f806f] (Pavlo Yatsukhnenko) Internal/Performance: Introduce `[[nodiscard]]` type attribute where supported. [2d963e79] (Michael Grunder) Fix typo (s/sees/seeds/) [25e6d5fc] (xabbuh) Fix an unused variable warning [b48aa0d4] (Michael Grunder) Fix several issues surfaced by `gcc -fanalyze` [8be2306e] (Michael Grunder) Fix dead assignment [d564e8cf] (Michael Grunder) Refactor `redis_replicaof_cmd` [659dc763] (Michael Grunder) Refactor several command handling macros into typesafe static functions [9802fc0e, 8f0931bb, 7c953d45, 950d2bc7, 601ebbff, c3a71631, b0040514, fae89fa9, f880e1f7, b90e27f2, 1db39089] (Michael Grunder) Refactor `EVAL[SHA]` command and add a regression test [6e5faf42] (Michael Grunder) New macros REDIS_RESPONSE_ERROR and REDIS_RETURN_ZVAL [614b86e4] (JakubOnderka) Remove wrapper macro which hides branching logic [58e1a04f] (Michael Grunder) Use continue not break if we get a NULL node [8685c49c] (Michael Grunder) Remove pointless casts [03837f02] (Michael Grunder) Change `int` flags to `zend_bool` since we only use them as booleans [77691947] (Michael Grunder) Remove unused macros + simplify some logic [75acbb09] (Michael Grunder) |
6.2.0 |
--- Sponsors --- A-VISION Advisering - https://a-vision.nu/ Audiomack - https://audiomack.com Avtandil Kikabidze - https://github.com/akalongman Geoffrey Hoffman - https://github.com/phpguru Object Cache Pro for WordPress - https://objectcache.pro Open LMS - https://openlms.net Salvatore Sanfilippo - https://github.com/antirez Ty Karok - https://github.com/karock Vanessa Santana - https://github.com/vanessa-dev * A special thanks to Jakub Onderka for nearly two dozen performance improvements in this release! --- 6.2.0 --- Fixed: * Fix arguments order for SET command [f73f5fc] (Pavlo Yatsukhnenko) * Fix error length calculation and UB sanity check [e73130fe] (michael-grunder) * Invalidate slot cache on failed cluster connections [c7b87843] (James Kennedy) * Don't cast a uint64_t to a long [faa4bc20] (michael-grunder) * Fix potential NULL dereference [43e6cab8] (peter15914) * Print cursor as unsigned 64 bit integer [138d07b6] (Bentley O'Kane-Chase) * Fix XAUTOCLAIM argc when sending COUNT [0fe45d24] (michael-grunder) Added: * Added `serverName()` and `serverVersion()` [fa3eb006, cbaf095f, 056c2dbe] (Pavlo Yatsukhnenko, Michael Grunder) * Added getWithMeta method [9036ffca, 36ab5850] (Pavlo Yatsukhnenko) * Implement GETDEL command for RedisCluster [d342e4ac] (michael-grunder) * Introduce Redis::OPT_PACK_IGNORE_NUMBERS option [f9ce9429, 29e5cf0d] (michael-grunder) * Implement Valkey >= 8.1 IFEQ SET option [a2eef77f] (michael-grunder) * Implement KeyDB's EXPIREMEMBER[AT] commands [4cd3f593] (michael-grunder) Documentation: * Fix phpdoc type of $pattern [5cad2076] (OHZEKI Naoki) * Better documentation for the $tlsOptions parameter of RedisCluster [8144db37] (Jacob Brown) Tests/CI: * Add details to the option doc block [abb0f6cc] (michael-grunder) * Update CodeQL to v3 [41e11417, a10bca35] (Pavlo Yatsukhnenko) * Add PHP 8.4 to CI [6097e7ba] (Pavlo Yatsukhnenko) * Pin ubuntu version for KeyDB [eb66fc9e, 985b0313] (michael-grunder) * Windows CI: update setup-php-sdk to v0.10 and enable caching [f89d4d8f] (Christoph M. Becker) Internal: * Reduce buffer size for signed integer [044b3038, 35c59880] (Bentley O'Kane-Chase) * Create a strncmp wrapper [085d61ec] (michael-grunder) * Refactor and avoid allocation in rawcommand method [f68544f7] (Jakub Onderka) * Use defines for callback growth + sanity check [42a42769] (michael-grunder) * Switch from linked list to growing array for reply callbacks [a551fdc9] (Jakub Onderka) * Reuse redis_sock_append_auth method [be388562] (Jakub Onderka) * Switch pipeline_cmd from smart_str to smart_string [571ffbc8] (Jakub Onderka) * Remove unused redis_debug_response method from library.c [7895636a] (Jakub Onderka) * Optimise HMGET method [2434ba29] (Jakub Onderka) * Avoid unnecessary allocation in redis_hset_cmd [aba09933] (Jakub Onderka) * Avoid unnecessary allocation in redis_hdel_cmd [4082dd07] (Jakub Onderka) * Avoid unnecessary allocation in redis_key_varval_cmd [99650e15] (Jakub Onderka) * Use zval_get_tmp_string method that is faster when provided zval is string [f6906470] (Jakub Onderka) * Optimise constructing Redis command string [2a2f908f] (Jakub Onderka) * If no command is issued in multi mode, return immutable empty array [5156e032] (Jakub Onderka) * Test for empty pipeline and multi [426de2bb] (Jakub Onderka) * Optimise method array_zip_values_and_scores [400503b8] (Jakub Onderka) * Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd [83a19656] (Jakub Onderka) * Use immutable empty array in Redis::hKeys [3a2f3f45] (Jakub Onderka) * Use immutable empty array in Redis::exec [60b5a886] (Jakub Onderka) * Do not allocate empty string or string with one character [64da891e] (Jakub Onderka) * Initialize arrays with known size [99beb922] (Jakub Onderka) * Use smart str for constructing pipeline cmd [b665925e] (Jakub Onderka) |
6.1.0 |
Sponsors Audiomack - https://audiomack.com Open LMS - https://openlms.net Avtandil Kikabidze - https://github.com/akalongman Ty Karok - https://github.com/karock Object Cache Pro for WordPress - https://objectcache.pro --- 6.1.0 --- NOTE: There were no changes to C code between 6.1.0RC2 and 6.1.0 Documentation: * Update package.xml to make it clearer that we support many key-value stores [52e69ede] (Remi Collet) * Fix redis.io urls [0bae4bb0] (Vincent Langlet) Tests/CI: * Fix 2 tests with redis 6.2 [cc1be322] (Remi Collet) --- 6.1.0RC2 --- Fixed: * Fixed a `SIGABRT` error in PHP 8.4 [a75a7e5a] (Michael Grunder) * Clean up code for unsupported versions of PHP [37cebdd7] (Remi Collet) * Add `SessionHelpers.php` to `package.xml`[e9474b80] (Remi Collet) * 8.4 implicit null fix, bump version [bff3a22e, 30c8f90c] [Remi Collet] Changed: * Raised minimum supported PHP version to 7.4 [8b519423] (Michael Grunder) Removed: * Removed erroneously duplicated changelog entries [40c89736] (Michael Grunder) Tests/CI: * Move to upload artifacts v4 [9d380500] (Michael Grunder) Added: * Added `composer.json` to support PIE (PHP Installer for Extensions) [b59e35a6] (James Titcumb) --- 6.1.0RC1 --- Fixed: * Fix random connection timeouts with Redis Cluster. [eb7f31e7] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e0] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b2] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd83] (Michael Grunder) * Allow context array to be nullable [50529f56] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d57] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c6931] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c551424] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3a] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd81] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e926165] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd1] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215ce] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d444, e52f0afa] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466a] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405c] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f93339] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0be] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074dbe] (Uladzimir Tsykun) * Other fixes [e18f6c6d, 3d7be358, 2b555c89, fa1a283a, 37c5f8d4] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a7] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b6989018] (Bitactive) * Implement WAITAOF command. [ed7c9f6f] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f8, dc39bd55] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b4] (woodong) Documentation: * Many documentation fixes. [eeb51099] (Michael Dwyer) * fix missing code tags [f865d5b9] (divinity76) * Mention Valkey support [5f1eecfb] (PlavorSeol) * Mention KeyDB support in README.md [37fa3592] (Tim Starling) * Remove mention of pickle [c7a73abb] (David Baker) * Add session.save_path examples [8a39caeb] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62bc] (Benjamin Morel) * Update stubs [4d233977, ff305349, 12966a74, a4a283ab, 8f8ff72a] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7be] (Michael Grunder) * Fix retry_internal documentation [142c1f4a] (SplotyCode) * Fix anchor link [9b5cad31] (Git'Fellow) * Fix typo in link [bfd379f0] (deiga) * Fix Fedora package url [60b1ba14, 717713e1] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65c] (Pavlo Yatsukhnenko) Tests/CI: * Avoid fatal error in test execution. [57304970] (Michael Grunder) * Refactor unit test framework. [b1771def] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc60] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c989, f8c762e7] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87b] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62d, c6cd665b, 78b70ca8, 3c125b09, 18b0da72, b88e72b1, 0f94d9c1, 59965971, 3dbc2bd8, 9b90c03b, c0d6f042] (Michael Grunder) * Spelling fixes [0d89e928] (Michael Grunder) * Added Valkey support. [f350dc34] (Michael Grunder) * Add a test for session compression. [9f3ca98c] (Michael Grunder) * Test against valkey [a819a44b] (Michael Grunder) * sessionSaveHandler injection. [9f8f80ca] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c72, d9c48b78] (Michael Grunder) * Add PHP 8.3 to CI [78d15140, e051a5db] (Robert Kelcak, Pavlo Yatsukhnenko) * Use newInstance in RedisClusterTest [954fbab8] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac26] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda39958, 0672703b] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efbc] (Michael Grunder) * Add missing option to installation example [2bddd84f] (Pavlo Yatsukhnenko) * Fix typo in link [8f6bc98f] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce414] (Michael Grunder) |
6.1.0RC2 |
Sponsors Audiomack - https://audiomack.com Open LMS - https://openlms.net Avtandil Kikabidze - https://github.com/akalongman Ty Karok - https://github.com/karock Object Cache Pro for WordPress - https://objectcache.pro --- 6.1.0RC2 --- Fixed: * Fixed a `SIGABRT` error in PHP 8.4 [a75a7e5a] (Michael Grunder) * Clean up code for unsupported versions of PHP [37cebdd7] (Remi Collet) * Add `SessionHelpers.php` to `package.xml`[e9474b80] (Remi Collet) * 8.4 implicit null fix, bump version [bff3a22e, 30c8f90c] [Remi Collet] Changed: * Raised minimum supported PHP version to 7.4 [8b519423] (Michael Grunder) Removed: * Removed erroneously duplicated changelog entries [40c89736] (Michael Grunder) Tests/CI: * Move to upload artifacts v4 [9d380500] (Michael Grunder) Added: * Added `composer.json` to support PIE (PHP Installer for Extensions) [b59e35a6] (James Titcumb) --- 6.1.0RC1 --- Fixed: * Fix random connection timeouts with Redis Cluster. [eb7f31e7] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e0] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b2] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd83] (Michael Grunder) * Allow context array to be nullable [50529f56] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d57] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c6931] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c551424] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3a] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd81] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e926165] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd1] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215ce] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d444, e52f0afa] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466a] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405c] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f93339] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0be] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074dbe] (Uladzimir Tsykun) * Other fixes [e18f6c6d, 3d7be358, 2b555c89, fa1a283a, 37c5f8d4] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a7] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b6989018] (Bitactive) * Implement WAITAOF command. [ed7c9f6f] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f8, dc39bd55] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b4] (woodong) Documentation: * Many documentation fixes. [eeb51099] (Michael Dwyer) * fix missing code tags [f865d5b9] (divinity76) * Mention Valkey support [5f1eecfb] (PlavorSeol) * Mention KeyDB support in README.md [37fa3592] (Tim Starling) * Remove mention of pickle [c7a73abb] (David Baker) * Add session.save_path examples [8a39caeb] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62bc] (Benjamin Morel) * Update stubs [4d233977, ff305349, 12966a74, a4a283ab, 8f8ff72a] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7be] (Michael Grunder) * Fix retry_internal documentation [142c1f4a] (SplotyCode) * Fix anchor link [9b5cad31] (Git'Fellow) * Fix typo in link [bfd379f0] (deiga) * Fix Fedora package url [60b1ba14, 717713e1] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65c] (Pavlo Yatsukhnenko) Tests/CI: * Avoid fatal error in test execution. [57304970] (Michael Grunder) * Refactor unit test framework. [b1771def] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc60] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c989, f8c762e7] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87b] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62d, c6cd665b, 78b70ca8, 3c125b09, 18b0da72, b88e72b1, 0f94d9c1, 59965971, 3dbc2bd8, 9b90c03b, c0d6f042] (Michael Grunder) * Spelling fixes [0d89e928] (Michael Grunder) * Added Valkey support. [f350dc34] (Michael Grunder) * Add a test for session compression. [9f3ca98c] (Michael Grunder) * Test against valkey [a819a44b] (Michael Grunder) * sessionSaveHandler injection. [9f8f80ca] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c72, d9c48b78] (Michael Grunder) * Add PHP 8.3 to CI [78d15140, e051a5db] (Robert Kelcak, Pavlo Yatsukhnenko) * Use newInstance in RedisClusterTest [954fbab8] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac26] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda39958, 0672703b] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efbc] (Michael Grunder) * Add missing option to installation example [2bddd84f] (Pavlo Yatsukhnenko) * Fix typo in link [8f6bc98f] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce414] (Michael Grunder) |
6.1.0RC1 |
Sponsors Audiomack - https://audiomack.com Open LMS - https://openlms.net Avtandil Kikabidze - https://github.com/akalongman Ty Karok - https://github.com/karock Object Cache Pro for WordPress - https://objectcache.pro Fixed: * Fix random connection timeouts with Redis Cluster. [eb7f31e7] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e0] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b2] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd83] (Michael Grunder) * Allow context array to be nullable [50529f56] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d57] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c6931] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c551424] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3a] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd81] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e926165] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd1] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215ce] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d444, e52f0afa] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466a] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405c] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f93339] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0be] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074dbe] (Uladzimir Tsykun) * Fix `PSUBSCRIBE` to find callback by pattern not string literal. [2f276dcd] (Michael Grunder) * Fix memory leak and segfault in Redis::exec [362e1141] (Pavlo Yatsukhnenko) * Fix unknown expiration modifier warning when null argument passed [264c0c7e, 3eb60f58] (Pavlo Yatsukhnenko) * Other fixes [e18f6c6d, 3d7be358, 2b555c89, fa1a283a, 37c5f8d4] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a7] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b6989018] (Bitactive) * Implement WAITAOF command. [ed7c9f6f] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f8, dc39bd55] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b4] (woodong) Documentation: * Many documentation fixes. [eeb51099] (Michael Dwyer) * fix missing code tags [f865d5b9] (divinity76) * Mention Valkey support [5f1eecfb] (PlavorSeol) * Mention KeyDB support in README.md [37fa3592] (Tim Starling) * Remove mention of pickle [c7a73abb] (David Baker) * Add session.save_path examples [8a39caeb] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62bc] (Benjamin Morel) * Update stubs [4d233977, ff305349, 12966a74, a4a283ab, 8f8ff72a, 5d293245, 95bd184b] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7be] (Michael Grunder) * Fix retry_internal documentation [142c1f4a] (SplotyCode) * Fix anchor link [9b5cad31] (Git'Fellow) * Fix typo in link [bfd379f0] (deiga) * Fix Fedora package url [60b1ba14, 717713e1] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65c] (Pavlo Yatsukhnenko) * Add back old examples with note [1ad95b63] (Joost) Tests/CI: * Avoid fatal error in test execution. [57304970] (Michael Grunder) * Refactor unit test framework. [b1771def] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc60] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c989, f8c762e7] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87b] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62d, c6cd665b, 78b70ca8, 3c125b09, 18b0da72, b88e72b1, 0f94d9c1, 59965971, 3dbc2bd8, 9b90c03b, c0d6f042] (Michael Grunder) * Spelling fixes [0d89e928] (Michael Grunder) * Added Valkey support. [f350dc34] (Michael Grunder) * Add a test for session compression. [9f3ca98c] (Michael Grunder) * Test against valkey [a819a44b] (Michael Grunder) * sessionSaveHandler injection. [9f8f80ca] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c72, d9c48b78] (Michael Grunder) * Add PHP 8.3 to CI [78d15140, e051a5db] (Robert Kelcak, Pavlo Yatsukhnenko) * Fix deprecation error when passing null to match_type parameter [b835aaa3] (Pavlo Yatsukhnenko) * Fix crash in `OBJECT` command in pipeline. [a7f51f70] (Michael Grunder) * Use newInstance in RedisClusterTest [954fbab8] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac26] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda39958, 0672703b] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efbc] (Michael Grunder) * Add missing option to installation example [2bddd84f] (Pavlo Yatsukhnenko) * Update sentinel documentation to reflect changes to constructor in 6.0 release [849bedb6] (Joost) * Add missing option to example [3674d663] (Till Kruss) * Fix typo in link [8f6bc98f] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce414] (Michael Grunder) |