Releases: phpredis/phpredis
Releases Β· phpredis/phpredis
6.2.0
Sponsors π
-
Special thanks to Jakub Onderka for nearly two dozen performance improvements in this release!
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()
andserverVersion()
introspection methods 056c2dbe cbaf095f fa3eb006 (Pavlo Yatsukhnenko) (michael-grunder) - Added
getWithMeta
method 9036ffca (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)
- Set priority to 60 (for PIE installations) 9e504ede (Pavlo Yatsukhnenko)
Documentation
- Fix phpdoc type of
$pattern
5cad2076 (OHZEKI Naoki) - Better documentation for the
$tlsOptions
parameter of RedisCluster 8144db37 (Jacob Brown)
Tests/CI
- Reorganize tests 807f806f (Pavlo Yatsukhnenko)
- 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/Performance
- 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 (JakubOnderka)
- Switch from linked list to growing array for reply callbacks a551fdc9 42a42769 (JakubOnderka) (michael-grunder)
- Reuse redis_sock_append_auth method be388562 (JakubOnderka)
- Switch pipeline_cmd from smart_str to smart_string 571ffbc8 (JakubOnderka)
- Remove unused redis_debug_response method from library.c 7895636a (JakubOnderka)
- Optimise HMGET method 2434ba29 (JakubOnderka)
- Avoid unnecessary allocation in redis_hset_cmd aba09933 (JakubOnderka)
- Avoid unnecessary allocation in redis_hdel_cmd 4082dd07 (JakubOnderka)
- Avoid unnecessary allocation in redis_key_varval_cmd 99650e15 (JakubOnderka)
- Use zval_get_tmp_string method that is faster when provided zval is string f6906470 (JakubOnderka)
- Optimise constructing Redis command string 2a2f908f (JakubOnderka)
- If no command is issued in multi mode, return immutable empty array 5156e032 (JakubOnderka)
- Test for empty pipeline and multi 426de2bb (JakubOnderka)
- Optimise method array_zip_values_and_scores 400503b8 (JakubOnderka)
- Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd 83a19656 (JakubOnderka)
- Use immutable empty array in Redis::hKeys 3a2f3f45 (JakubOnderka)
- Use immutable empty array in Redis::exec 60b5a886 (JakubOnderka)
- Do not allocate empty string or string with one character 64da891e (JakubOnderka)
- Initialize arrays with known size 99beb922 (JakubOnderka)
- Use smart str for constructing pipeline cmd b665925e ([JakubOnderka](https://github.com/Ja...
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
topackage.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 inRedisCluster
[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:
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
PhpRedis 6.1.0RC1
See CHANGELOG.md or package.xml for full release notes.
6.0.2
- Fix deprecation error when passing null to match_type parameter. [b835aaa] (Pavlo Yatsukhnenko)
- Fix flaky test and OBJECT in a pipeline. [a7f51f7] (Michael Grunder)
- Find our callback by pattern with PSUBSCRIBE [2f276dc] (Michael Grunder)
Full Changelog: 6.0.1...6.0.2
PhpRedis 5.3.7
phpredis 5.3.7
- Fix RedisArray::[hsz]scan and tests [08a9d5d, 0264de1] (Pavlo Yatsukhnenko, Michael Grunder)
- Fix RedisArray::scan [8689ab1] (Pavlo Yatsukhnenko)
- Fix LZF decompression logic [0719c1e] (Michael Grunder)
Full Changelog: 5.3.6...5.3.7