* 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
Private class fields (e.g., #execute) cause runtime errors when accessed from contexts where `this` is not the exact instance, triggering “Receiver must be an instance of class RedisCluster”.
fixes#2967
As per the documentation (https://redis.io/docs/latest/commands/client-setinfo):
Client libraries are expected to pipeline this command after authentication on all connections and ignore failures since they could be connected to an older version that doesn't support them.
Turns out different versions of redis server return different errors, so its better to catch all.
fixes#2968
The maximum duration (in milliseconds) that the socket can remain idle (i.e., with no data sent or received) before being automatically closed. Default reconnectionStrategy will ignore the new SocketTimeoutError, but users are allowed to have custom strategies wich handle those errors in different ways
* CSC POC ontop of Parser
* add csc file that weren't merged after patch
* address review comments
* nits to try and fix github
* last change from review
* Update client-side cache and improve documentation
* Add client side caching RESP3 validation
* Add documentation for RESP and unstableResp3 options
* Add comprehensive cache statistics
The `CacheStats` class provides detailed metrics like hit/miss counts,
load success/failure counts, total load time, and eviction counts.
It also offers derived metrics such as hit/miss rates, load failure rate,
and average load penalty. The design is inspired by Caffeine.
`BasicClientSideCache` now uses a `StatsCounter` to accumulate these
statistics, exposed via a new `stats()` method. The previous
`cacheHits()` and `cacheMisses()` methods have been removed.
A `recordStats` option (default: true) in `ClientSideCacheConfig`
allows disabling statistics collection.
---------
Co-authored-by: Shaya Potter <shaya@redislabs.com>
* fix(client): cache subsequent clients
we dont need to recreate a client if
its config hasnt changed
fixes#2954
* handle circular structures
* make cache generic
> FT.AGGREGATE returns an array reply where each row is an array reply and represents a single aggregate result.
The integer reply at position 1 does not represent a valid value.
https://redis.io/docs/latest/commands/ft.aggregate/#return
> FT.AGGREGATE returns an array reply where each row is an array reply
and represents a single aggregate result.
> The integer reply at position 1 does not represent a valid value.
We now calculate the result length bazed on the number of results
instead of the integer reply at pos 1
* 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
* Export CommandParser from client index file
* Tidy up long export line in client index file
Wrap and sort entries.
* Adapt and fix wrong examples in programmability doc