* churn(test): use redislabs/client-libs-test for testing
This switches our testing infrastructure from redis/redis-stack to
redislabs/client-libs-test Docker image across all packages. This change
also updates the default Docker version from 7.4.0-v1 to 8.0-M04-pre.
* churn(test): verify CONFIG SET / GET compatibility with Redis 8
- Add tests for Redis 8 search configuration settings
- Deprecate Redis Search CONFIG commands in favor of standard CONFIG
- Test read-only config restrictions for Redis 8
* churn(test): handle Redis 8 coordinate precision in GEOPOS
- Update GEOPOS tests to handle increased precision in Redis 8 (17 decimal places vs 14)
- Add precision-aware coordinate comparison helper
- Add comprehensive test suite for coordinate comparison function
* test(search): adapt SUGGET tests for Redis 8 empty results
- Update tests to expect empty array ([]) instead of null for SUGGET variants
- Affects sugGet, sugGetWithPayloads, sugGetWithScores, and sugGetWithScoresWithPayloads
* test(search): support Redis 8 INFO indexes_all field
- Add indexes_all field introduced in Redis 8 to index definition test
* refactor!(search): simplify PROFILE commands to return raw response
- BREAKING CHANGE: FT.PROFILE now returns raw response, letting users implement their own parsing
* test: improve version-specific test coverage
- Add `testWithClientIfVersionWithinRange` method to run tests for specific Redis versions
- Refactor TestUtils to handle version comparisons more accurately
- Update test utilities across Redis modules to run tests against multiple versions, and not against latest only
RESP3 Support
- Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion.
Sentinel
TypeMapping
Correctly types Multi commands
Note: some API changes to be further documented in v4-to-v5.md
* refactor pubsub, add support for sharded pub sub
* run tests in redis 7 only, fix PUBSUB SHARDCHANNELS test
* add some comments and fix some bugs
* PubSubType, not PubSubTypes 🤦♂️
* remove test.txt
* fix some bugs, add tests
* add some tests
* fix#2345 - allow PING in PubSub mode (remove client side validation)
* remove .only
* revert changes in cluster/index.ts
* fix tests minimum version
* handle server sunsubscribe
* add 'sharded-channel-moved' event to docs, improve the events section in the main README (fix#2302)
* exit "resubscribe" if pubsub not active
* Update commands-queue.ts
* Release client@1.5.0-rc.0
* WIP
* use `node:util` instead of `node:util/types` (to support node 14)
* run PubSub resharding test with Redis 7+
* fix inconsistency in live resharding test
* add some tests
* fix iterateAllNodes when starting from a replica
* fix iterateAllNodes random
* fix slotNodesIterator
* fix slotNodesIterator
* clear pubSubNode when node in use
* wait for all nodes cluster state to be ok before testing
* `cluster.minimizeConections` tests
* `client.reconnectStrategry = false | 0` tests
* sharded pubsub + cluster 🎉
* add minimum version to sharded pubsub tests
* add cluster sharded pubsub live reshard test, use stable dockers for tests, make sure to close pubsub clients when a node disconnects from the cluster
* fix "ssubscribe & sunsubscribe" test
* lock search docker to 2.4.9
* change numberOfMasters default to 2
* use edge for bloom
* add tests
* add back getMasters and getSlotMaster as deprecated functions
* add some tests
* fix reconnect strategy + docs
* sharded pubsub docs
* Update pub-sub.md
* some jsdoc, docs, cluster topology test
* clean pub-sub docs
Co-authored-by: Simon Prickett <simon@redislabs.com>
* reconnect startegy docs and bug fix
Co-authored-by: Simon Prickett <simon@redislabs.com>
* refine jsdoc and some docs
Co-authored-by: Simon Prickett <simon@redislabs.com>
* I'm stupid
* fix cluster topology test
* fix cluster topology test
* Update README.md
* Update clustering.md
* Update pub-sub.md
Co-authored-by: Simon Prickett <simon@redislabs.com>
* fix#1906 - implement BITFIELD_RO
* initial support for redis functions
* fix test utils
* redis functions commands and tests
* upgrade deps
* fix "Property 'uninstall' does not exist on type 'SinonFakeTimers'"
* upgrade dockers version
* Merge branch 'master' of github.com:redis/node-redis into functions
* fix FUNCTION LIST WITHCODE and FUNCTION STATS
* upgrade deps
* set minimum version for FCALL and FCALL_RO
* fix FUNCTION LOAD
* FUNCTION LOAD
* fix FUNCTION LOAD & FUNCTION LIST & FUNCTION LOAD WITHCODE
* fix FUNCTION_LIST_WITHCODE test