mirror of
https://github.com/php-win-ext/phpredis.git
synced 2026-03-24 00:52:16 +01:00
2082 lines
88 KiB
XML
2082 lines
88 KiB
XML
<?xml version="1.0"?>
|
||
<package packagerversion="1.4.11" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
|
||
http://pear.php.net/dtd/tasks-1.0.xsd
|
||
http://pear.php.net/dtd/package-2.0
|
||
http://pear.php.net/dtd/package-2.0.xsd">
|
||
<name>redis</name>
|
||
<channel>pecl.php.net</channel>
|
||
<summary>PHP extension for interfacing with key-value stores</summary>
|
||
<description>
|
||
This extension provides an API for communicating with RESP-based key-value
|
||
stores, such as Redis, Valkey, and KeyDB.
|
||
</description>
|
||
<lead>
|
||
<name>Michael Grunder</name>
|
||
<user>mgrunder</user>
|
||
<email>michael.grunder@gmail.com</email>
|
||
<active>yes</active>
|
||
</lead>
|
||
<lead>
|
||
<name>Pavlo Yatsukhnenko</name>
|
||
<user>yatsukhnenko</user>
|
||
<email>p.yatsukhnenko@gmail.com</email>
|
||
<active>yes</active>
|
||
</lead>
|
||
<date>2025-10-03</date>
|
||
<version>
|
||
<release>6.3.0RC1</release>
|
||
<api>6.2.0</api>
|
||
</version>
|
||
<stability>
|
||
<release>beta</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<license uri="http://www.php.net/license">PHP</license>
|
||
<notes> --- 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 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)
|
||
</notes>
|
||
<contents>
|
||
<dir name="/">
|
||
<file role="doc" name="LICENSE"/>
|
||
<file role="doc" name="CREDITS"/>
|
||
<file role="doc" name="README.md"/>
|
||
<file role="src" name="INSTALL.md"/>
|
||
<file role="doc" name="arrays.md"/>
|
||
<file role="doc" name="cluster.md"/>
|
||
<file role="doc" name="sentinel.md"/>
|
||
<file role="src" name="backoff.c"/>
|
||
<file role="src" name="backoff.h"/>
|
||
<file role="src" name="cluster_library.c"/>
|
||
<file role="src" name="cluster_library.h"/>
|
||
<file role="src" name="common.h"/>
|
||
<file role="src" name="config.m4"/>
|
||
<file role="src" name="config.w32"/>
|
||
<file role="src" name="crc16.h"/>
|
||
<file role="src" name="library.c"/>
|
||
<file role="src" name="library.h"/>
|
||
<file role="src" name="php_redis.h"/>
|
||
<file role="src" name="redis.c"/>
|
||
<file role="src" name="redis.stub.php"/>
|
||
<file role="src" name="redis_arginfo.h"/>
|
||
<file role="src" name="redis_legacy_arginfo.h"/>
|
||
<file role="src" name="redis_array.c"/>
|
||
<file role="src" name="redis_array.h"/>
|
||
<file role="src" name="redis_array.stub.php"/>
|
||
<file role="src" name="redis_array_arginfo.h"/>
|
||
<file role="src" name="redis_array_legacy_arginfo.h"/>
|
||
<file role="src" name="redis_array_impl.c"/>
|
||
<file role="src" name="redis_array_impl.h"/>
|
||
<file role="src" name="redis_cluster.c"/>
|
||
<file role="src" name="redis_cluster.h"/>
|
||
<file role="src" name="redis_cluster.stub.php"/>
|
||
<file role="src" name="redis_cluster_arginfo.h"/>
|
||
<file role="src" name="redis_cluster_legacy_arginfo.h"/>
|
||
<file role="src" name="redis_commands.c"/>
|
||
<file role="src" name="redis_commands.h"/>
|
||
<file role="src" name="redis_session.c"/>
|
||
<file role="src" name="redis_session.h"/>
|
||
<file role="src" name="redis_sentinel.c"/>
|
||
<file role="src" name="redis_sentinel.h"/>
|
||
<file role="src" name="redis_sentinel.stub.php"/>
|
||
<file role="src" name="redis_sentinel_arginfo.h"/>
|
||
<file role="src" name="redis_sentinel_legacy_arginfo.h"/>
|
||
<file role="src" name="sentinel_library.c"/>
|
||
<file role="src" name="sentinel_library.h"/>
|
||
<dir name="liblzf">
|
||
<file role="doc" name="LICENSE"/>
|
||
<file role="doc" name="README"/>
|
||
<file role="src" name="lzf.h"/>
|
||
<file role="src" name="lzfP.h"/>
|
||
<file role="src" name="lzf_c.c"/>
|
||
<file role="src" name="lzf_d.c"/>
|
||
</dir>
|
||
<!-- liblzf -->
|
||
<dir name="tests">
|
||
<file role="test" name="RedisArrayTest.php"/>
|
||
<file role="test" name="RedisClusterTest.php"/>
|
||
<file role="test" name="RedisSentinelTest.php"/>
|
||
<file role="test" name="RedisTest.php"/>
|
||
<file role="test" name="TestRedis.php"/>
|
||
<file role="test" name="TestSuite.php"/>
|
||
<file role="test" name="getSessionData.php"/>
|
||
<file role="test" name="regenerateSessionId.php"/>
|
||
<file role="test" name="startSession.php"/>
|
||
<file role="test" name="SessionHelpers.php"/>
|
||
<file role="test" name="make-cluster.sh"/>
|
||
<file role="test" name="mkring.sh"/>
|
||
</dir>
|
||
<!-- tests -->
|
||
</dir>
|
||
<!-- / -->
|
||
</contents>
|
||
<dependencies>
|
||
<required>
|
||
<php>
|
||
<min>7.4.0</min>
|
||
</php>
|
||
<pearinstaller>
|
||
<min>1.4.0b1</min>
|
||
</pearinstaller>
|
||
</required>
|
||
</dependencies>
|
||
<providesextension>redis</providesextension>
|
||
<extsrcrelease>
|
||
<configureoption name="enable-redis-igbinary" prompt="enable igbinary serializer support?" default="no"/>
|
||
<configureoption name="enable-redis-lzf" prompt="enable lzf compression support?" default="no"/>
|
||
<configureoption name="enable-redis-zstd" prompt="enable zstd compression support?" default="no"/>
|
||
<configureoption name="enable-redis-msgpack" prompt="enable msgpack serializer support?" default="no"/>
|
||
<configureoption name="enable-redis-lz4" prompt="enable lz4 compression?" default="no"/>
|
||
<configureoption name="with-liblz4" prompt="use system liblz4?" default="yes"/>
|
||
</extsrcrelease>
|
||
<changelog>
|
||
<release>
|
||
<stability>
|
||
<release>beta</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.3.0RC1</release>
|
||
<api>6.2.0</api>
|
||
</version>
|
||
<date>2025-10-03</date>
|
||
<notes> --- 6.3.0RC1 ---
|
||
|
||
Fixed:
|
||
|
||
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 `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:
|
||
|
||
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)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.2.0</release>
|
||
<api>6.2.0</api>
|
||
</version>
|
||
<date>2025-03-24</date>
|
||
<notes>
|
||
--- 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 [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)
|
||
* 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:
|
||
* 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] (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)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.1.0</release>
|
||
<api>6.0.0</api>
|
||
</version>
|
||
<date>2024-10-04</date>
|
||
<notes>
|
||
--- 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)
|
||
|
||
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, 5d293245]
|
||
(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)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.0.2</release>
|
||
<api>6.0.0</api>
|
||
</version>
|
||
<date>2023-10-22</date>
|
||
<notes>
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Stackhero - https://github.com/stackhero-io
|
||
Florian Levis - https://github.com/Gounlaf
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
---
|
||
|
||
phpredis 6.0.2
|
||
|
||
This release contains fixes for OBJECT, PSUBSCRIBE and SCAN commands.
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
or by inspecting the git commit logs.
|
||
|
||
* Fix deprecation error when passing null to match_type parameter.[b835aaa3] (Pavlo Yatsukhnenko)
|
||
* Fix flaky test and OBJECT in a pipeline. [a7f51f70] (Michael Grunder)
|
||
* Find our callback by pattern with PSUBSCRIBE [2f276dcd] (Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.0.1</release>
|
||
<api>6.0.0</api>
|
||
</version>
|
||
<date>2023-09-23</date>
|
||
<notes>
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net/
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro/
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Stackhero - https://github.com/stackhero-io
|
||
Florian Levis - https://github.com/Gounlaf
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
---
|
||
|
||
phpredis 6.0.1
|
||
|
||
This release contains fix for unknown expiration modifier issue
|
||
as well as memory leak and segfault in exec function
|
||
and small documentation improvements.
|
||
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
or by inspecting the git commit logs.
|
||
|
||
* Fix memory leak and segfault in Redis::exec [362e1141] (Pavlo Yatsukhnenko), (Markus Podar)
|
||
* Fix unknown expiration modifier [264c0c7e, 95bd184b] (Pavlo Yatsukhnenko)
|
||
* Update documentation [3674d663, 849bedb6, 1ad95b63] (Till Kruss), (Joost OrangeJuiced)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>6.0.0</release>
|
||
<api>6.0.0</api>
|
||
</version>
|
||
<date>2023-09-09</date>
|
||
<notes>
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
phpredis 6.0.0
|
||
|
||
- There were no changes between 6.0.0 and 6.0.0RC2.
|
||
|
||
---
|
||
|
||
phpredis 6.0.0RC2
|
||
|
||
* Fix arginfo for arguments that default to null [8d99b7d1] (Nicolas Grekas)
|
||
* Fix C99 usages [54d9ca45] (Remi Collet)
|
||
* Raise minimal supported version to 7.2 [e10b9a85] (Remi Collet)
|
||
|
||
---
|
||
|
||
phpredis 6.0.0RC1
|
||
|
||
* Fix restoring keys when using compression [82e08723] (Till Kruss)
|
||
* Fix missing auth in RedisSentinel stub [5db85561] (Lu Fei)
|
||
* Fix RedisSentinel pconnect check [42cbd88a] (Pavlo Yatsukhnenko)
|
||
* Fix NULL-pointer dereferences and handle possible UB [36457555] (Pavlo Yatsukhnenko)
|
||
* Fix security alerts [ee210f86, fb6a297c] (Pavlo Yatsukhnenko), (Michael Grunder)
|
||
* Fix segfault [55bf0202] (Pavlo Yatsukhnenko)
|
||
* Fix default host length [c40f9d6c] (Pavlo Yatsukhnenko)
|
||
* Fix redis session standalone stream ssl context [ed10f365, d1bc6727, 2ff11df5] (patricio.dorantes)
|
||
* Fix segfault with session+tls [a471c87a] (Pavlo Yatsukhnenko)
|
||
* Fix non standards conforming prototypes. [b3ce0486] (Michael Grunder)
|
||
* Avoid registering the same replicas multiple times [f2bfd723] (Marius Adam)
|
||
* Better unix:// or file:// detection. [d05d301b] (Michael Grunder)
|
||
* Future proof our igbinary header check [69355faa] (Michael Grunder)
|
||
* Fix BITOP cross-slot bug [af13f951] (Michael Grunder)
|
||
* SENTINEL RESET returns a long. [0243dd9d] (Michael Grunder)
|
||
* Fix redis_sock_read_multibulk_multi_reply_loop logic [d9cb5946, 5a643b62] (Pavlo Yatsukhnenko)
|
||
* Fix RPOP to unserialize/decompress data. [02c91d59] (Michael Grunder)
|
||
* Fix testObject for redis 7.2 [fea19b52, dcb95a3f] (Remi Collet)
|
||
* Fix bug: the pipeline mode socket return an unexpected result after reconnecting [a3327d9d] (thomaston)
|
||
* Fix stub files [9aa5f387, 74cf49f5, 8b1eafe8, e392dd88, b5ea5fd7, 71758b09, 2a6dee5d] (Nicolas Grekas), (Michael Grunder)
|
||
* Update documentation [b64d93e1, 703d71b5, eba1c6d2, 0f502c9e, 130b5d0b, 21c3ef94, b7bf22d4, 50151e7a, b9950727, ab4ce4ab, 8d80ca5b, c4de8667, 6982941b, 375d093d, 43da8dd9, 71344612, b9de0b97, 2d8a8a44, a2b0c86f, e0b24be1, e609fbe8, c4aef956, df50b2ad, cc2383f0, 0dd2836f, 7d5db510, 99340889, 70a55f3e, b04684d4, 980ea6b1, bb06ffa3, b8679d7a, 854f3aa4, a5c47901, cf63e96e, f05ba819, 17db2328, 450904f7, 114f4d60, 142bddf0, 87fa36d6, 531177d4, ecf65144, 53d142d9, c14a9e3a, 72f8eb25, 872b6931] (Karina Kwiatek), (Nicolas Grekas), (Muhammad Dyas Yaskur), (sergkash7), (Dawid Polak), (Michael Grunder), (Yurun), (twosee), (Juha), (Till Kruss)
|
||
* Allow to pass null as iterator [14d121bb] (Pavlo Yatsukhnenko)
|
||
* Add NOMKSTREAM option to XADD command. [f9436e25] (Pavlo Yatsukhnenko)
|
||
* Don't allow reconnect on read response [5a269ab6] (Pavlo Yatsukhnenko)
|
||
* Reset multi/pipline transaction on pconnect close [0879770a] (Pavlo Yatsukhnenko)
|
||
* Use read_mbulk_header helper where possible [ca8b4c93] (Pavlo Yatsukhnenko)
|
||
* Allow to pass null as auth argument [41517753] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_parse_client_list_response [68136a29, aaa4c91a, 1fb2935b, cf2c052c] (Pavlo Yatsukhnenko)
|
||
* Refactor subscribe/unsubscribe [3c9e159c] (Pavlo Yatsukhnenko)
|
||
* Change PHPREDIS_CTX_PTR type [de3635da] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_parse_info_response [982bd13b] (Pavlo Yatsukhnenko)
|
||
* Allow IPv6 address within square brackets [c28ad7bb] (Pavlo Yatsukhnenko)
|
||
* Allow multiple field-value pairs for hmset command. [e858e8e3] (Pavlo Yatsukhnenko)
|
||
* Refactor MINIT and use @generate-class-entries in stub files [3675f442] (Remi Collet)
|
||
* Use spl_ce_RuntimeException [3cd5ac1e, a7e5ea64] (Remi Collet)
|
||
* Regenerate arginfo using 8.2.0 [a38e08da] (Remi Collet)
|
||
* Refactor client command [a8d10291] (Pavlo Yatsukhnenko)
|
||
* Pull COUNT/ANY parsing into a helper function [d67b2020] (Michael Grunder)
|
||
* Return false or NULL on empty lpos response [39a01ac7] (Michael Grunder)
|
||
* BLPOP with a float timeout [a98605f2, dc9af529] (Michael Grunder)
|
||
* Make sure we set an error for key based scans [98fda1b8] (Michael Grunder)
|
||
* Add back a default switch case for setoption handler [87464932] (Michael Grunder)
|
||
* Update stubs so the tests pass in strict mode [bebd398c] (Michael Grunder)
|
||
* Move where we generate our salt [d2044c9f] (Michael Grunder)
|
||
* Refactor XINFO handler [3b0d8b77] (Michael Grunder)
|
||
* Refactor and fix XPENDING handler [457953f4] (Michael Grunder)
|
||
* Refactor FLUSHDB and update docs. [54a084e5] (Michael Grunder)
|
||
* Add missing directed node command to docs and refactor stubs. [5ac92d25] (Michael Grunder)
|
||
* Refactor BITPOS and implement BIT/BYTE option. [4d8afd38] (Michael Grunder)
|
||
* INFO with multiple sections [44d03ca0] (Michael Grunder)
|
||
* Refactor SLOWLOG command [d87f1428] (Michael Grunder)
|
||
* Refactor SORT and add SORT_RO command [8c7c5a3a] (Michael Grunder)
|
||
* Use ZEND_STRL in redis_commands.c [78de25a3] (Pavlo Yatsukhnenko)
|
||
* Refactor PubSub command [2a0d1c1e] (Pavlo Yatsukhnenko)
|
||
* Refactor SLAVEOF handler [f2cef8be] (Michael Grunder)
|
||
* Refactor ACL command [504810a5] (Pavlo Yatsukhnenko)
|
||
* Use fast_zpp API [376d4d27] (Pavlo Yatsukhnenko)
|
||
* Fix XAUTOCLAIM response handler [0b7bd83f] (Michael Grunder)
|
||
* Refactor command command [ff863f3f] (Pavlo Yatsukhnenko)
|
||
* Refactor rawCommand and WAIT [79c9d224] (Michael Grunder)
|
||
* Refactor SELECT command [86f15cca] (Michael Grunder)
|
||
* Refactor SRANDMEMBER command. [f62363c2] (Michael Grunder)
|
||
* Refactor OBJECT command. [acb5db76] (Michael Grunder)
|
||
* Refactor gen_varkey_cmd [3efa59cb] (Michael Grunder)
|
||
* Refactor MGET command. [8cb6dd17] (Michael Grunder)
|
||
* Refactor INFO and SCRIPT commands. [3574ef08] (Michael Grunder)
|
||
* Refactor MSET and MSETNX commands. [6d104481] (Michael Grunder)
|
||
* Refactor HMSET command. [90eb0470] (Michael Grunder)
|
||
* Refactor PFCOUNT command. [19fd7e0c] (Michael Grunder)
|
||
* Refactor SMOVE command. [204a02c5] (Michael Grunder)
|
||
* Rework ZRANGE argument handling. [aa0938a4] (Michael Grunder)
|
||
* Refactor a couple more command methods. [5b560ccf, c8224b93, 40e1b1bf, ccd419a4] (Michael Grunder)
|
||
* Refactor HMGET command [bb66a547] (Michael Grunder)
|
||
* Refactor CLIENT command [77c4f7a3] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_long_response [f14a80db] (Pavlo Yatsukhnenko)
|
||
* Synchronize Redis and RedisSentinel constructors [ebb2386e] (Pavlo Yatsukhnenko)
|
||
* Use redis_sock_connect on connect [f6c8b9c6] (Pavlo Yatsukhnenko)
|
||
* Auto-select db in redis_sock_server_open [6930a81c] (Pavlo Yatsukhnenko)
|
||
* Use on-stack allocated valiables [7a055cad] (Pavlo Yatsukhnenko)
|
||
* Add XAUTOCLAIM command [01f3342c] (Pavlo Yatsukhnenko)
|
||
* Add SYNC arg to FLUSHALL and FLUSHDB, and ASYNC/SYNC arg to SCRIPT FLUSH [750b6cf3] (Pavlo Yatsukhnenko)
|
||
* Add reset command [947a2d38] (Pavlo Yatsukhnenko)
|
||
* Add hRandField command [fe397371] (Pavlo Yatsukhnenko)
|
||
* Add PXAT/EXAT arguments to SET command. [0a160685] (Pavlo Yatsukhnenko)
|
||
* Add GETEX, GETDEL commands. [11861d95] (Pavlo Yatsukhnenko)
|
||
* Add FAILOVER command. [4b767be7] (Pavlo Yatsukhnenko)
|
||
* Backoff settings in constructor [e6b3fe54] (Pavlo Yatsukhnenko)
|
||
* Add the COUNT argument to LPOP and RPOP [df97cc35] (Pavlo Yatsukhnenko)
|
||
* Unsubscribe from all channels [0f1ca0cc] (Pavlo Yatsukhnenko)
|
||
* Add lPos command. [687a5c78] (Pavlo Yatsukhnenko)
|
||
* Add the ANY argument to GEOSEARCH and GEORADIUS [bf6f31e3] (Pavlo Yatsukhnenko)
|
||
* Add 'BIT'/'BYTE' modifier to BITCOUNT + tests [a3d2f131] (Michael Grunder)
|
||
* Add missing configureoption entries in package.xml [59053f10] (Michele Locati)
|
||
* Implement CONFIG RESETSTAT [239678a0] (Michael Grunder)
|
||
* SINTERCARD and ZINTERCARD commands [64300508] (Michael Grunder)
|
||
* LCS command [c0e839f6] (Michael Grunder)
|
||
* EXPIRETIME and PEXPIRETIME [f5b2a09b] (Michael Grunder)
|
||
* [B]LMPOP and [B]ZMPOP commands [6ea978eb] (Michael Grunder)
|
||
* Implement new RESTORE options [9a3fe401] (Michael Grunder)
|
||
* Add new Redis 6.2.0 XTRIM options [6b34d17f] (Michael Grunder)
|
||
* Implement AUTH/AUTH2 arguments for MIGRATE [114d79d1] (Michael Grunder)
|
||
* Implement CONFIG REWRITE [525958ea] (Michael Grunder)
|
||
* Implement Redis 7.0.0 [P]EXPIRE[AT] [options 872ae107] (Michael Grunder)
|
||
* Variadic CONFIG GET/SET [36ef4bd8, a176f586] (Michael Grunder)
|
||
* EVAL_RO and EVALSHA_RO [f3a40830] (Michael Grunder)
|
||
* Implement ZRANGESTORE and add ZRANGE options [71bcbcb9] (Michael Grunder)
|
||
* XGROUP DELCONSUMER and ENTRIESREAD [1343f500] (Michael Grunder)
|
||
* Expose the transferred number of bytes [e0a88b7b, 90828019, 7a4cee2d] (Pavlo Yatsukhnenko), (Michael Grunder)
|
||
* TOUCH command [dc1f2398] (Michael Grunder)
|
||
* Redis Sentinel TLS support [f2bb2cdb] (Pavlo Yatsukhnenko)
|
||
* Add the CH, NX, XX arguments to GEOADD [2bb64038, e8f5b517] (Pavlo Yatsukhnenko)
|
||
* Implement SMISMEMBER for RedisCluster [abfac47b] (Michael Grunder)
|
||
* Implement ssubscribe/sunsubscribe [7644736e] (Pavlo Yatsukhnenko)
|
||
* Implement BLMOVE and add LMOVE/BLMOVE to cluster. [121e9d9c] (Michael Grunder)
|
||
* Implement LPOS for RedisCluster [7121aaae] (Michael Grunder)
|
||
* Implement GEOSEARCH and GEOSEARCHSTORE for RedisCluster. [fa5d1af9] (Michael Grunder)
|
||
* Implement HRANDFIELD for RedisCluster [e222b85e] (Michael Grunder)
|
||
* Implement COPY for RedisCluster [40a2c254] (Michael Grunder)
|
||
* Implement new ZSET commands for cluster [27900f39] (Michael Grunder)
|
||
* Add cluster support for strict sessions and lazy write [b6cf6361] (Michael Grunder)
|
||
* Add function command [90a0e9cc] (Pavlo Yatsukhnenko)
|
||
* Add FCALL/FCALL_RO commands [7c46ad2c] (Pavlo Yatsukhnenko)
|
||
* Remove unused macros [831d6118] (Pavlo Yatsukhnenko)
|
||
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.7</release>
|
||
<api>5.3.7</api>
|
||
</version>
|
||
<date>2022-02-15</date>
|
||
<notes>
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
phpredis 5.3.7
|
||
|
||
- There were no changes between 5.3.7 and 5.3.7RC2.
|
||
|
||
---
|
||
|
||
phpredis 5.3.7RC2
|
||
|
||
- There were no changes between 5.3.7RC2 and 5.3.7RC1.
|
||
|
||
---
|
||
|
||
phpredis 5.3.7RC1
|
||
|
||
- Fix RedisArray::[hsz]scan and tests [08a9d5db, 0264de18] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
- Fix RedisArray::scan [8689ab1c] (Pavlo Yatsukhnenko)
|
||
- Fix LZF decompression logic [0719c1ec] (Michael Grunder)
|
||
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.6</release>
|
||
<api>5.3.6</api>
|
||
</version>
|
||
<date>2022-01-17</date>
|
||
<notes>
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
---
|
||
|
||
phpredis 5.3.6
|
||
|
||
- Fix a segfault in RedisArray::del [d2f2a7d9] (Pavlo Yatsukhnenko)
|
||
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.5</release>
|
||
<api>5.3.5</api>
|
||
</version>
|
||
<date>2021-12-18</date>
|
||
<notes>
|
||
phpredis 5.3.5
|
||
|
||
This release adds support for exponential backoff w/jitter, experimental
|
||
support for detecting a dirty connection, as well as many other fixes
|
||
and improvements.
|
||
|
||
You can find a detailed list of changes in Changelog.md and package.xml
|
||
or by inspecting the git commit logs.
|
||
|
||
--- Sponsors ---
|
||
|
||
Audiomack - https://audiomack.com
|
||
Open LMS - https://openlms.net
|
||
BlueHost - https://bluehost.com
|
||
Object Cache Pro for WordPress - https://objectcache.pro
|
||
Avtandil Kikabidze - https://github.com/akalongman
|
||
Zaher Ghaibeh - https://github.com/zaherg
|
||
BatchLabs - https://batch.com
|
||
Luis Zarate - https://github.com/jlzaratec
|
||
|
||
---
|
||
|
||
phpredis 5.3.5
|
||
|
||
* Fix typo in cluster_scan_resp [44affad2] (Michael Grunder)
|
||
|
||
---
|
||
|
||
phpredis 5.3.5RC1
|
||
|
||
* Fixed segfault in redis_setoption_handler [692e4e84] (Pavlo Yatsukhnenko)
|
||
* Fix masters array in the event of a cluster failover [bce692962] (Bar Shaul)
|
||
* Fix 32 bit type error [672dec87f] (Remi Collet)
|
||
* Fix radix character in certain locales [89a871e24] (Pavlo Yatsukhnenko)
|
||
* ZSTD Validation fix [6a77ef5cd] (Michael Grunder)
|
||
* Remove superfluous typecast [b2871471f] (Remi Collet)
|
||
|
||
* Updated documentation [f84168657, d017788e7, 20ac84710, 0adf05260,
|
||
aee29bf73, 09a095e72, 12ffbf33a, ff331af98, a6bdb8731, 305c15840,
|
||
1aa10e93a, d78b0c79d, c6d37c27c, a6303f5b9, d144bd2c7, a6fb815ef, 9ef862bc6]
|
||
(neodisco, Clement Tessier, T. Todua, dengliming, Maxime Cornet,
|
||
Emanuele Filannino Michael Grunder)
|
||
|
||
* Travis CI Fixes
|
||
[a43f4586e, 4fde8178f, 7bd5415ac, fdb8c4bb7, d4f407470]
|
||
(Pavlo Yatsukhnenko)
|
||
|
||
* Minor fixes/cleanup
|
||
[2e190adc1, 99975b592, 9d0879fa5, 22b06457b]
|
||
(Pavlo Yatsukhnenko)
|
||
|
||
* Fix RedisArray constructor bug
|
||
[85dc883ba](https://github.com/phpredis/phpredis/commit/85dc883ba)
|
||
([Pavlo Yatsukhnenko](https://github.com/yatsukhnenko))
|
||
|
||
* Moved to GitHub Actions
|
||
[4d2afa786, 502d09fd5] (Pavlo Yatsukhnenko)
|
||
|
||
* Use more appropriate array iteration macro
|
||
[6008900c2] (Pavlo Yatsukhnenko)
|
||
|
||
* Clean up session tests
|
||
[ab25ae7f3] (Michael Grunder)
|
||
|
||
* RedisArray refactors [1250f0001, 017b2ea7f, 37ed3f079]
|
||
(Pavlo Yatsukhnenko)
|
||
|
||
* Use zend_parse_parameters_none helper
|
||
[a26b14dbe] (Remi Collet)
|
||
|
||
* Support for various exponential backoff strategies
|
||
[#1986, #1993, 732eb8dcb, 05129c3a3, 5bba6a7fc],
|
||
(Nathaniel Braun)
|
||
|
||
* Added experimental support for detecting a dirty connection
|
||
[d68579562] (Michael Grunder)
|
||
|
||
* Created distinct compression utility methods (pack/unpack)
|
||
[#1939, da2790aec] (Michael Grunder)
|
||
|
||
* SMISMEMBER Command
|
||
[#1894, ae2382472, ed283e1ab] (Pavlo Yatsukhnenko)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.4</release>
|
||
<api>5.3.4</api>
|
||
</version>
|
||
<date>2021-03-24</date>
|
||
<notes>
|
||
phpredis 5.3.4
|
||
|
||
This release fixes a multi/pipeline segfault on apple silicon as well as
|
||
two small compression related bugs.
|
||
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
|
||
* Fix multi/pipeline segfault on Apple silicon [e0796d48] (Michael Grunder)
|
||
* Pass compression flag on HMGET in RedisCluster [edc724e6] (Adam Olley)
|
||
* Abide by ZSTD error return constants [8400ed1c] (Michael Grunder)
|
||
* Fix timing related CI session tests [9b986bf8] (Michael Grunder)
|
||
|
||
* Sponsors
|
||
~ Audiomack - https://audiomack.com
|
||
~ Open LMS - https://openlms.net
|
||
~ BlueHost - https://bluehost.com
|
||
~ Object Cache Pro for WordPress - https://objectcache.pro
|
||
~ Avtandil Kikabidze - https://github.com/akalongman
|
||
~ Zaher Ghaibeh - https://github.com/zaherg
|
||
~ BatchLabs - https://batch.com
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.3</release>
|
||
<api>5.3.3</api>
|
||
</version>
|
||
<date>2021-02-01</date>
|
||
<notes>
|
||
phpredis 5.3.3
|
||
|
||
This release mostly includes just small PHP 8 Windows compatibility fixes
|
||
such that pecl.php.net can automatically build Windows DLLs.
|
||
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
|
||
* Fix PHP8 Windows includes [270b4db8] (Jan-E)
|
||
* Fix hash ops for php 8.0.1 [87297cbb] (defender-11)
|
||
* Disable cloning Redis and RedisCluster objects [cd05a344]
|
||
(Michael Grunder)
|
||
|
||
* Sponsors
|
||
~ Audiomack - https://audiomack.com
|
||
~ BlueHost - https://bluehost.com
|
||
~ Redis Cache Pro for WordPress - https://wprediscache.com
|
||
~ Avtandil Kikabidze - https://github.com/akalongman
|
||
~ Zaher Ghaibeh - https://github.com/zaherg
|
||
~ BatchLabs - https://batch.com
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.2</release>
|
||
<api>5.3.2</api>
|
||
</version>
|
||
<date>2020-10-22</date>
|
||
<notes>
|
||
This release containse some bugfixes and small improvements.
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
|
||
* Sponsors
|
||
~ Audiomack - https://audiomack.com
|
||
~ BlueHost - https://bluehost.com
|
||
~ Redis Cache Pro for WordPress - https://wprediscache.com
|
||
~ Avtandil Kikabidze - https://github.com/akalongman
|
||
~ Oleg Babushkin - https://github.com/olbabushkin
|
||
|
||
phpredis 5.3.2
|
||
|
||
* Use "%.17g" sprintf format for doubles as done in Redis server. [32be3006] (Pavlo Yatsukhnenko)
|
||
* Allow to pass NULL as RedisCluster stream context options. [72024afe] (Pavlo Yatsukhnenko)
|
||
|
||
---
|
||
|
||
phpredis 5.3.2RC2
|
||
|
||
---
|
||
|
||
* Verify SET options are strings before testing them as strings [514bc371] (Michael Grunder)
|
||
|
||
---
|
||
|
||
phpredis 5.3.2RC1
|
||
|
||
---
|
||
* Fix cluster segfault when dealing with NULL multi bulk replies in RedisCluster [950e8de8] (Michael Grunder, Alex Offshore)
|
||
* Fix xReadGroup() must return message id [500916a4] (Pavlo Yatsukhnenko)
|
||
* Fix memory leak in rediscluster session handler [b2cffffc] (Pavlo Yatsukhnenko)
|
||
* Fix XInfo() returns false if the stream is empty [5719c9f7, 566fdeeb] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Relax requirements on set's expire argument [36458071] (Michael Grunder)
|
||
* Refactor redis_sock_check_liveness [c5950644] (Pavlo Yatsukhnenko)
|
||
* PHP8 compatibility [a7662da7, f4a30cb2, 17848791] (Pavlo Yatsukhnenko, Remi Collet)
|
||
* Update documentation [c9ed151d, 398c99d9] (Ali Alwash, Gregoire Pineau)
|
||
* Add Redis::OPT_NULL_MULTIBULK_AS_NULL setting to treat NULL multi bulk replies as NULL instead of []. [950e8de8] (Michael Grunder, Alex Offshore)
|
||
* Allow to specify stream context for rediscluster session handler [a8daaff8, 4fbe7df7] (Pavlo Yatsukhnenko)
|
||
* Add new parameter to RedisCluster to specify stream ssl/tls context. [f771ea16] (Pavlo Yatsukhnenko)
|
||
* Add new parameter to RedisSentinel to specify auth information [81c502ae] (Pavlo Yatsukhnenko)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.1</release>
|
||
<api>5.3.1</api>
|
||
</version>
|
||
<date>2020-07-07</date>
|
||
<notes>
|
||
phpredis 5.3.1
|
||
|
||
This is a small bugfix release that fixes a couple of issues in 5.3.0.
|
||
|
||
You should upgrade if you're using persistent_id in session.save_path or
|
||
of if you're having trouble building 5.3.0 because the php_hash_bin2hex
|
||
symbol is missing.
|
||
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
|
||
* Sponsors
|
||
~ Audiomack - https://audiomack.com
|
||
~ BlueHost - https://bluehost.com
|
||
~ Redis Cache Pro for WordPress - https://wprediscache.com
|
||
~ Avtandil Kikabidze - https://github.com/akalongman
|
||
|
||
---
|
||
* Properly clean up on session start failure [066cff6a] (Michael Grunder)
|
||
* Treat NULL as a failure for redis_extract_auth_info [49428a2f, 14ac969d]
|
||
(Michael Grunder)
|
||
* Don't dereference a NULL zend_string or efree one [ff2e160f, 7fed06f2]
|
||
(Michael Grunder)
|
||
* Fix config.m4 messages and test for and include php_hash.h [83a1b7c5,
|
||
3c56289c, 08f202e7] (Remi Collet)
|
||
* Add openSUSE installation instructions [13a168f4] (Pavlo Yatsukhnenko)
|
||
* Remove EOL Fedora installation instructions [b4779e6a] (Remi Collet)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.3.0</release>
|
||
<api>5.3.0</api>
|
||
</version>
|
||
<date>2020-06-30</date>
|
||
<notes>
|
||
phpredis 5.3.0
|
||
|
||
This release contains initial support for Redis 6 ACLs, LZ4 compression,
|
||
and many more fixes and improvements.
|
||
|
||
You can find a detailed list of changes in CHANGELOG.md and package.xml
|
||
|
||
A special thanks to BlueHost for sponsoring ACL support \o/
|
||
|
||
* Sponsors
|
||
~ Audiomack - https://audiomack.com
|
||
~ BlueHost - https://bluehost.com
|
||
~ Redis Cache Pro for WordPress - https://wprediscache.com
|
||
~ Avtandil Kikabidze - https://github.com/akalongman
|
||
|
||
phpredis 5.3.0
|
||
|
||
- There were no changes between 5.3.0RC2 and 5.3.0.
|
||
|
||
---
|
||
|
||
phpredis 5.3.0RC2
|
||
|
||
---
|
||
|
||
* Fix LZ4 configuration and use pkg-config if we have it [df398cb0]
|
||
(Remi Collet)
|
||
* Make sure persistent pool ID is NULL terminated [0838b5bd, 57bb95bf]
|
||
(Michael Grunder)
|
||
* Run LZ4 tests in Travis [3ba3f06d] (Michael Grunder)
|
||
|
||
phpredis 5.3.0RC1
|
||
|
||
---
|
||
|
||
* Support for Redis 6 ACLs [a311cc4e] (Michael Grunder)
|
||
* LZ4 Compression [04def9fb] (Ilia Alshanetsky)
|
||
* Support for new Redis 6 arguments (XINFO FULL, SET KEEPTTL) [a0c53e0b,
|
||
f9c7bb57] (Michael Grunder, Victor Kislov)
|
||
* Support for TLS connections [890ee0e6, b0671296] (Pavlo Yatsukhnenko)
|
||
* New option Redis::SCAN_PREFIX, Redis::SCAN_NOPREFIX [e80600e2] (Pavlo
|
||
Yatsukhnenko)
|
||
* Configurable unit test authentication arguments [e37f38a3, 201a9759]
|
||
(Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Improved cluster slot caching mechanism to fix a couple of bugs and make
|
||
it more efficient. [5ca4141c] (Michael Grunder)
|
||
* Stop calling Redis constructor when creating a RedisArray [e41e19a8]
|
||
(Pavlo Yatsukhnenko)
|
||
* Use ZEND_LONG_FMT instead of system `long` [5bf88124] (Michael Grunder)
|
||
* Use long for SCAN iteration to fix potential overflow [f13f9b7c]
|
||
(Victor Kislov)
|
||
* Fix config.m4 to test for the variable $PHP_REDIS_JSON and not the
|
||
literal PHP_REDIS_JSON [20a3dc72] (Mizuki Nakano)
|
||
* Fix compiler warnings [b9b383f4, 215828e] (Remi Collet),
|
||
Pavlo Yatsukhnenko)
|
||
* Avoid use-after-free of RediSock [8c45816d] (Pavlo Yatsukhnenko)
|
||
* Fixed ZADD arginfo [a8e2b021] (Pavlo Yatsukhnenko)
|
||
* Store AUTH information in flags RedisSock rather than duplicating
|
||
information. [58dab564] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_sock_get_connection_pool logic. [73212e1]
|
||
(Pavlo Yatsukhnenko)
|
||
* Updated documentation to show LPUSH and RPUSH are variadic and fixed DEL
|
||
documentation. [92f8dde1] (Michael Grunder)
|
||
* Authenticate in redis_server_sock_open [4ef465b5] (Pavlo Yatsukhnenko)
|
||
* Dynamically include json.so in unit tests based on configuration
|
||
[0ce7ca2f] (Michael Grunder)
|
||
* Update save_path logic in Redis Cluster session unit tests [dd66fce]
|
||
(Pavlo Yatsukhnenko)
|
||
* Refactoring various bits of logic [bbcf32a3, a42cf189, 460c8f29,
|
||
b7f9df75] (Pavlo Yatsukhnenko)
|
||
* Use the portable `ZEND_LONG_FORMAT` family instead of C format specifiers
|
||
[b9b383f4](Remi Collet)
|
||
* PHP 8 compatibility [9ee94ca4, 7e4c7b3e] (Pavlo Yatsukhnenko)
|
||
* Refactor PHPREDIS_GET_OBJECT macro [d5dadaf6, 190c0d34]
|
||
(Pavlo Yatsukhnenko)
|
||
* Fix documentation showing lPush and rPush are variadic [6808cd6a]
|
||
(Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.2.2</release>
|
||
<api>5.2.2</api>
|
||
</version>
|
||
<date>2020-05-05</date>
|
||
<notes>
|
||
phpredis 5.2.2
|
||
|
||
This is a bugfix release that contains a fix for authentication
|
||
when using persistent connections, and an option to make the
|
||
ECHO challenge response logic optional.
|
||
|
||
* Inexpensive liveness check, and making ECHO optional [56898f81] (Pavlo Yatsukhnenko)
|
||
* Move `AUTH` to `redis_sock_server_open` [80f2529b](Pavlo Yatsukhnenko)
|
||
|
||
* Sponsors
|
||
~ Audiomack.com - https://audiomack.com
|
||
~ Till Kruss - https://github.com/tillkruss
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.2.1</release>
|
||
<api>5.2.1</api>
|
||
</version>
|
||
<date>2020-03-19</date>
|
||
<notes>
|
||
phpredis 5.2.1
|
||
|
||
This is a bugfix release that fixes `redis->zAdd` arginfo as well as a
|
||
segfault when closing persistent connections.
|
||
|
||
* Fix arginfo for Redis::zadd [a8e2b021] (Pavlo Yatsukhnenko)
|
||
* Fix segfault on closing persistent stream [b7f9df75] (Pavlo Yatsukhnenko)
|
||
|
||
* Sponsors
|
||
~ Audiomack.com - https://audiomack.com
|
||
~ Till Kruss - https://github.com/tillkruss
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.2.0</release>
|
||
<api>5.2.0</api>
|
||
</version>
|
||
<date>2020-03-02</date>
|
||
<notes>
|
||
phpredis 5.2.0
|
||
|
||
- There were no changes between 5.2.0RC2 and 5.2.0.
|
||
|
||
phpredis 5.2.0RC2
|
||
|
||
* Include RedisSentinelTest.php in package.xml! [eddbfc8f] (Michael Grunder)
|
||
* Fix -Wmaybe-uninitialized warning [740b8c87] (Remi Collet)
|
||
* Fix improper destructor when zipping values and scores [371ae7ae]
|
||
(Michael Grunder)
|
||
* Use php_rand instead of php_mt_rand for liveness challenge string
|
||
[9ef2ed89] (Michael Grunder)
|
||
|
||
phpredis 5.2.0RC1
|
||
|
||
This release contains initial support for Redis Sentinel as well as many
|
||
smaller bug fixes and improvements. It is especially of interest if you
|
||
use persistent connections, as we've added logic to make sure they are in
|
||
a good state when retrieving them from the pool.
|
||
|
||
IMPORTANT: Sentinel support is considered experimental and the API
|
||
will likely change based on user feedback.
|
||
|
||
* Sponsors
|
||
~ Audiomack.com - https://audiomack.com
|
||
~ Till Kruss - https://github.com/tillkruss
|
||
|
||
---
|
||
|
||
* Initial support for RedisSentinel [90cb69f3, c94e28f1, 46da22b0, 5a609fa4,
|
||
383779ed] (Pavlo Yatsukhnenko)
|
||
|
||
* Housekeeping (spelling, doc changes, etc) [23f9de30, d07a8df6, 2d39b48d,
|
||
0ef488fc, 2c35e435, f52bd8a8, 2ddc5f21, 1ff7dfb7, db446138] (Tyson Andre,
|
||
Pavlo Yatsukhnenko, Michael Grunder, Tyson Andre)
|
||
|
||
* Fix for ASK redirections [ba73fbee] (Michael Grunder)
|
||
* Create specific 'test skipped' exception [c3d83d44] (Michael Grunder)
|
||
* Fixed memory leaks in RedisCluster [a107c9fc] (Michael Grunder)
|
||
* Fixes for session lifetime values that underflow or overflow [7a79ad9c,
|
||
3c48a332] (Michael Grunder)
|
||
* Enables slot caching for Redis Cluster [23b1a9d8] (Michael Booth)
|
||
|
||
* Support TYPE argument for SCAN [8eb39a26, b1724b84, 53fb36c9, 544e641b]
|
||
(Pavlo Yatsukhnenko)
|
||
|
||
* Added challenge/response mechanism for persistent connections [a5f95925,
|
||
25cdaee6, 7b6072e0, 99ebd0cc, 3243f426] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
phpredis 5.2.0RC2
|
||
|
||
* Include RedisSentinelTest.php in package.xml! [eddbfc8f] (Michael Grunder)
|
||
* Fix -Wmaybe-uninitialized warning [740b8c87] (Remi Collet)
|
||
* Fix improper destructor when zipping values and scores [371ae7ae]
|
||
(Michael Grunder)
|
||
* Use php_rand instead of php_mt_rand for liveness challenge string
|
||
[9ef2ed89] (Michael Grunder)
|
||
|
||
phpredis 5.2.0RC1
|
||
|
||
This release contains initial support for Redis Sentinel as well as many
|
||
smaller bug fixes and improvements. It is especially of interest if you
|
||
use persistent connections, as we've added logic to make sure they are in
|
||
a good state when retrieving them from the pool.
|
||
|
||
IMPORTANT: Sentinel support is considered experimental and the API
|
||
will likely change based on user feedback.
|
||
|
||
* Sponsors
|
||
~ Audiomack.com - https://audiomack.com
|
||
~ Till Kruss - https://github.com/tillkruss
|
||
|
||
---
|
||
|
||
* Initial support for RedisSentinel [90cb69f3, c94e28f1, 46da22b0, 5a609fa4,
|
||
383779ed] (Pavlo Yatsukhnenko)
|
||
|
||
* Housekeeping (spelling, doc changes, etc) [23f9de30, d07a8df6, 2d39b48d,
|
||
0ef488fc, 2c35e435, f52bd8a8, 2ddc5f21, 1ff7dfb7, db446138] (Tyson Andre,
|
||
Pavlo Yatsukhnenko, Michael Grunder, Tyson Andre)
|
||
|
||
* Fix for ASK redirections [ba73fbee] (Michael Grunder)
|
||
* Create specific 'test skipped' exception [c3d83d44] (Michael Grunder)
|
||
* Fixed memory leaks in RedisCluster [a107c9fc] (Michael Grunder)
|
||
* Fixes for session lifetime values that underflow or overflow [7a79ad9c,
|
||
3c48a332] (Michael Grunder)
|
||
* Enables slot caching for Redis Cluster [23b1a9d8] (Michael Booth)
|
||
|
||
* Support TYPE argument for SCAN [8eb39a26, b1724b84, 53fb36c9, 544e641b]
|
||
(Pavlo Yatsukhnenko)
|
||
|
||
* Added challenge/response mechanism for persistent connections [a5f95925,
|
||
25cdaee6, 7b6072e0, 99ebd0cc, 3243f426] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.1.1</release>
|
||
<api>5.1.0</api>
|
||
</version>
|
||
<date>2019-11-11</date>
|
||
<notes>
|
||
phpredis 5.1.1
|
||
|
||
This release contains only bugfix for unix-socket connection.
|
||
|
||
* Fix fail to connect to redis through unix socket [2bae8010, 9f4ededa] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Documentation improvements (@fitztrev)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.1.0</release>
|
||
<api>5.1.0</api>
|
||
</version>
|
||
<date>2019-10-31</date>
|
||
<notes>
|
||
This release contains important bugfixes and improvements.
|
||
|
||
phpredis 5.1.0
|
||
|
||
* Allow to specify scheme for session handler [53a8bcc7] (Pavlo Yatsukhnenko)
|
||
* Add documentation for hyperloglog [75a6f3fa, 96a0f0c3, 9686757a] (@rlunar)
|
||
|
||
phpredis 5.1.0RC2
|
||
|
||
* Fix missing null byte in PHP_MINFO_FUNCTION [8bc2240c] (Remi Collet)
|
||
* Remove dead code generic_unsubscribe_cmd [8ee4abbc] (Pavlo Yatsukhnenko)
|
||
* Add documentation for zpopmin and zpopmax [99ec24b3, 4ab1f940] (@alexander-schranz)
|
||
|
||
phpredis 5.1.0RC1
|
||
|
||
* Fix regression for multihost_distribute_call added in 112c77e3 [fbe0f804] (Pavlo Yatsukhnenko)
|
||
* Fix regression for conntecting to unix sockets with relative path added in 1f41da64 [17b139d8, 7ef17ce1] (Pavlo Yatsukhnenko)
|
||
* Fix unix-socket detection logic broken in 418428fa [a080b73f] (Pavlo Yatsukhnenko)
|
||
* Fix memory leak and bug with getLastError for redis_mbulk_reply_assoc and redis_mbulk_reply_zipped. [7f42d628, 3a622a07] (Pavlo Yatsukhnenko), (Michael Grunder)
|
||
* Fix bug with password contain "#" for redis_session [2bb08680] (Pavlo Yatsukhnenko)
|
||
* Add optional support for Zstd compression, using --enable-redis-ztsd. This requires libzstd version >= 1.3.0 [2abc61da] (Remi Collet)
|
||
* Fix overallocation in RedisCluster directed node commands [cf93649] (Michael Grunder)
|
||
* Also attach slaves when caching cluster slots [0d6d3fdd, b114fc26] (Michael Grunder)
|
||
* Use zend_register_persistent_resource_ex for connection pooling [fdada7ae, 7c6c43a6] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_session [91a8e734, 978c3074] (Pavlo Yatsukhnenko)
|
||
* Documentation improvements (@Steveb-p, @tangix, @ljack-adista, @jdreesen, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>5.0.0</release>
|
||
<api>5.0.0</api>
|
||
</version>
|
||
<date>2019-07-02</date>
|
||
<notes>
|
||
This release contains important improvements and breaking changes.
|
||
The most interesting are: drop PHP5 support, RedisCluster slots caching,
|
||
JSON and msgpack serializers, soft deprecation of non-Redis commands.
|
||
|
||
phpredis 5.0.0
|
||
|
||
* Remove HAVE_SPL [55c5586c] (@petk)
|
||
* Update Fedora installation instructions [90aa067c] (@remicollet)
|
||
|
||
phpredis 5.0.0RC2
|
||
|
||
* Allow compilation without JSON serialization enabled and fixes for deprecated
|
||
helper methods. [235a27] (Pavlo Yatsukhnenko)
|
||
* Fix php msgpack >= 2.0.3 version requirement. [6973478..a537df8] (Michael Grunder)
|
||
|
||
phpredis 5.0.0RC1
|
||
|
||
* Enable connection pooling by default [8206b147] (Pavlo Yatsukhnenko)
|
||
* Soft deprecate methods that aren't actually Redis commands [a81b4f2d, 95c8aab9] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Enable pooling for cluster slave nodes [17600dd1] (Michael Grunder)
|
||
* xInfo response format [4852a510, ac9dca0a] (Pavlo Yatsukhnenko)
|
||
* Make the XREADGROUP optional COUNT and BLOCK arguments nullable [0c17bd27] (Michael Grunder)
|
||
* Allow PING to take an optional argument [6e494170] (Michael Grunder)
|
||
* Allow ZRANGE to be called either with `true` or `['withscores' => true]` [19f3efcf] (Michael Grunder)
|
||
* Allow to specify server address as schema://host [418428fa] (Pavlo Yatsukhnenko)
|
||
* Allow persistent_id to be passed as NULL with strict_types enabled [60223762] (Michael Grunder)
|
||
* Add server address to exception message [e8fb49be, 34d6403d] (Pavlo Yatsukhnenko)
|
||
* Adds OPT_REPLY_LITERAL for rawCommand and EVAL [5cb30fb2] (Michael Grunder)
|
||
* JSON serializer [98bd2886, 96c57139] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Add support for STREAM to the type command [d7450b2f, 068ce978, 8a45d18c] (Michael Grunder, Pavlo Yatsukhnenko)
|
||
* Fix TypeError when using built-in constants in `setOption` [4c7643ee] (@JoyceBabu)
|
||
* Handle references in MGET [60d8b679] (Michael Grunder)
|
||
* msgpack serializer [d5b8f833, 545250f3, 52bae8ab] (@bgort, Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Add RedisCluster slots caching [9f0d7bc0, ea081e05] (Michael Grunder)
|
||
* Drop PHP5 support [f9928642, 46a50c12, 4601887d, 6ebb36ce, fdbe9d29] (Michael Grunder)
|
||
* Documentation improvements (@alexander-schranz, @cookieguru, Pavlo Yatsukhnenko, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.3.0</release>
|
||
<api>4.3.0</api>
|
||
</version>
|
||
<date>2019-03-13</date>
|
||
<notes>
|
||
phpredis 4.3.0
|
||
|
||
This is probably the last release with PHP 5 support!!!
|
||
|
||
* Proper persistent connections pooling implementation [a3703820, c76e00fb, 0433dc03, c75b3b93] (Pavlo Yatsukhnenko)
|
||
* RedisArray auth [b5549cff, 339cfa2b, 6b411aa8] (Pavlo Yatsukhnenko)
|
||
* Use zend_string for storing key hashing algorithm [8cd165df, 64e6a57f] (Pavlo Yatsukhnenko)
|
||
* Add ZPOPMAX and ZPOPMIN support [46f03561, f89e941a, 2ec7d91a] (@mbezhanov, Michael Grunder)
|
||
* Implement GEORADIUS_RO and GEORADIUSBYMEMBER_RO [22d81a94] (Michael Grunder)
|
||
* Add callback parameter to subscribe/psubscribe arginfo [0653ff31] (Pavlo Yatsukhnenko)
|
||
* Don't check the number affected keys in PS_UPDATE_TIMESTAMP_FUNC [b00060ce] (Pavlo Yatsukhnenko)
|
||
* Xgroup updates [15995c06] (Michael Grunder)
|
||
* RedisCluster auth [c5994f2a] (Pavlo Yatsukhnenko)
|
||
* Cancel pipeline mode without executing commands [789256d7] (Pavlo Yatsukhnenko)
|
||
* Use zend_string for pipeline_cmd [e98f5116] (Pavlo Yatsukhnenko)
|
||
* Different key hashing algorithms from hash extension [850027ff] (Pavlo Yatsukhnenko)
|
||
* Breaking the lock acquire loop in case of network problems [61889cd7] (@SkydiveMarius)
|
||
* Implement consistent hashing algorithm for RedisArray [bb32e6f3, 71922bf1] (Pavlo Yatsukhnenko)
|
||
* Use zend_string for storing RedisArray hosts [602740d3, 3e7e1c83] (Pavlo Yatsukhnenko)
|
||
* Update lzf_compress to be compatible with PECL lzf extension [b27fd430] (@jrchamp)
|
||
* Fix RedisCluster keys memory leak [3b56b7db] (Michael Grunder)
|
||
* Directly use return_value in RedisCluster::keys method [ad10a49e] (Pavlo Yatsukhnenko)
|
||
* Fix segfault in Redis Cluster with inconsistent configuration [72749916, 6e455e2e] (Pavlo Yatsukhnenko)
|
||
* Masters info leakfix [91bd7426] (Michael Grunder)
|
||
* Refactor redis_sock_read_bulk_reply [bc4dbc4b] (Pavlo Yatsukhnenko)
|
||
* Remove unused parameter lazy_connect from redis_sock_create [c0793e8b] (Pavlo Yatsukhnenko)
|
||
* Remove useless ZEND_ACC_[C|D]TOR. [bc9b5597] (@twosee)
|
||
* Documentation improvements (@fanjiapeng, @alexander-schranz, @hmc, Pavlo Yatsukhnenko, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>beta</release>
|
||
<api>beta</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.2.0RC3</release>
|
||
<api>4.2.0RC3</api>
|
||
</version>
|
||
<date>2018-11-08</date>
|
||
<notes>
|
||
phpredis 4.2.0RC3
|
||
|
||
The main feature of this release is new Streams API implemented by Michael Grunder.
|
||
|
||
4.2.0RC3:
|
||
|
||
* Optimize close method [2a1ef961] (fanjiapeng)
|
||
* Prevent potential infinite loop for sessions [4e2de158] (Pavlo Yatsukhnenko)
|
||
* Fix coverty warnings [6f7ddd27] (Pavlo Yatsukhnenko)
|
||
* Fix session memory leaks [071a1d54, 92f14b14] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Fix XCLAIM on 32-bit installs [18dc2aac] (Michael Grunder)
|
||
* Build warning fixes [b5093910, 51027044, 8b0f28cd] (Pavlo Yatsukhnenko, Remi Collet, twosee)
|
||
|
||
4.2.0RC2:
|
||
|
||
* Fix incorrect arginfo for `Redis::sRem` and `Redis::multi` [25b043ce] (Pavlo Yatsukhnenko)
|
||
* Update STREAM API to handle STATUS -> BULK reply change [0b97ec37] (Michael Grunder)
|
||
* Treat a -1 response from cluster_check_response as a timeout. [27df9220, 07ef7f4e, d1172426] (Michael Grunder)
|
||
* Use a ZSET instead of SET for EVAL tests [2e412373] (Michael Grunder)
|
||
* Missing space between command and args [0af2a7fe] (@remicollet)
|
||
|
||
4.2.0RC1:
|
||
|
||
* Streams API [2c9e0572] (Michael Grunder)
|
||
* Reset the socket after a timeout to make sure no wrong data is received [cd6ebc6d] (@marcdejonge)
|
||
* Modify session testing logic [bfd27471] (Michael Grunder)
|
||
* Allow '-' and '+' arguments and add tests for zLexCount and zRemRangeByLex [d4a08697] (Michael Grunder)
|
||
* Fix printf format warnings [dcde9331] (Pavlo Yatsukhnenko)
|
||
* Session module is required [58bd8cc8] (@remicollet)
|
||
* Set default values for ini entries [e206ce9c] (Pavlo Yatsukhnenko)
|
||
* Display ini entries in output of phpinfo [908ac4b3] (Pavlo Yatsukhnenko)
|
||
* Persistent connections can be closed via close method + change reconnection logic [1d997873] (Pavlo Yatsukhnenko)
|
||
* Documentation improvements (@mg, @elcheco, @lucascourot, @nolimitdev, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.1.1</release>
|
||
<api>4.1.1</api>
|
||
</version>
|
||
<date>2018-08-01</date>
|
||
<notes>
|
||
phpredis 4.1.1
|
||
|
||
This release contains only bugfixes and documentation improvements
|
||
|
||
* Fix arginfo for Redis::set method [0c5e7f4d] (Pavlo Yatsukhnenko)
|
||
* Fix compression in RedisCluster [a53e1a34] (Pavlo Yatsukhnenko)
|
||
* Fix TravisCI builds [9bf32d30] (@jrchamp)
|
||
* Highlight php codes in documentation [c3b023b0] (@ackintosh)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.1.0</release>
|
||
<api>4.1.0</api>
|
||
</version>
|
||
<date>2018-01-10</date>
|
||
<notes>
|
||
phpredis 4.1.0
|
||
|
||
The primary new feature of this release is session locking functionality. Thanks to @SkydiveMarius!
|
||
|
||
* Add callbacks validate_sid and update_timestamp to session handler [aaaf0f23] (@hongboliu)
|
||
* Call cluster_disconnect before destroying cluster object. [28ec4322] (Pavlo Yatsukhnenko)
|
||
* Bulk strings can be zero length. (Michael Grunder)
|
||
* Handle async parameter for flushDb and flushAll [beb6e8f3,acd10409,742cdd05] (Pavlo Yatsukhnenko)
|
||
* Split INSTALL and add more instructions [43613d9e,80d2a917] (@remicollet, Pavlo Yatsukhnenko)
|
||
* Only the first arg of connect and pconnect is required [063b5c1a] (@mathroc)
|
||
* Add session locking functionality [300c7251] (@SkydiveMarius, Michael Grunder, Pavlo Yatsukhnenko)
|
||
* Fix compression in RedisCluster [1aed74b4] (Pavlo Yatsukhnenko)
|
||
* Refactor geo* commands + documentation improvements (Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.0.2</release>
|
||
<api>4.0.2</api>
|
||
</version>
|
||
<date>2018-04-25</date>
|
||
<notes>
|
||
phpredis 4.0.2
|
||
|
||
This release contains only fix of exists method to take multiple keys
|
||
and return integer value (was broken in 4.0.1) Thanks @RanjanRohit!
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.0.1</release>
|
||
<api>4.0.1</api>
|
||
</version>
|
||
<date>2018-04-18</date>
|
||
<notes>
|
||
phpredis 4.0.1
|
||
|
||
* Fix arginfo for connect/pconnect issue #1337 [c3b228] (@mathroc)
|
||
* Don't leak a ZVAL [278232] (Michael Grunder)
|
||
* Fix config.m4 for lzf issue #1325 [20e173] (Pavlo Yatsukhnenko)
|
||
* Updates EXISTS documentation and notes change in 4.0.0 [bed186] (Michael Grunder)
|
||
* Fix typo in notes [0bed36] (@szepeviktor)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>4.0.0</release>
|
||
<api>4.0.0</api>
|
||
</version>
|
||
<date>2018-03-17</date>
|
||
<notes>
|
||
phpredis 4.0.0
|
||
|
||
*** WARNING! THIS RELEASE CONTAINS BREAKING API CHANGES! ***
|
||
|
||
* Add proper ARGINFO for all methods. (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Let EXISTS take multiple keys [cccc39] (Michael Grunder)
|
||
* Use zend_string as returning value for ra_extract_key and ra_call_extractor [9cd05911] (Pavlo Yatsukhnenko)
|
||
* Implement SWAPDB and UNLINK commands [84f1f28b, 9e65c429] (Michael Grunder)
|
||
* Return real connection error as exception [5b9c0c60] (Pavlo Yatsukhnenko, Michael Grunder)
|
||
* Disallow using empty string as session name. [485db46f] (Pavlo Yatsukhnenko)
|
||
* Use zend_string for storing auth and prefix members [4b8336f7] (Pavlo Yatsukhnenko)
|
||
* The element of z_seeds may be a reference on php7 [367bc6aa, 1e63717a] (@janic716)
|
||
* Avoid connection in helper methods [91e9cfe1] (Pavlo Yatsukhnenko)
|
||
* Add tcp_keepalive option to redis sock [68c58513, 5101172a, 010336d5, 51e48729] (@git-hulk, Michael Grunder)
|
||
* More robust GEORADIUS COUNT validation [f7edee5d] (Michael Grunder)
|
||
* Add LZF compression (experimental) [e2c51251, 8cb2d5bd, 8657557] (Pavlo Yatsukhnenko)
|
||
* Allow to use empty string as persistent_id [ec4fd1bd] (Pavlo Yatsukhnenko)
|
||
* Don't use convert_to_string in redis_hmget_cmd [99335d6] (Pavlo Yatsukhnenko)
|
||
* Allow mixing MULTI and PIPELINE modes (experimental) [5874b0] (Pavlo Yatsukhnenko)
|
||
* PHP >=7.3.0 uses zend_string to store `php_url` elements [b566fb44] (@fmk)
|
||
* Documentation improvements (Michael Grunder, @TomA-R)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.6</release>
|
||
<api>3.1.6</api>
|
||
</version>
|
||
<date>2018-01-03</date>
|
||
<notes>
|
||
phpredis 3.1.6
|
||
|
||
This release contains only fix of RedisArray distributor hashing function
|
||
which was broken in 3.1.4. Huge thanks to @rexchen123
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.5</release>
|
||
<api>3.1.5</api>
|
||
</version>
|
||
<date>2017-12-20</date>
|
||
<notes>
|
||
phpredis 3.1.5
|
||
|
||
This is interim release which contains only bug fixes.
|
||
|
||
* Fix segfault when extending Redis class in PHP 5 [d23eff] (Pavlo Yatsukhnenko)
|
||
* Fix RedisCluster constructor with PHP 7 strict scalar type [5c21d7] (Pavlo Yatsukhnenko)
|
||
* Allow to use empty string as persistent_id [344de5] (Pavlo Yatsukhnenko)
|
||
* Fix cluster_init_seeds. [db1347] (@adlagares)
|
||
* Fix z_seeds may be a reference [42581a] (@janic716)
|
||
* PHP >=7.3 uses zend_string for php_url elements [b566fb] (@fmk)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.4</release>
|
||
<api>3.1.4</api>
|
||
</version>
|
||
<date>2017-09-27</date>
|
||
<notes>
|
||
phpredis 3.1.4
|
||
|
||
The primary new feature phpredis 3.1.4 is the ability to send MULTI .. EXEC blocks in pipeline mode. There are
|
||
also many bugfixes and minor improvements to the api, listed below:
|
||
|
||
* Allow mixing MULTI and PIPELINE modes (experimental)! [5874b0] (Pavlo Yatsukhnenko)
|
||
|
||
* Added integration for coverty static analysis and fixed several warnings
|
||
[faac8b0, eff7398, 4766c25, 0438ab4, 1e0b065, 733732a, 26eeda5, 735025, 42f1c9, af71d4] (Pavlo Yatsukhnenko)
|
||
* Added arginfo inrospection structures [81a0303, d5609fc, e5660be, 3c60e1f, 50dcb15, 6c2c6fa,
|
||
212e323, e23be2c, 682593d, f8de702, 4ef3acd, f116be9, 5c111dd, 9caa029, 0d69650, 6859828, 024e593,
|
||
3643ab6, f576fab, 122d41f, a09d0e6] (Tyson Andre, Pavlo Yatsukhnenko)
|
||
* Fixed link to redis cluster documentation [3b0b06] (Pavlo Yatsukhnenko)
|
||
* Remove unused PHP_RINIT and PHP_RSHUTDOWN functions [c760bf] (Pavlo Yatsukhnenko)
|
||
* Removed duplicate HGET in redis array hash table, formatting [d0b9c5] (Pavlo Yatsukhnenko)
|
||
* Treat NULL bulk as success for session read [659450] (Pavlo Yatsukhnenko)
|
||
* Refactor redis_send_discard [ea15ce] (Pavlo Yatsukhnenko)
|
||
* Updated runtime exception handling [8dcaa4, 7c1407] (Pavlo Yatsukhnenko)
|
||
* Added a github issue template [61aba9] (Pavlo Yatsukhnenko)
|
||
* Initialize gc member of zend_string [37f569) (Pavlo Yatsukhnenko)
|
||
* Fix valgrind warnings [471ce07, 1ab89e1, b624a8b] (Pavlo Yatsukhnenko)
|
||
* Fix php5/php7 compatibility layer [1ab89e, 4e3225] (Pavlo Yatsukhnenko)
|
||
* Fix typo in README.markdown [e47e44] (Mark Shehata)
|
||
* Improve redis array rehash [577a91] (Pavlo Yatsukhnenko)
|
||
* Change redis array pure_cmds from zval to hashtable [a56ed7] (Pavlo Yatsukhnenko)
|
||
* Don't try to set TCP_NODELAY on a unix socket and don't warn on multiple
|
||
calls to pipeline [d11798, 77aeba] (Michael Grunder)
|
||
* Use zend_string rather than char* for various context fields (err, prefix, etc) [2bf7b2] (Pavlo Yatsukhnenko)
|
||
* Various other library fixes [142b51, 4452f6, e672f4, 658ee3, c9df77, 4a0a46] (Pavlo Yatsukhnenko)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.3</release>
|
||
<api>3.1.3</api>
|
||
</version>
|
||
<date>2017-07-15</date>
|
||
<notes>
|
||
phpredis 3.1.3
|
||
|
||
This release contains two big improvements:
|
||
1. Adding a new printf like command construction function with additionally format specifiers specific to phpredis.
|
||
2. Implementation of custom objects for Redis and RedisArray which eliminates double hash lookup.
|
||
Also many small improvements and bug fixes were made.
|
||
|
||
* A printf like method to construct a Redis RESP command [a4a0ed, d75081, bdd287, 0eaeae, b3d00d] (Michael Grunder)
|
||
* Use custom objects instead of zend_list for storing Redis/RedisArray [a765f8, 8fa85a] (Pavlo Yatsukhnenko)
|
||
* Make sure redisCluster members are all initialized on (re)creation [162d88] (Michael Grunder)
|
||
* Fix Null Bulk String response parsing in cluster library [058753] (Alberto Fernandez)
|
||
* Add hStrLen command [c52077, fb88e1] (Pavlo Yatsukhnenko)
|
||
* Add optional COUNT argument to sPop [d2e203] (Michael Grunder)
|
||
* Allow sInterStore to take one arg [26aec4, 4cd06b] (Michael Grunder)
|
||
* Allow MIGRATE to accept multiple keys [9aa3db] (Michael Grunder)
|
||
* Allow using numeric string in zInter command [ba0070] (Pavlo Yatsukhnenko)
|
||
* Use crc32 table from PHP distro [f81694] (Pavlo Yatsukhnenko)
|
||
* Use ZVAL_DEREF macros for dereference input variables [ad4596] (Pavlo Yatsukhnenko)
|
||
* Add configureoption tag to package.xml [750963] (Pavlo Yatsukhnenko)
|
||
* Fix read_timeout [18149e, b56dc4] (Pavlo Yatsukhnenko)
|
||
* Fix zval_get_string impl for PHP5 [4e56ba] (Pavlo Yatsukhnenko)
|
||
* Fix Redis/RedisArray segfaults [be5c1f, 635c3a, 1f8dde, 43e1e0] (Pavlo Yatsukhnenko)
|
||
* Fix memory leak and potential segfault [aa6ff7, 88efaa] (Michael Grunder)
|
||
* Throw exception for all non recoverable errors [e37239] (Pavlo Yatsukhnenko)
|
||
* Assume "NULL bulk" reply as success (empty session data) [4a81e1] (Pavlo Yatsukhnenko)
|
||
* Increase read buffers size [520e06] (Pavlo Yatsukhnenko)
|
||
* Better documentation [f0c25a, c5991f, 9ec9ae] (Michael Grunder)
|
||
* Better TravisCI integration [e37c08] (Pavlo Yatsukhnenko)
|
||
* Refactoring (Pavlo Yatsukhnenko, Michael Grunder)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.2</release>
|
||
<api>3.1.2</api>
|
||
</version>
|
||
<date>2017-03-16</date>
|
||
<notes>
|
||
phpredis 3.1.2
|
||
|
||
* RedisArray segfault fix [564ce3] (Pavlo Yatsukhnenko)
|
||
* Small memory leak fix [645888b] (Mike Grunder)
|
||
* Segfault fix when recreating RedisCluster objects [abf7d4] (Michael Grunder)
|
||
* Fix for RedisCluster bulk response parsing [4121c4] (Alberto Fernandez)
|
||
* Re allow single array for sInterStore [6ef0c2, d01966] (Michael Grunder)
|
||
* Better TravisCI integration [4fd2f6] (Pavlo Yatsukhnenko)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>beta</release>
|
||
<api>beta</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.1RC2</release>
|
||
<api>3.1.1RC2</api>
|
||
</version>
|
||
<date>2017-01-16</date>
|
||
<notes>
|
||
|
||
phpredis 3.1.1RC2
|
||
|
||
* Additional test updates for 32 bit systems (@remicollet)
|
||
* ARM rounding issue in tests (@remicollet)
|
||
* Use new zend_list_close instead of zend_list_delete when reconnecting.
|
||
* Refactoring of redis_boolean_response_impl and redis_sock_write (@yatsukhnenko)
|
||
|
||
phpredis 3.1.1.RC1
|
||
|
||
This release contains mostly fixes for issues introduced when merging
|
||
the php 5 and 7 codebase into a single branch.
|
||
|
||
* Fixed a segfault in igbinary serialization (@yatsukhnenko)
|
||
* Restore 2.2.8/3.0.0 functionality to distinguish between an error
|
||
and simply empty session data. (@remicollet)
|
||
* Fix double to string conversion function (@yatsukhnenko)
|
||
* Use PHP_FE_END definition when available (@remicollet)
|
||
* Fixed various 'static function declared but not used' warnings
|
||
* Fixes to various calls which were typecasting pointers to the
|
||
wrong size. (@remicollet)
|
||
|
||
* Added php session unit test (@yatsukhnenko)
|
||
* Added explicit module dependency for igbinary (@remicollet)
|
||
* Added phpinfo serialization information (@remicollet)
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>3.1.0</release>
|
||
<api>3.1.0</api>
|
||
</version>
|
||
<date>2016-12-14</date>
|
||
<notes>
|
||
phpredis 3.1.0
|
||
|
||
In this version of phpredis codebase was unified to work with all versions of php \o/
|
||
Also many bug fixes and some improvements has been made.
|
||
|
||
--- Improvements ---
|
||
|
||
* Support the client to Redis Cluster just having one master (andyli) [892e5646]
|
||
* Allow both long and strings that are longs for zrangebyscore offset/limit (Michael Grunder) [bdcdd2aa]
|
||
* Process NX|XX, CH and INCR options in zAdd command (Pavlo Yatsukhnenko) [71c9f7c8]
|
||
|
||
--- Fixes ---
|
||
|
||
* Fix incrby/decrby for large integers (Michael Grunder) [3a12758a]
|
||
* Use static declarations for spl_ce_RuntimeException decl (Jeremy Mikola) [a9857d69]
|
||
* Fixed method call problem causes session handler to display two times (ZiHang Gao) [24f86c49]
|
||
* psetex method returns '+OK' on success, not true (sitri@ndxbn) [afcd8445]
|
||
* Fix integer overflow for long (>32bit) increments in hIncrBy (iyesin) [58e1d799]
|
||
* Move zend_object handler to the end (Michael Grunder) [34107966]
|
||
* Using setOption on redis array causes immediate connection (Pavlo Yatsukhnenko) [f1a85b38]
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>2.2.8</release>
|
||
<api>2.2.8</api>
|
||
</version>
|
||
<date>2016-06-02</date>
|
||
<notes>
|
||
phpredis 2.2.8
|
||
|
||
The main improvement in this version of phpredis is support for Redis
|
||
Cluster. This version of phpredis is intended for versions of php older
|
||
than 7.
|
||
|
||
In addition there have been many bug fixes and improvements to non cluster
|
||
related commands, which are listed below.
|
||
|
||
I've attempted to include everyone who contributed to the project in each fix
|
||
description and have included names or github user ids.
|
||
|
||
Thanks to everyone for submitting bug reports and pull requests. A special
|
||
thanks to Remi Collet for helping with any and all packaging related issues
|
||
|
||
\o/
|
||
|
||
--- Improvements ---
|
||
|
||
* Added randomization to our seed nodes to balance which instance is used
|
||
to map the keyspace (Vitaliy Stepanyuk) [32eb1c5f]
|
||
* Added support for IPv6 addresses
|
||
|
||
--- Fixes ---
|
||
|
||
* PHP liveness checking workaround (Shafreeck Sea) [c18d58b9]
|
||
* Various documentation and code formatting and style fixes (ares333,
|
||
sanpili, Bryan Nelson, linfangrong, Romero Malaquias, Viktor Szepe)
|
||
* Fix scan reply processing to use long instead of int to avoid overflow
|
||
(mixiaojiong).
|
||
* Fix potential segfault in Redis Cluster session storage (Sergei Lomakov)
|
||
[cc15aae]
|
||
* Fixed memory leak in discard function [17b1f427]
|
||
* Sanity check for igbinary unserialization (Maurus Cuelenaere) [3266b222,
|
||
5528297a]
|
||
* Fix segfault occurring from unclosed socket connection for Redis Cluster
|
||
(CatKang) [04196aee]
|
||
* Case insensitive zRangeByScore options
|
||
* Fixed dreaded size_t vs long long compiler warning
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>2.2.7</release>
|
||
<api>2.2.7</api>
|
||
</version>
|
||
<date>2015-03-03</date>
|
||
<notes>
|
||
phpredis 2.2.7
|
||
|
||
-- Improvements ---
|
||
|
||
* Implemented PFADD, PFMERGE, and PFCOUNT command handling
|
||
* Implemented ZRANGEBYLEX command (holding off on ZREVRANGEBYLEX
|
||
as that won't be out until 3.0)
|
||
* Implemented getMode() so clients can detect whether we're in
|
||
ATOMIC/MULTI/PIPELINE mode.
|
||
* Implemented rawCommand() so clients can send arbitrary things to
|
||
the redis server
|
||
* Implemented DEBUG OBJECT (@michael-grunder, @isage)
|
||
* Added/abide by connect timeout for RedisArray
|
||
* Select to the last selected DB when phpredis reconnects
|
||
|
||
-- Fixes ---
|
||
|
||
* Fix a possible invalid free in _serialize
|
||
* Added SAVE and BGSAVE to "distributable" commands for RedisArray
|
||
* @welting -- Fixed invalid "argc" calculation re HLL commands
|
||
* Allow clients to break out of the subscribe loop and return context.
|
||
* Fixes a memory leak in SCAN when OPT_SCAN_RETRY id.
|
||
* @remicollet -- Fix possible segfault when igbinary is enabled.
|
||
* Add a couple of cases where we throw on an error (LOADING/NOAUTH/MASTERDOWN)
|
||
* Fix several issues with serialization NARY
|
||
* @itcom -- Fix missing TSRMLS_CC and a TSRMLS_DC/TSRMLS_CC typo
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>2.2.5</release>
|
||
<api>2.2.5</api>
|
||
</version>
|
||
<date>2014-03-15</date>
|
||
<notes>
|
||
phpredis 2.2.5
|
||
|
||
This is a minor release with several bug fixes as well as additions to support
|
||
new commands that have been introduced to Redis since our last release.
|
||
|
||
A special thanks to everyone who helps the project by commenting on issues and
|
||
submitting pull requests! :)
|
||
|
||
[NEW] Support for the BITPOS command
|
||
[NEW] Connection timeout option for RedisArray (@MikeToString)
|
||
[NEW] A _serialize method, to complement our existing _unserialize method
|
||
[NEW] Support for the PUBSUB command
|
||
[NEW] Support for SCAN, SSCAN, HSCAN, and ZSCAN
|
||
[NEW] Support for the WAIT command
|
||
|
||
[FIX] Handle the COPY and REPLACE arguments for the MIGRATE command
|
||
|
||
[DOC] Fix syntax error in documentation for the SET command (@mithunsatheesh)
|
||
[DOC] Homebrew documentation instructions (@mathias)
|
||
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>2.2.4</release>
|
||
<api>2.2.4</api>
|
||
</version>
|
||
<date>2013-09-01</date>
|
||
<notes>
|
||
**
|
||
** Features / Improvements
|
||
**
|
||
|
||
* Randomized reconnect delay for RedisArray @mobli
|
||
This feature adds an optional parameter when constructing a RedisArray object
|
||
such that a random delay will be introduced if reconnections are made,
|
||
mitigating any 'thundering herd' type problems.
|
||
|
||
* Lazy connections to RedisArray servers @mobli
|
||
By default, RedisArray will attempt to connect to each server you pass in
|
||
the ring on construction. This feature lets you specify that you would
|
||
rather have RedisArray only attempt a connection when it needs to get data
|
||
from a particular node (throughput/performance improvement).
|
||
|
||
* Allow LONG and STRING keys in MGET/MSET
|
||
* Extended SET options for Redis >= 2.6.12
|
||
* Persistent connections and UNIX SOCKET support for RedisArray
|
||
* Allow aggregates for ZUNION/ZINTER without weights @mheijkoop
|
||
* Support for SLOWLOG command
|
||
* Reworked MGET algorithm to run in linear time regardless of key count.
|
||
* Reworked ZINTERSTORE/ZUNIONSTORE algorithm to run in linear time
|
||
|
||
**
|
||
** Bug fixes
|
||
**
|
||
|
||
* C99 Compliance (or rather lack thereof) fix @mobli
|
||
* Added ZEND_ACC_CTOR and ZEND_ACC_DTOR @euskadi31
|
||
* Stop throwing and clearing an exception on connect failure @matmoi
|
||
* Fix a false positive unit test failure having to do with TTL returns
|
||
</notes>
|
||
</release>
|
||
<release>
|
||
<stability>
|
||
<release>stable</release>
|
||
<api>stable</api>
|
||
</stability>
|
||
<version>
|
||
<release>2.2.3</release>
|
||
<api>2.2.3</api>
|
||
</version>
|
||
<date>2013-04-29</date>
|
||
<notes>
|
||
First release to PECL
|
||
</notes>
|
||
</release>
|
||
</changelog>
|
||
</package>
|