Commit Graph

716 Commits

Author SHA1 Message Date
Midhun Monachan ed2ddeede5 Fix client iteration with master/slave and Sentinel replication (#1730)
* Fix client iteration with master/slave replication

* Fix client iteration with Sentinel replication

---------

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
2026-09-30 10:57:38 +03:00
Vladyslav Vildanov 4082600075 Added optional CELL_SIZE argument for CMS.INITBYDIM and CMS.INITBYPROB (#1729) 2026-09-29 11:31:27 -07:00
Vladyslav Vildanov 3edc442e55 Fixed CRLF command smuggling and node misrouting in AbstractAggregateConnection::write() and CommandInterface::deserializeCommand() (#1728)
* Fixed CRLF command injection / smuggling in AbstractAggregateConnection::write()

* Revert "Fixed CRLF command injection / smuggling in AbstractAggregateConnection::write()"

This reverts commit a4720b03ee.

* Fixed CRLF command smuggling and node misrouting in AbstractAggregateConnection::write() and CommandInterface::deserializeCommand()

* Revert change
2026-09-16 10:01:26 +03:00
Vladyslav Vildanov 37490865cc Fixed Stream::write()/read() leaving a dead connection when a host error handler throws exception (#1726) 2026-09-14 11:32:59 -07:00
Lazizbek Ergashev e7b89c14b7 Fixed client_info connection parameter being ignored (#1722)
* Fixed `client_info` connection parameter being ignored
* Documented the default value of the `client_info` parameter
2026-09-10 15:24:31 -07:00
Sergey Sannikov 675951360f Fix RESP3 double parsing returning positive INF for -inf (#1716)
parseDouble() returned positive INF for the RESP3 payload ',-inf',
inverting the sign. The value is reachable with protocol=3, for
example ZSCORE on a member whose score is -inf.

The existing infinity test asserted only is_infinite(), which cannot
detect the sign inversion, so it now checks exact values.

NaN payloads keep their current behavior; that is addressed
separately.
2026-08-27 16:46:39 +03: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 eafa3ff2bf Added testing for HNSW vector type with RERANK argument (#1707) 2026-07-21 11:20: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 66ce62657d Added explicit testing for FT.SEARCH timeout policies (#1703)
* Added explicit testing for FT.SEARCH timeout policies

* Fixed assertion

* Fixed tests
2026-07-20 10:39:17 +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
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
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 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 268449ae69 Added testing for subkey notification channels (#1671)
* Added testing for subkey notification channels

* Updated CHANGELOG.md

* Codestyle fixes

* Added test cleanup

* Added relay-incompatible label
2026-04-29 22:29:28 +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 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
Vladyslav Vildanov 274cb866bd Fixed Sentinel getParameters() executed on string configuration (#1649) 2026-02-26 11:01:54 -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
Vladyslav Vildanov 4b527ba961 Make HTTL and HPTTL commands Prefixable (#1639) 2026-02-17 09:12:12 -08:00
Vladyslav Vildanov 6c9de258be Fixed getParameter() call on array + added integration testing with Sentinel (#1636)
* Fixed getParameter() call on array + added integration testing with Sentinel

* Added sentinel.conf

* Updated CHANGELOG.md

* Added handling of ParametersInterface
2026-02-13 11:30:43 +02:00