Tags: phpredis/phpredis
Tags
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 * 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 [e73130f] (michael-grunder) * Invalidate slot cache on failed cluster connections [c7b8784] (James Kennedy) * Don't cast a uint64_t to a long [faa4bc2] (michael-grunder) * Fix potential NULL dereference [43e6cab] (peter15914) * Print cursor as unsigned 64 bit integer [138d07b] (Bentley O'Kane-Chase) * Fix XAUTOCLAIM argc when sending COUNT [0fe45d2] (michael-grunder) Added: * Added `serverName()` and `serverVersion()` [fa3eb00, cbaf095, 056c2db] (Pavlo Yatsukhnenko, Michael Grunder) * Added getWithMeta method [9036ffc, 36ab585] (Pavlo Yatsukhnenko) * Implement GETDEL command for RedisCluster [d342e4a] (michael-grunder) * Introduce Redis::OPT_PACK_IGNORE_NUMBERS option [f9ce942, 29e5cf0] (michael-grunder) * Implement Valkey >= 8.1 IFEQ SET option [a2eef77] (michael-grunder) * Implement KeyDB's EXPIREMEMBER[AT] commands [4cd3f59] (michael-grunder) * Set priority to 60 (for PIE installations) [9e504ed] (Pavlo Yatsukhnenko) Documentation: * Fix phpdoc type of $pattern [5cad207] (OHZEKI Naoki) * Better documentation for the $tlsOptions parameter of RedisCluster [8144db3] (Jacob Brown) Tests/CI: * Add details to the option doc block [abb0f6c] (michael-grunder) * Update CodeQL to v3 [41e1141, a10bca3] (Pavlo Yatsukhnenko) * Add PHP 8.4 to CI [6097e7b] (Pavlo Yatsukhnenko) * Pin ubuntu version for KeyDB [eb66fc9, 985b031] (michael-grunder) * Windows CI: update setup-php-sdk to v0.10 and enable caching [f89d4d8] (Christoph M. Becker) Internal/Performance: * Reduce buffer size for signed integer [044b303, 35c5988] (Bentley O'Kane-Chase) * Create a strncmp wrapper [085d61e] (michael-grunder) * Refactor and avoid allocation in rawcommand method [f68544f] (Jakub Onderka) * Use defines for callback growth + sanity check [42a4276] (michael-grunder) * Switch from linked list to growing array for reply callbacks [a551fdc] (Jakub Onderka) * Reuse redis_sock_append_auth method [be38856] (Jakub Onderka) * Switch pipeline_cmd from smart_str to smart_string [571ffbc] (Jakub Onderka) * Remove unused redis_debug_response method from library.c [7895636] (Jakub Onderka) * Optimise HMGET method [2434ba2] (Jakub Onderka) * Avoid unnecessary allocation in redis_hset_cmd [aba0993] (Jakub Onderka) * Avoid unnecessary allocation in redis_hdel_cmd [4082dd0] (Jakub Onderka) * Avoid unnecessary allocation in redis_key_varval_cmd [99650e1] (Jakub Onderka) * Use zval_get_tmp_string method that is faster when provided zval is string [f690647] (Jakub Onderka) * Optimise constructing Redis command string [2a2f908] (Jakub Onderka) * If no command is issued in multi mode, return immutable empty array [5156e03] (Jakub Onderka) * Test for empty pipeline and multi [426de2b] (Jakub Onderka) * Optimise method array_zip_values_and_scores [400503b] (Jakub Onderka) * Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd [83a1965] (Jakub Onderka) * Use immutable empty array in Redis::hKeys [3a2f3f4] (Jakub Onderka) * Use immutable empty array in Redis::exec [60b5a88] (Jakub Onderka) * Do not allocate empty string or string with one character [64da891] (Jakub Onderka) * Initialize arrays with known size [99beb92] (Jakub Onderka) * Use smart str for constructing pipeline cmd [b665925] (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 [52e69ed] (Remi Collet) * Fix redis.io urls [0bae4bb] (Vincent Langlet) Tests/CI: * Fix 2 tests with redis 6.2 [cc1be32] (Remi Collet) --- 6.1.0RC2 --- Fixed: * Fixed a `SIGABRT` error in PHP 8.4 [a75a7e5] (Michael Grunder) * Clean up code for unsupported versions of PHP [37cebdd] (Remi Collet) * Add `SessionHelpers.php` to `package.xml`[e9474b8] (Remi Collet) * 8.4 implicit null fix, bump version [bff3a22, 30c8f90] [Remi Collet] Changed: * Raised minimum supported PHP version to 7.4 [8b51942] (Michael Grunder) Removed: * Removed erroneously duplicated changelog entries [40c8973] (Michael Grunder) Tests/CI: * Move to upload artifacts v4 [9d38050] (Michael Grunder) Added: * Added `composer.json` to support PIE (PHP Installer for Extensions) [b59e35a] (James Titcumb) --- 6.1.0RC1 --- Fixed: * Fix random connection timeouts with Redis Cluster. [eb7f31e] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd8] (Michael Grunder) * Allow context array to be nullable [50529f5] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d5] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c693] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c55142] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd8] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e92616] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215c] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d44, e52f0af] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f9333] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0b] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074db] (Uladzimir Tsykun) * Other fixes [e18f6c6, 3d7be35, 2b555c8, fa1a283, 37c5f8d] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b698901] (Bitactive) * Implement WAITAOF command. [ed7c9f6] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f, dc39bd5] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b] (woodong) Documentation: * Many documentation fixes. [eeb5109] (Michael Dwyer) * fix missing code tags [f865d5b] (divinity76) * Mention Valkey support [5f1eecf] (PlavorSeol) * Mention KeyDB support in README.md [37fa359] (Tim Starling) * Remove mention of pickle [c7a73ab] (David Baker) * Add session.save_path examples [8a39cae] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62b] (Benjamin Morel) * Update stubs [4d23397, ff30534, 12966a7, a4a283a, 8f8ff72] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7b] (Michael Grunder) * Fix retry_internal documentation [142c1f4] (SplotyCode) * Fix anchor link [9b5cad3] (Git'Fellow) * Fix typo in link [bfd379f] (deiga) * Fix Fedora package url [60b1ba1, 717713e] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65] (Pavlo Yatsukhnenko) Tests/CI: * Avoid fatal error in test execution. [5730497] (Michael Grunder) * Refactor unit test framework. [b1771de] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc6] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c98, f8c762e] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62, c6cd665, 78b70ca, 3c125b0, 18b0da7, b88e72b, 0f94d9c, 5996597, 3dbc2bd, 9b90c03, c0d6f04] (Michael Grunder) * Spelling fixes [0d89e92] (Michael Grunder) * Added Valkey support. [f350dc3] (Michael Grunder) * Add a test for session compression. [9f3ca98] (Michael Grunder) * Test against valkey [a819a44] (Michael Grunder) * sessionSaveHandler injection. [9f8f80c] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c7, d9c48b7] (Michael Grunder) * Add PHP 8.3 to CI [78d1514, e051a5d] (Robert Kelcak, Pavlo Yatsukhnenko) * Use newInstance in RedisClusterTest [954fbab] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac2] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda3995, 0672703] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efb] (Michael Grunder) * Add missing option to installation example [2bddd84] (Pavlo Yatsukhnenko) * Fix typo in link [8f6bc98] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce41] (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 [a75a7e5] (Michael Grunder) * Clean up code for unsupported versions of PHP [37cebdd] (Remi Collet) * Add `SessionHelpers.php` to `package.xml`[e9474b8] (Remi Collet) * 8.4 implicit null fix, bump version [bff3a22, 30c8f90] [Remi Collet] Changed: * Raised minimum supported PHP version to 7.4 [8b51942] (Michael Grunder) Removed: * Removed erroneously duplicated changelog entries [40c8973] (Michael Grunder) Tests/CI: * Move to upload artifacts v4 [9d38050] (Michael Grunder) Added: * Added `composer.json` to support PIE (PHP Installer for Extensions) [b59e35a] (James Titcumb) --- 6.1.0RC1 --- Fixed: * Fix random connection timeouts with Redis Cluster. [eb7f31e] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd8] (Michael Grunder) * Allow context array to be nullable [50529f5] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d5] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c693] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c55142] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd8] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e92616] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215c] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d44, e52f0af] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f9333] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0b] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074db] (Uladzimir Tsykun) * Other fixes [e18f6c6, 3d7be35, 2b555c8, fa1a283, 37c5f8d] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b698901] (Bitactive) * Implement WAITAOF command. [ed7c9f6] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f, dc39bd5] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b] (woodong) Documentation: * Many documentation fixes. [eeb5109] (Michael Dwyer) * fix missing code tags [f865d5b] (divinity76) * Mention Valkey support [5f1eecf] (PlavorSeol) * Mention KeyDB support in README.md [37fa359] (Tim Starling) * Remove mention of pickle [c7a73ab] (David Baker) * Add session.save_path examples [8a39cae] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62b] (Benjamin Morel) * Update stubs [4d23397, ff30534, 12966a7, a4a283a, 8f8ff72] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7b] (Michael Grunder) * Fix retry_internal documentation [142c1f4] (SplotyCode) * Fix anchor link [9b5cad3] (Git'Fellow) * Fix typo in link [bfd379f] (deiga) * Fix Fedora package url [60b1ba1, 717713e] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65] (Pavlo Yatsukhnenko) Tests/CI: * Avoid fatal error in test execution. [5730497] (Michael Grunder) * Refactor unit test framework. [b1771de] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc6] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c98, f8c762e] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62, c6cd665, 78b70ca, 3c125b0, 18b0da7, b88e72b, 0f94d9c, 5996597, 3dbc2bd, 9b90c03, c0d6f04] (Michael Grunder) * Spelling fixes [0d89e92] (Michael Grunder) * Added Valkey support. [f350dc3] (Michael Grunder) * Add a test for session compression. [9f3ca98] (Michael Grunder) * Test against valkey [a819a44] (Michael Grunder) * sessionSaveHandler injection. [9f8f80c] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c7, d9c48b7] (Michael Grunder) * Add PHP 8.3 to CI [78d1514, e051a5d] (Robert Kelcak, Pavlo Yatsukhnenko) * Use newInstance in RedisClusterTest [954fbab] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac2] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda3995, 0672703] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efb] (Michael Grunder) * Add missing option to installation example [2bddd84] (Pavlo Yatsukhnenko) * Fix typo in link [8f6bc98] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce41] (Michael Grunder)
6.1.0RC1 See below for full changelog. 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. [eb7f31e] (Jozsef Koszo) * Fix argument count issue in HSET with associative array [6ea5b3e] (Viktor Djupsjobacka) * SRANDMEMBER can return any type because of serialization. [6673b5b] (Michael Grunder) * Fix HRANDFIELD command when WITHVALUES is used. [99f9fd8] (Michael Grunder) * Allow context array to be nullable [50529f5] (Michael Grunder) * Fix a macOS (M1) compiler warning. [7de29d5] (Michael Grunder) * `GETEX` documentation/updates and implentation in `RedisCluster` [981c693] (Michael Grunder) * Refactor redis_script_cmd and fix to `flush` subcommand. [7c55142] (Pavlo Yatsukhnenko) * Update liveness check and fix PHP 8.4 compilation error. [c139de3] (Michael Grunder) * Rework how we declare ZSTD min/max constants. [34b5bd8] (Michael Grunder) * Fix memory leak if we fail in ps_open_redis. [0e92616] (Michael Grunder) * Fix segfault and remove redundant macros [a9e53fd] (Pavlo Yatsukhnenko) * Fix PHP 8.4 includes [a51215c] (Michael Grunder) * Handle arbitrarily large `SCAN` cursors properly. [2612d44, e52f0af] (Michael Grunder) * Improve warning when we encounter an invalid EXPIRY in SET [732e466] (Michael Grunder) * Fix Arginfo / zpp mismatch for DUMP command [50e5405] (Pavlo Yatsukhnenko) * RedisCluster::publish returns a cluster_long_resp [14f9333] (Alexandre Choura) * Fix segfault when passing just false to auth. [6dc0a0b] (Michael Grunder) * the VALUE argument type for hSetNx must be the same as for hSet [df074db] (Uladzimir Tsykun) * Fix `PSUBSCRIBE` to find callback by pattern not string literal. [2f276dc] (Michael Grunder) * Fix memory leak and segfault in Redis::exec [362e114] (Pavlo Yatsukhnenko) * Fix unknown expiration modifier warning when null argument passed [264c0c7, 3eb60f5] (Pavlo Yatsukhnenko) * Other fixes [e18f6c6, 3d7be35, 2b555c8, fa1a283, 37c5f8d] (Michael Grunder, Viktor Szepe) Added: * Compression support for PHP sessions. [da4ab0a] (bitactive) * Support for early_refresh in Redis sessions to match cluster behavior [b698901] (Bitactive) * Implement WAITAOF command. [ed7c9f6] (Michael Grunder) Removed: * PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f, dc39bd5] (Michael Grunder) Changed: * Fix the time unit of retry_interval [3fdd52b] (woodong) Documentation: * Many documentation fixes. [eeb5109] (Michael Dwyer) * fix missing code tags [f865d5b] (divinity76) * Mention Valkey support [5f1eecf] (PlavorSeol) * Mention KeyDB support in README.md [37fa359] (Tim Starling) * Remove mention of pickle [c7a73ab] (David Baker) * Add session.save_path examples [8a39cae] (Martin Vancl) * Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62b] (Benjamin Morel) * Update stubs [4d23397, ff30534, 12966a7, a4a283a, 8f8ff72, 5d29324, 95bd184] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko) * Fix config.m4 when using custom dep paths [ece3f7b] (Michael Grunder) * Fix retry_internal documentation [142c1f4] (SplotyCode) * Fix anchor link [9b5cad3] (Git'Fellow) * Fix typo in link [bfd379f] (deiga) * Fix Fedora package url [60b1ba1, 717713e] (Dmitrii Kotov) * Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65] (Pavlo Yatsukhnenko) * Add back old examples with note [1ad95b6] (Joost) Tests/CI: * Avoid fatal error in test execution. [5730497] (Michael Grunder) * Refactor unit test framework. [b1771de] (Michael Grunder) * Get unit tests working in `php-cgi`. [b808cc6] (Michael Grunder) * Switch to `ZEND_STRL` in more places. [7050c98, f8c762e] (Michael Grunder) * Workaround weird PHP compiler crash. [d3b2d87] (Michael Grunder) * Refactor tests (formatting, modernization, etc). [dab6a62, c6cd665, 78b70ca, 3c125b0, 18b0da7, b88e72b, 0f94d9c, 5996597, 3dbc2bd, 9b90c03, c0d6f04] (Michael Grunder) * Spelling fixes [0d89e92] (Michael Grunder) * Added Valkey support. [f350dc3] (Michael Grunder) * Add a test for session compression. [9f3ca98] (Michael Grunder) * Test against valkey [a819a44] (Michael Grunder) * sessionSaveHandler injection. [9f8f80c] (Pavlo Yatsukhnenko) * KeyDB addiions [54d62c7, d9c48b7] (Michael Grunder) * Add PHP 8.3 to CI [78d1514, e051a5d] (Robert Kelcak, Pavlo Yatsukhnenko) * Fix deprecation error when passing null to match_type parameter [b835aaa] (Pavlo Yatsukhnenko) * Fix crash in `OBJECT` command in pipeline. [a7f51f7] (Michael Grunder) * Use newInstance in RedisClusterTest [954fbab] (Pavlo Yatsukhnenko) * Use actions/checkout@v4 [f4c2ac2] (Pavlo Yatsukhnenko) * Cluster nodes from ENV [eda3995, 0672703] (Pavlo Yatsukhnenko) * Ensure we're talking to redis-server in our high ports test. [7825efb] (Michael Grunder) * Add missing option to installation example [2bddd84] (Pavlo Yatsukhnenko) * Update sentinel documentation to reflect changes to constructor in 6.0 release [849bedb] (Joost) * Add missing option to example [3674d66] (Till Kruss) * Fix typo in link [8f6bc98] (Timo Sand) * Update tests to allow users to use a custom class. [5f6ce41] (Michael Grunder)
PreviousNext