1
0
mirror of https://github.com/redis/node-redis.git synced 2025-07-29 18:21:14 +03:00

2183 Commits

Author SHA1 Message Date
b33a662e50 Automate release (#2977)
* 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
2025-06-04 10:52:14 +03:00
20c16e0c2c (docs) add jsdoc comments to command parsers (#2984)
* (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
2025-06-03 14:38:07 +03:00
e4a1ca467f Release redis@5.1.1 redis@5.1.1 2025-05-28 16:31:12 +03:00
d374514309 Updated the Redis package to use client@5.1.1 2025-05-28 16:27:23 +03:00
d4380221c8 Release time-series@5.1.1 time-series@5.1.1 2025-05-28 16:25:56 +03:00
d178b7839a Updated the Timeseries package to use client@5.1.1 2025-05-28 16:25:37 +03:00
13566cf9d6 Release search@5.1.1 search@5.1.1 2025-05-28 16:24:51 +03:00
b2213d8132 Updated the Search package to use client@5.1.1 2025-05-28 16:24:32 +03:00
8c7b384e6b Release json@5.1.1 json@5.1.1 2025-05-28 16:23:31 +03:00
e68b5deb19 Updated the Json package to use client@5.1.1 2025-05-28 16:23:12 +03:00
e4d903ca0c Release entraid@5.1.1 entraid@5.1.1 2025-05-28 16:21:59 +03:00
566b16eb53 Updated the Entraid package to use client@5.1.1 2025-05-28 16:21:25 +03:00
3b03ced4ea Release bloom@5.1.1 bloom@5.1.1 2025-05-28 16:20:11 +03:00
bd6f764d91 Updated the Bloom package to use client@5.1.1 2025-05-28 16:19:30 +03:00
4b939a7bdb Release client@5.1.1 client@5.1.1 2025-05-28 16:16:25 +03:00
708b22f366 docs(readme): replace relative GitHub links with absolute URLs (#2980) 2025-05-28 10:45:37 +03:00
f346bad64e Adapt legacy sentinel tests to use the new test utils (#2976)
* modified legacy sentinel tests

* Adapt legacy sentinel tests to use the new test utils

* modify tmpdir creation

* reduced sentinel config timeouts, removed unneeded comment

---------

Co-authored-by: H. Temelski <hristo.temelski@redis.com>
2025-05-27 14:21:22 +03:00
065eb5e914 fix(json): remove debug console.logs (#2970) 2025-05-22 10:36:52 +03:00
27537b0ab7 fix(cluster): replace native private with _ (#2971)
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
2025-05-22 10:35:16 +03:00
9ea260f0f9 fix(handshake): ignore errors on client.setinfo (#2969)
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
2025-05-21 11:38:29 +03:00
b8acbce213 udpate package-lock.json 2025-05-20 16:22:20 +03:00
ab399a8a22 Release redis@5.1.0 redis@5.1.0 2025-05-20 16:20:35 +03:00
78c6d603f2 Updated the Redis package to use client@5.1.0 2025-05-20 16:17:43 +03:00
8d34ee207e Release time-series@5.1.0 time-series@5.1.0 2025-05-20 16:12:49 +03:00
7fca460305 Updated the Timeseries package to use client@5.1.0 2025-05-20 16:07:45 +03:00
2cc68647fe Release search@5.1.0 search@5.1.0 2025-05-20 16:06:45 +03:00
4bb23283c3 Updated the Search package to use client@5.1.0 2025-05-20 16:05:08 +03:00
a485936a9f Release json@5.1.0 json@5.1.0 2025-05-20 16:03:59 +03:00
a1b41e2dbc Updated the Json package to use client@5.1.0 2025-05-20 16:03:07 +03:00
f2a3c1bf5c Release entraid@5.1.0 entraid@5.1.0 2025-05-20 16:01:52 +03:00
e938bda0d9 Updated the Entraid package to use client@5.1.0 2025-05-20 16:01:04 +03:00
3d53e254d4 Release bloom@5.1.0 bloom@5.1.0 2025-05-20 15:59:14 +03:00
4f7f83478b Updated the Bloom package to use client@5.1.0 2025-05-20 15:57:45 +03:00
00845570ac Release client@5.1.0 client@5.1.0 2025-05-20 15:53:24 +03:00
1294b4b8e0 issue/2956 - document disableClientInfo (#2957)
* issue/2956 - document disableClientInfo

* issue/2956 - remove accidental disableOfflineQueue bold
2025-05-20 15:36:40 +03:00
4a5f879ec9 fix(client): bring disableClientInfo option back (#2959)
* fix(client): bring disableClientInfo option back

It disappeared in v5

fixes #2958
2025-05-20 15:15:09 +03:00
f3d1d3352e feat(client): expose socketTimeout option (#2965)
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
2025-05-20 14:28:15 +03:00
d0a5c4c945 Fix sentinel csc tests (#2966)
Co-authored-by: H. Temelski <hristo.temelski@redis.com>
2025-05-20 11:04:11 +03:00
f01f1014cb Client Side Caching (#2947)
* 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>
2025-05-19 15:11:47 +03:00
6f961bd715 fix(client): cache subsequent clients (#2963)
* 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
2025-05-14 17:23:22 +03:00
ebd03036d6 revert the 'total' count logic in AGGREGATE response introduced in #2952 (#2955)
> 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
2025-05-09 10:13:32 +03:00
5e9fea1fd3 Update Redis version to 8.0.1-pre (#2952)
> 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
2025-05-08 15:14:30 +03:00
bb7845dfe3 Disable readOnly for cluster s/pubsub client (#2950) 2025-05-08 10:29:05 +03:00
86480aaa74 fix cluster.sUnsubscribe - make listener optional (#2946) 2025-05-07 16:11:09 +03:00
73d7ae71cc update package-lock.json (#2943) 2025-05-07 16:10:50 +03:00
7b737821b2 fix: fix various command import issues (#2944)
* fix: fix various command import issues

there was some sort of a circular dependency
in <module>/lib/commands/index.ts for various modules

fixes #2937 fixes #2941

* remove redundant definition
2025-05-07 16:10:35 +03:00
bc4b2101ee Export CommandParser from client index file and fix doc (#2945)
* 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
2025-05-07 16:10:03 +03:00
87b77e3e5f fix(client): add type annotations (#2949)
Fix type parameter for transformTuplesReply in CONFIG_GET and HGETALL commands

fixes #2933
2025-05-07 13:47:23 +03:00
52e5562356 Release redis@5.0.1 redis@5.0.1 2025-05-05 12:28:40 +03:00
fd069641f3 Updated the Redis package to use client@5.0.1 2025-05-05 12:21:02 +03:00