* fix: handle network error on SETINFO
This fix addresses potential out of order responses as described in `CVE-2025-29923`
* fix: deprecate DisableIndentity and introduce DisableIdentity
Both options will work before V10. In v10 DisableIndentity will be dropped. The preferred flag to use is `DisableIdentity`.
* Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)
* Add UnstableResp3 to docs
* Add RawVal and RawResult to wordlist
* Explain more about SetVal
* Add UnstableResp to wordlist
* Eliminate redundant dial mutex causing unbounded connection queue contention (#3088)
* Eliminate redundant dial mutex causing unbounded connection queue contention
* Dialer connection timeouts unit test
---------
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
* SortByWithCount FTSearchOptions fix (#3201)
* SortByWithCount FTSearchOptions fix
* FTSearch test fix
* Another FTSearch test fix
* Another FTSearch test fix
---------
Co-authored-by: Christopher Golling <Chris.Golling@aexp.com>
* Fix race condition in clusterNodes.Addrs() (#3219)
Resolve a race condition in the clusterNodes.Addrs() method.
Previously, the method returned a reference to a string slice, creating
the potential for concurrent reads by the caller while the slice was
being modified by the garbage collection process.
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
* chore: fix some comments (#3226)
Signed-off-by: zhuhaicity <zhuhai@52it.net>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
* fix(aggregate, search): ft.aggregate bugfixes (#3263)
* fix: rearange args for ft.aggregate
apply should be before any groupby or sortby
* improve test
* wip: add scorer and addscores
* enable all tests
* fix ftsearch with count test
* make linter happy
* Addscores is available in later redisearch releases.
For safety state it is available in redis ce 8
* load an apply seem to break scorer and addscores
* fix: add unstableresp3 to cluster client (#3266)
* fix: add unstableresp3 to cluster client
* propagate unstableresp3
* proper test that will ignore error, but fail if client panics
* add separate test for clusterclient constructor
* fix: flaky ClientKillByFilter test (#3268)
* Reinstate read-only lock on hooks access in dialHook (#3225)
* use limit when limitoffset is zero (#3275)
* remove redis 8 comments
* update package versions
* use latest golangci-lint
* fix(search&aggregate):fix error overwrite and typo #3220 (#3224)
* fix (#3220)
* LOAD has NO AS param(https://redis.io/docs/latest/commands/ft.aggregate/)
* fix typo: WITHCOUT -> WITHCOUNT
* fix (#3220):
* Compatible with known RediSearch issue in test
* fix (#3220)
* fixed the calculation bug of the count of load params
* test should not include special condition
* return errors when they occur
---------
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
* Recognize byte slice for key argument in cluster client hash slot computation (#3049)
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
---------
Signed-off-by: zhuhaicity <zhuhai@52it.net>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
Co-authored-by: LINKIWI <LINKIWI@users.noreply.github.com>
Co-authored-by: Cgol9 <chris.golling@verizon.net>
Co-authored-by: Christopher Golling <Chris.Golling@aexp.com>
Co-authored-by: Shawn Wang <62313353+shawnwgit@users.noreply.github.com>
Co-authored-by: ZhuHaiCheng <zhuhai@52it.net>
Co-authored-by: herodot <54836727+bitsark@users.noreply.github.com>
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
* Support ReJSON resp 2 && Test ReJSON against RESP 2 and 3 && Add complex search and json test
* Remove comments
* Remove unnecessary changes
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
* add support for XREAD last entry
* handle reading from multiple streams
* add test to ensure we block for empty stream
* small tweak
* add an option to XReadArgs instead
* modify test comment
* small preallocation optimization
* Changed argument to generic ID, skip tests on Enterprise
* Fix test case
* Updated expiration command
---------
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: vladvildanov <divinez122@outlook.com>
* Support NOVALUES parameter for HSCAN
Issue #2919
The NOVALUES parameter instructs HSCAN to only return the hash keys,
without values.
* Update hash_commands.go
---------
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
* Added test case for CLIENT KILL with MAXAGE option
* Fixed sleep value
* Added additional condition to kill specific connection
* Test commit
* Test commit
* Updated test case to handle timeouts
---------
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>