Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.2k
Releases: phpredis/phpredis
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.
Sponsors 💖
- A-VISION
- Avtandil Kikabidze
- Geoffrey Hoffman
- Object Cache Pro for WordPress
- Open LMS
- Relay
- Salvatore Sanfilippo
- Ty Karok
Fixed
- Fix possible hash field name truncation834d2b37 (michael-grunder)
- Fix a possible segfault during failover5ebb853e (rlerdorf)
- Bump version and fix XGROUP testf5db01b7,4517d5f9 (remicollet)
- Fix an overflow bug in ZADD on Windows35df8ad7 (michael-grunder)
- Fix errors and a warningb8de91c9 (michael-grunder)
- Fix
RedisClustersegfaultf61e8cd7 (michael-grunder) - Fix passing NULL for hash expiry argumentca80ee0e (michael-grunder)
- Fix an off-by-one length calculation error340f23b0 (michael-grunder)
- Fix hset fields handling6b2f088d (yatsukhnenko)
- Fix HSetEx expiry argument handling7805da75 (yatsukhnenko)
- Fix the echo liveness check when in sentinel mode2acab399 (michael-grunder)
- Fix double -> int truncation warning152fdda9 (michael-grunder)
- Fix
SIGABRTin PHP 8.4 with RedisArray3c64b33f (Novynn) - Fixing segfault in cluster_update_slotb0ba827b (JacobBrownAustin)
- Fix typod0b0c5cf (michael-grunder)
- Fix compiling with PHP 8.5.0 alpha3 and newer1e6f5477 (wyattoday)
- Fix error length calculation + UB sanity checke73130fe (michael-grunder)
- Fix arguments order for
SETcommandf73f5fcc (yatsukhnenko)
Added
- Add
hgetwithmetamethod7d3b2e4d (Pavlo Yatsukhnenko) - Add
maxRetriestoredis_sock_configuree9e9e495 (michael-grunder) - Implement vectorset commands92dd256f,d80b7258,7f9b1f41,92716ed0,dc91631b,1deca628,96378b70,0fda9f29,0ed0fc05,d1d69005,286fa630,38115dec,c4b2ea6c,6ce3bd53 (michael-grunder)
- Implement
GEOSEARCH[STORE]BYPOLYGON8d369f4d,f24814a4 (michael-grunder) - Implement Valkey's
DELIFEQcommandb1b0c191 (michael-grunder) - Add an INI setting returning 5.x legacy behavior -- readonly session on lock failure8dada174 (arokettu)
- Implement several hash expiration commands7350768c (michael-grunder)
- Introduce
Redis::serverNameandRedis::serverVersionmethods056c2dbecbaf095f
fa3eb006 (yatsukhnenko) (michael-grunder) - New option 'database' for Redis class constructor4f6a3ed1 (JakubOnderka)
- Implement
HGETEX,HSETEX,HGETDEL, and refactorHMGETce5b0fac (michael-grunder) - Implement
GETDELforRedisClusterd342e4ac (michael-grunder)
Changed
- Check for
dragonfly_versioninHELLOresponse593ba012 (michael-grunder) - Simplify redis_unpack method calling0a85bd82 (JakubOnderka)
- Refactor
getWithMetalogic0445e683 (michael-grunder) - cleanup session temp file3828c929 (remicollet)
- Make execHello protected300c5fb2 (michael-grunder)
Documentation
- Update Relay sponsorship7a69d73 (tillkruss)
- Fix markdown headlines1d662f56 (tillkruss)
- document PECL configure options2066cfad (tillkruss)
- Improve wording in README about project support0ac01476 (tillkruss)
- Improve install instructionsc0076036 (remicollet)
- Clean up README.md: fix typos, spelling, and grammar errors09cd4c54 (Copilot)
- Refine parameter descriptions and examples in READMEf9f609e1 ([joshtrichards](https://github....
Assets2
Uh oh!
There was an error while loading.Please reload this page.
6.2.0
Sponsors 💖
Special thanks toJakub Onderka for nearly two dozen performance improvements in this release!
Fixed
- Fix arguments order for
SETcommandf73f5fc (Pavlo Yatsukhnenko) - Fix error length calculation and UB sanity checke73130fe (michael-grunder)
- Invalidate slot cache on failed cluster connectionsc7b87843 (James Kennedy)
- Don't cast a uint64_t to a longfaa4bc20 (michael-grunder)
- Fix potential NULL dereference43e6cab8 (peter15914)
- Print cursor as unsigned 64 bit integer138d07b6 (Bentley O'Kane-Chase)
- Fix XAUTOCLAIM argc when sending COUNT0fe45d24 (michael-grunder)
Added
- Added
serverName()andserverVersion()introspection methods056c2dbecbaf095ffa3eb006 (Pavlo Yatsukhnenko) (michael-grunder) - Added
getWithMetamethod9036ffca (Pavlo Yatsukhnenko) - Implement
GETDELcommand for RedisClusterd342e4ac (michael-grunder) - Introduce
Redis::OPT_PACK_IGNORE_NUMBERSoptionf9ce942929e5cf0d (michael-grunder) - Implement Valkey >= 8.1
IFEQSEToptiona2eef77f (michael-grunder) - Implement KeyDB's EXPIREMEMBER[AT] commands4cd3f593 (michael-grunder)
- Set priority to 60 (for PIE installations)9e504ede (Pavlo Yatsukhnenko)
Documentation
- Fix phpdoc type of
$pattern5cad2076 (OHZEKI Naoki) - Better documentation for the
$tlsOptionsparameter of RedisCluster8144db37 (Jacob Brown)
Tests/CI
- Reorganize tests807f806f (Pavlo Yatsukhnenko)
- Add details to the option doc blockabb0f6cc (michael-grunder)
- Update CodeQL to v341e11417a10bca35 (Pavlo Yatsukhnenko)
- Add PHP 8.4 to CI6097e7ba (Pavlo Yatsukhnenko)
- Pin ubuntu version for KeyDBeb66fc9e985b0313 (michael-grunder)
- Windows CI: update setup-php-sdk to v0.10 and enable cachingf89d4d8f (Christoph M. Becker)
Internal/Performance
- Reduce buffer size for signed integer044b303835c59880 (Bentley O'Kane-Chase)
- Create a strncmp wrapper085d61ec (michael-grunder)
- Refactor and avoid allocation in rawcommand methodf68544f7 (JakubOnderka)
- Switch from linked list to growing array for reply callbacksa551fdc942a42769 (JakubOnderka) (michael-grunder)
- Reuse redis_sock_append_auth methodbe388562 (JakubOnderka)
- Switch pipeline_cmd from smart_str to smart_string571ffbc8 (JakubOnderka)
- Remove unused redis_debug_response method from library.c7895636a (JakubOnderka)
- Optimise HMGET method2434ba29 (JakubOnderka)
- Avoid unnecessary allocation in redis_hset_cmdaba09933 (JakubOnderka)
- Avoid unnecessary allocation in redis_hdel_cmd4082dd07 (JakubOnderka)
- Avoid unnecessary allocation in redis_key_varval_cmd99650e15 (JakubOnderka)
- Use zval_get_tmp_string method that is faster when provided zval is stringf6906470 (JakubOnderka)
- Optimise constructing Redis command string2a2f908f (JakubOnderka)
- If no command is issued in multi mode, return immutable empty array5156e032 (JakubOnderka)
- Test for empty pipeline and multi426de2bb (JakubOnderka)
- Optimise method array_zip_values_and_scores400503b8 (JakubOnderka)
- Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd83a19656 (JakubOnderka)
- Use immutable empty array in Redis::hKeys3a2f3f45 (JakubOnderka)
- Use immutable empty array in Redis::exec60b5a886 (JakubOnderka)
- Do not allocate empty string or string with one character64da891e (JakubOnderka)
- Initialize arrays with known size99beb922 (JakubOnderka)
- Use smart str for constructing pipeline cmdb665925e ([JakubOnderka](https://github.com/Ja...
Assets2
Uh oh!
There was an error while loading.Please reload this page.
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
SIGABRTerror in PHP 8.4 [a75a7e5] (Michael Grunder) - Clean up code for unsupported versions of PHP [37cebdd] (Remi Collet)
- Add
SessionHelpers.phptopackage.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.jsonto 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)
GETEXdocumentation/updates and implentation inRedisCluster[981c693]
(Michael Grunder)- Refactor redis_script_cmd and fix to
flushsubcommand. [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
SCANcursors 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_STRLin 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)
Assets2
Uh oh!
There was an error while loading.Please reload this page.
6.1.0RC1
PhpRedis 6.1.0RC1
See CHANGELOG.md or package.xml for full release notes.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
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
Assets2
Uh oh!
There was an error while loading.Please reload this page.
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
Assets2
Uh oh!
There was an error while loading.Please reload this page.