* release-it/bumper
* remove git:false
* fix package ordering
* adjust git add
* fix git config
* adjust git config for all packages
* add noop release script for test-utils
* no need to try to release root
* better way to handle skipping
* pass parameters down
* better version hint
* update node version
* return git arguments from before
* rename release workflow
* rename workflow
* set git.tagMatch
* add link to docs
* update description
* update workspace order in package-lock
* fix secondary releases
release-it/bumper was removing the ^ before the peerDep to client
npm is not happy with that. one potential fix would be to bump all
packages together as a prestep and then proceed without bupming again.
for now, this fix should bring us to the previous state ( what was used
in the manual process )
* require clean working dir in root
* remove root release-it config
not needed
* (docs) bloom: add jsdocs for all commands
* (docs) json: add jsdocs
* (docs) search: add jsdocs for all commands
* (docs) jsdocs for std commands
* (docs) jsdoc comments to time series commands
* fix: fix various command import issues
there was some sort of a circular dependency
in <module>/lib/commands/index.ts for various modules
fixes#2937fixes#2941
* remove redundant definition
* 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
* Parser support with all commands
* remove "dist" from all imports for consistency
* address most of my review comments
* small tweak to multi type mapping handling
* tweak multi commands / fix addScript cases
* nits
* addressed all in person review comments
* revert addCommand/addScript changes to multi-commands
addCommand needs to be there for sendCommand like ability within a multi.
If its there, it might as well be used by createCommand() et al, to avoid repeating code.
addScript is there (even though only used once), but now made private to keep the logic for bookkeeping near each other.
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
* Support JSON.MERGE Command
* test only 2.6+ ReJson version
* test on edge
* review
* Update test-utils.ts
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* Added MSET command
MSET command added. Requires all keys to have the same JSON Path, which might fit most use cases, but is a limitation. Optionally we could make the path an array as well to support all use cases.
* change JSON.MSET signature, add to json command object, fix tests
* its `item.value`, not `item.json`..
* Update MSET.ts
Removed unused RedisCommandArguments
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* 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: loop over arguments instead of spreading
* update to use concat
* use the returned array from pushVerdictArguments (instead of assuming it'll push to the original array)
* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'."
* fix "Argument of type 'RedisCommandArgument | RedisCommandArguments[]' is not assignable to parameter of type 'RedisCommandArgument | RedisCommandArgument[]'"
* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'"
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>