622 Commits

Author SHA1 Message Date
Till Krüss 2ff20c08bb tag v3.6.0 2026-08-14 16:07:56 -07:00
Vladyslav Vildanov ac3142abfe Added experimental support for HIMPORT bulk hash import feature (#1712)
* Added support for HIMPORT bulk hash import feature

* Fixed pre-server execution registry miutating, added pre-loaded registry feature

* Refactored retry logic to use existing configuration

* Marked feature as experimental

* Remvoed non-ASCII chars

* Ensure IteratorAggregator interface is enforced

* Fixed bug with updateCachableException adds duplicate entries

* Added explicit reconnect for Relay tests

* Testing with custom image

* Removed redundant comment

* Fixed exception handling

* Removed non-ASCII char

* Fixed merged conflict bugs
2026-08-10 10:54:34 +03:00
Róbert Kelčák 0bf4ba1c9f Added OBJECT and hash field expiration commands to ClusterStrategy (#1711)
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
2026-08-05 11:57:53 +03:00
Vladyslav Vildanov b1e2a26e7f Added support for MAXCOUNT and MAXSIZE arguments for XREAD and XREADGROUP (#1701)
* Added support for MAXCOUNT and MAXSIZE arguments for XREAD and XREADGROUP

* Improve deprecation, by introducing deprecated real methods

* Renamed from XREAD_NEW to XREAD_V4
2026-07-24 10:56:14 +03:00
Róbert Kelčák bb5ca97854 Added vector sets commands to ClusterStrategy (#1710) 2026-07-23 09:47:49 +03:00
Róbert Kelčák c9494ab124 Added stream commands to ClusterStrategy (#1708)
* Added stream commands to ClusterStrategy

* Fix edge case for XREADGROUP

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix merge conflict

---------

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-22 12:26:19 +03:00
Vladyslav Vildanov 422990b631 Added support for LMOVEM and BLMOVEM commands (#1709)
* Added support for LMOVEM and BLMOVEM commands

* Removed background testing

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-22 10:01:21 +03:00
Vladyslav Vildanov bc08b36094 Added support for TS.QUERYLABELS command (#1706) 2026-07-21 11:20:07 +03:00
Vladyslav Vildanov 96c634ef90 Added support for FT.ALIASLIST command (#1705) 2026-07-21 11:00:18 +03:00
Vladyslav Vildanov bc406c7f55 Added support for EXCLUDEEMPTY argument for TS.MRANGE and TS.MREVRANGE commands (#1704) 2026-07-21 10:59:59 +03:00
Vladyslav Vildanov b1e40f4250 Added support for TS.READ command (#1702)
* Added support for TS.READ command

* Added more testing and cluster support
2026-07-20 10:27:43 +03:00
Vladyslav Vildanov 9302204964 Added support for SDIFFCARD and SUNIONCARD command (#1700)
* Added support for SDIFFCARD and SUNIONCARD command

* Fixed broken test

* Fixed failing tests
2026-07-17 10:36:00 +03:00
Vladyslav Vildanov d7bc1c4748 Added support for new COLLECT reducer for FT.AGGREGATE (#1699)
* Added support for new COLLECT reducer for FT.AGGREGATE

* Added tests cleanup

* Updated CHANGELOG.md
2026-07-15 11:26:23 +03:00
Kyle f97b473fe1 Fix annotation of cmsincrby (#1698) 2026-07-06 07:05:02 -07:00
Vladyslav Vildanov efb3958fb7 Added support for new TS commands + Indonesian language support integration test (#1695)
* Added support for new TS commands

* Fixed version constraints

* Codestyle fixes

* Remvoed TS.BGET command
2026-06-25 21:11:59 +03:00
Vladyslav Vildanov 09b8ce59dd Fixed Sentinel does not wipe servers on exception caused (#1694) 2026-06-22 10:55:28 -07:00
Vladyslav Vildanov b6b7f0d4e0 Make ZMSCORE command Prefixable and add to a ClusterStrategy (#1692)
* Make ZMSCORE command Prefixable and add to a ClusterStrategy

* Updated CHANGELOG.md

* Codestyle fixes
2026-06-18 17:50:20 +03:00
Copilot d55b3072fa Correct pack/unpack PHPDoc types, clean up UNLINK test typing (#1689) 2026-06-15 10:32:18 -07:00
Till Krüss 5c996db191 tag v3.5.1 2026-06-11 09:56:53 -07:00
Adrian Brajkovic fc345603a4 Fix UNLINK missing single-array argument normalization (#1687)
* Allow  to accept an array of keys as a single argument

* fix signature

* update changelog
2026-06-11 11:01:07 +03:00
Vladyslav Vildanov 98180048d0 Expose pipeline API via ClientInterface (#1686)
* Expose pipeline API via ClientInterface

* Updated CHANGELOG.md

* move @method

---------

Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com>
2026-06-10 10:48:49 +03:00
Till Krüss 8cc4319c06 Prepare 3.5.0 (#1682) 2026-06-02 12:25:56 -07:00
Vladyslav Vildanov 135b405eae Added support for UNLINK command (#1680) 2026-06-02 09:28:57 -07:00
Vladyslav Vildanov 37ed2dcd77 Updated INCREX arguments (#1677)
* Updated INCREX command arguments

* Updated test image

* Updated CHANGELOG.md

* Updated test image
2026-05-22 12:17:15 +03:00
Vladyslav Vildanov d6f91964e0 Added support for new array commands (#1672)
* Added support for new array commands

* Updated test image, fixed tests

* Updated CHANGELOG.md

* Removed ARLASTITEMS from ClusterStrategy testing

* Fixed broken tests

* Fixed broken test

* Updated 8.8-RC1 image

* Fixed Vector Set tests
2026-05-19 12:19:46 +03:00
Vladyslav Vildanov afc8035491 Revert GCRA command support (#1673)
* Revert GCRA command support

* Updated test image

* Fixed flacky test
2026-05-19 11:36:42 +03:00
Vladyslav Vildanov b2d1397fc6 Fixed SENTINEL SLAVES RESP3 incompatible response (#1676)
* Fixed SENTINEL SLAVES RESP3 incompatible response

* Updated CHANGELOG.md

* Revert relay-incompatible annotations
2026-05-14 09:56:32 +03:00
Vladyslav Vildanov f12e6694b5 Added support for INCREX command (#1674)
* Added support for INCREX command

* Fixed RESP2 and RESP3 incompatibility

* Removed non-printable characters

* Codestyle fixes
2026-05-13 11:11:07 +03:00
Vladyslav Vildanov 52286f8164 Added support for multiple aggregators for TS range commands (#1670)
* Added support for multiple aggregators for TS range commands

* Updated CHANGELOG.md
2026-04-23 10:26:00 +03:00
Vladyslav Vildanov 6c3909e675 Added new COUNT aggregator for Sorted Set commands (#1668)
* Added test coverage with new COUNT aggregator

* Updated CHANGELOG.md

* Changed version constraint

* Fixed broken test

* Marked as relay-resp3
2026-04-22 10:47:00 +03:00
Vladyslav Vildanov 622f4df2b6 Added XNACK support (#1666)
* Renamed GCRA parameters to match latest API

* Added support for XNACK command

* Updated test image

* Updated test image

* Updated version requirements

* Fixed broken test

* Updated CHANGELOG.md

* Updated CHANGELOG.md
2026-04-22 10:30:57 +03:00
Vladyslav Vildanov ae4a706b01 Fixed Sentinel retry to narrow retryable exceptions to CommunicationException (#1665)
* Fixed Sentinel retry to narrow retryable exceptions to CommunicationException

* Update CHANGELOG.md
2026-04-20 10:10:15 +03:00
Vladyslav Vildanov 54bb300931 Updated arguments name for GCRA command (#1667)
* Renamed GCRA parameters to match latest API

* Updated test image

* Updated version requirements

* Fixed broken test

* Updated CHANGELOG.md
2026-04-20 10:09:34 +03:00
Vladyslav Vildanov 5024c7a662 Fixed ZRANGE to include 6.2 arguments (#1662)
* Fixed ZRANGE to include 6.2 arguments

* Removed duplicated arguments entry
2026-04-06 10:59:15 +03:00
Vladyslav Vildanov 3fc01fed58 Added FPHA argument for JSON.SET command (#1661) 2026-04-03 18:50:19 +09:00
messikiller 4c56d5d290 Fix SlotMap::offsetUnset() corrupting mappings when unsetting a slot in a gap (#1660) 2026-03-25 18:36:01 +09:00
Vladyslav Vildanov 7a4fa99d13 Added support for GCRA command (#1657)
* Added support for GCRA command

* Codestyle fixes

* Updated test image
2026-03-24 13:50:23 +02:00
Kevin Rojas bb37322a24 Handle -READONLY as a redirection signal for Redis Cluster (AWS ElastiCache support) (#1656)
* feature: Added support for READONLY responses from AWS Elastic Cache

* chore: improve -READONLY handler comment and add changelog entry (#1656)

* tests: add unit test demonstrating ServerException behavior with READONLY error
2026-03-23 09:00:26 +02:00
Copilot 1c4219cf88 Include command name in unsupported container command error messages (#1654)
Co-authored-by: tillkruss <665029+tillkruss@users.noreply.github.com>
2026-03-18 10:09:30 +09:00
Till Krüss 383623eb05 bump dev version 2026-03-09 13:34:39 -07:00
Till Krüss 2033429520 tag v3.4.2 2026-03-09 13:33:04 -07:00
Till Krüss 87390e7381 Use static closures (#1652) 2026-03-09 13:30:46 -07:00
Vasil Chomakov 7388d91153 Add upstream_driver option for CLIENT SETINFO upstream reporting (#1645)
* Add driver_info option for CLIENT SETINFO upstream reporting

* Use null default for upstreamDriver and ternary operator

* Remove redundant null initialization

* fix: remove trailing newline from VERSION file

* fix: update copyright year to 2026 in DriverInfo files

* refactor: rename driver_info to upstream_driver

* fix: code style issues

* docs: update CHANGELOG to reflect upstream_driver rename
2026-03-05 17:05:02 +02:00
Wolfgang Kerschbaumer d0f6671a60 Fix sentinel discovery methods not catching StreamInitException (#1650)
* Fix sentinel discovery methods not catching StreamInitException

The getMaster(), getSlaves(), and updateSentinels() methods only catch
ConnectionException when connecting to Sentinel nodes. StreamInitException
(thrown by stream_socket_client() failures) extends PredisException directly,
not ConnectionException, so it propagates uncaught — preventing fallback to
the next Sentinel node.

This causes complete application failure when any single Sentinel is
unreachable, even if other Sentinels are healthy.

Add StreamInitException to the catch clause using a union type in all three
methods. This is more precise than catching PredisException, which would
also swallow ServerException (e.g. "ERR No such master with that name")
and mask configuration errors.

See also #1577 which applied a similar fix to retryCommandOnFailure().

* Fix coding standards and add changelog entry

- Remove spaces around | in union catch (php-cs-fixer)
- Add CHANGELOG.md entry for #1650

* Codestlye fixes

---------

Co-authored-by: Wolfgang Kerschbaumer <wolfgang.kerschbaumer@bergfex.at>
Co-authored-by: vladvildanov <vladyslav.vildanov@redis.com>
2026-03-05 17:01:40 +02:00
Vladyslav Vildanov 274cb866bd Fixed Sentinel getParameters() executed on string configuration (#1649) 2026-02-26 11:01:54 -08:00
Till Krüss 0850f2f36e Prepare v3.4.1 release (#1647) 2026-02-23 11:51:21 -08:00
Till Krüss 581c5659bd update year in headers 2026-02-23 11:48:06 -08:00
predakanga 4a5be21d62 Make LMPOP and BLMPOP commands prefixable (#1646)
* Make LMPOP and BLMPOP commands prefixable

* Update CHANGELOG
2026-02-23 10:31:19 +02:00
Thomas Stägemann 7fd23dbcb9 Removed static from callables because it's deprecated since PHP 8.2 (#1642) 2026-02-20 11:05:12 +02:00
Amir Hossein Shokri dd0713b515 Fix typo (#1640) 2026-02-17 09:12:43 -08:00