1
0
mirror of https://github.com/redis/node-redis.git synced 2025-12-09 21:21:11 +03:00

2309 Commits

Author SHA1 Message Date
kiryazovi-redis
a64134c55f tests: fix flaky timeout assertion in maintenance notification test (#3143)
* Add debug info to assertion messages for root cause analysis

* Fix flaky timeout assertion in maintenance notification test

* Apply same tolerance fix to NORMAL_COMMAND_TIMEOUT assertions
2025-12-05 14:11:48 +02:00
GitHub Action
7c419e03c8 Release redis@5.10.0 redis@5.10.0 2025-11-19 16:28:43 +00:00
GitHub Action
4255467027 Release entraid@5.10.0 entraid@5.10.0 2025-11-19 16:28:37 +00:00
GitHub Action
2820cd0f38 Release time-series@5.10.0 time-series@5.10.0 2025-11-19 16:28:31 +00:00
GitHub Action
a3b8146ffb Release search@5.10.0 search@5.10.0 2025-11-19 16:28:25 +00:00
GitHub Action
5c7dbd292b Release json@5.10.0 json@5.10.0 2025-11-19 16:28:19 +00:00
GitHub Action
bc6892f2a1 Release bloom@5.10.0 bloom@5.10.0 2025-11-19 16:28:13 +00:00
GitHub Action
c7c387a3a0 Release client@5.10.0 client@5.10.0 2025-11-19 16:28:06 +00:00
Nikolay Karadzhov
a245ef4494 fix(xreadgroup): dont parse number props (#3133)
Initially, there was a bug in the server where the two additional props were
returned as string instead of number. This should now be fixed in the GA, so
no need to parse to Number anymore.
2025-11-19 14:16:52 +02:00
Nikolay Karadzhov
ff91ecef81 chore(tests): bump test container version 8.4.0 (#3139) 2025-11-19 13:35:45 +02:00
Nikolay Karadzhov
539780caa8 bump test container version 8.4-GA-pre.3 (#3136)
* bump test container version 8.4-GA-pre.2

* chore(tests): bump test container version 8.4-GA-pre.3
2025-11-18 12:20:23 +02:00
Nikolay Karadzhov
bcf8d2b36b docs: extract supported Redis versions into SUPPORTED_REDIS_VERSIONS.md (#3131) 2025-11-12 11:53:14 +02:00
Nikolay Karadzhov
c9f8cbcad5 chore: mark 8.4 features as experimental (#3134) 2025-11-11 13:03:19 +02:00
Nikolay Karadzhov
f8841c880e fix(socket): prevent false-ready state when socket errors during handshake (#3128)
* fix(socket): prevent false-ready state when socket errors during handshake

Fixes race condition where async socket errors during connection
handshake don't trigger reconnection. Validates socket state after
initiator completes to catch errors swallowed by command handlers.

fixes: #3108

* remove comments
2025-11-10 19:34:26 +02:00
Hristo Temelski
b1c39fe02f fix: Hybrid Search, minor changes, added experimental notice (#3132)
* Hybrid Search, minor changes, added experimental notice

* fixed twot tests
2025-11-10 11:38:45 +02:00
Nikolay Karadzhov
100c0394dc fix(release): bump dist/package.json version (#3125)
Currently, the release process incorrectly leaves the dist/package.json's version
to be the old version. This in turn makes the client setinfo lib-ver command to
send wrong version to redis.
Fix: use the release-it/bumper package to update dist/package.json with the
correct version upon release.

fixes: #3118
2025-11-04 10:25:27 +02:00
Nikolay Karadzhov
568d60dbaa chore(tests): bump test container version 8.4-RC1-pre.2 (#3126) 2025-11-03 17:22:03 +02:00
Trofymenko Vladyslav
dae47b4820 feat(client): add latency histogram (#3099)
* add latency histogram command, tests (##1955)
2025-11-03 14:05:58 +02:00
Pavel Pashov
38bfaa7c90 feat(client): add msetex command and tests for it (#3116) 2025-11-03 13:53:18 +02:00
Pavel Pashov
2fdb6def45 feat(client): add CAS/CAD, DELEX, DIGEST support (#3123)
* feat: add digest command and tests

* feat: add delex command and tests

* feat: add more conditional options to SET update tests
2025-11-03 13:53:01 +02:00
Nikolay Karadzhov
5a0a06df69 feat(xreadgroup): add claim attribute (#3122)
* feat(xreadgroup): add claim attribute

the CLAIM attribute can be used to instruct redis to return
PEL ( Pending Entries List ) entries with their respective
deliveries and ms since last delivery

* remove m01 from test matrix

* add jsdoc
2025-11-03 11:59:49 +02:00
Nikolay Karadzhov
130e88d45c chore: proxy improvements (#3121)
* introduce global interceptors

* move proxy stuff to new folder

* implement resp framer

* properly handle request/response and push

* add global interceptor
2025-11-03 11:08:17 +02:00
Hristo Temelski
96a8a847f6 feat(search): add hybrid search command (#3119) 2025-10-31 13:09:04 +02:00
Nikolay Karadzhov
9c9a9732fb chore(tests): bump test container version 8.4-RC1-pre (#3115) 2025-10-30 13:16:56 +02:00
andy-stark-redis
2d5e2bada3 docs: DOC-5841 added index/query doc page examples (#3109) 2025-10-29 10:51:55 +02:00
GitHub Action
57638055dc Release redis@5.9.0 redis@5.9.0 2025-10-23 14:04:24 +00:00
GitHub Action
521460f4d0 Release entraid@5.9.0 entraid@5.9.0 2025-10-23 14:04:17 +00:00
GitHub Action
1e28b95be2 Release time-series@5.9.0 time-series@5.9.0 2025-10-23 14:04:09 +00:00
GitHub Action
cd0de0673c Release search@5.9.0 search@5.9.0 2025-10-23 14:04:01 +00:00
GitHub Action
7f26dfd7ca Release json@5.9.0 json@5.9.0 2025-10-23 14:03:52 +00:00
GitHub Action
f72c46ada9 Release bloom@5.9.0 bloom@5.9.0 2025-10-23 14:03:44 +00:00
GitHub Action
483fd9d16a Release client@5.9.0 client@5.9.0 2025-10-23 14:03:35 +00:00
Bobby I.
51bd5b0a25 Update comments for DefaultAzureCredential usage
Clarify comments regarding the use of DefaultAzureCredential in the EntraIdCredentialsProviderFactory.
2025-10-23 13:52:34 +03:00
GitHub Action
e6025b19f3 Release redis@5.9.0-beta.3 redis@5.9.0-beta.3 2025-10-21 14:01:40 +00:00
GitHub Action
9ba5b2b202 Release entraid@5.9.0-beta.3 entraid@5.9.0-beta.3 2025-10-21 14:01:33 +00:00
GitHub Action
4295b6b283 Release time-series@5.9.0-beta.3 time-series@5.9.0-beta.3 2025-10-21 14:01:26 +00:00
GitHub Action
9aa374c68c Release search@5.9.0-beta.3 search@5.9.0-beta.3 2025-10-21 14:01:20 +00:00
GitHub Action
c5444cbb4a Release json@5.9.0-beta.3 json@5.9.0-beta.3 2025-10-21 14:01:13 +00:00
GitHub Action
75e5a0f310 Release bloom@5.9.0-beta.3 bloom@5.9.0-beta.3 2025-10-21 14:01:07 +00:00
GitHub Action
f9d1bc0b18 Release client@5.9.0-beta.3 client@5.9.0-beta.3 2025-10-21 14:01:00 +00:00
Nikolay Karadzhov
b8267c9b82 feat(proxy): implement express style middleware (#3105) 2025-10-21 14:47:37 +03:00
Nikolay Karadzhov
1cda848393 fix(cmd): PUBSUB_NUMSUB return count as number (#3103)
fixes: #3102
2025-10-21 11:37:22 +03:00
Bob Burden III
d7c6544d3a fix: multi-byte character corruption when converting Buffers to strings (#3100)
* add tests for multi-byte character buffer
* support multi-byte characters when decoding buffers

fixes: #2993
2025-10-13 13:19:45 +03:00
Nikolay Karadzhov
96d6445d66 fix(ssubscribe): properly resubscribe in case of shard failover (#3098)
* fix(ssubscribe): properly resubscribe in case of shard failover

1) when RE failover happens, there is a disconnect
2) affected Client reconnects and tries to resubscribe all existing listeners
ISSUE #1: CROSSSLOT Error - client was doing ssubscribe ch1 ch2.. chN which, after the failover could result in CROSSSLOT ( naturally, becasuse now some slots could be owned by other shards )
FIX: send one ssubscribe command per channel instead of one ssubscribe for all channels
ISSUE #2: MOVED Error - some/all of the channels might be moved somewhere else
FIX: 1: Propagate the error to the Cluster. 2: Cluster rediscovers topology.
3: Cluster resubscribes all listeners of the failed client ( possibly some/all of those will end up in a different client after the rediscovery ) 

fixes: #2902
2025-10-13 11:59:08 +03:00
Trofymenko Vladyslav
bd11e382d0 feat: add cluster/node events (#1855) (#3083)
* add cluster/node events
* add test for cluster events positive branch
* add cluster events docs section

fixes: #1855

---------

Co-authored-by: Nikolay Karadzhov <nkaradzhov89@gmail.com>
2025-10-09 16:06:57 +03:00
blackman
d6d8d8e8ed fix(client): export various enum values (#3074)
Certain command parameter enums, specifically ClientKillFilters for the CLIENT KILL command, were not publicly exported by the @redis/client package. The purpose of this change is to make the ClientKillFilters enum accessible to all package consumers, eliminating the need for users to rely on an unstable internal import path.

This matters because it provides a reliable and supported way for developers to use commands that require these enums, improving the package's usability and API stability.

fixes: #2805



Co-authored-by: Nikolay Karadzhov <nkaradzhov89@gmail.com>
2025-10-08 16:47:57 +03:00
Stef Schoonderwoerd
5b63382e6a feat(client): Emit invalidate events from client (#3076)
* add emitInvalidate option

* Add documentation for event

* Re-write emitInvalidate logic

* Fix issues after merge

---------

Co-authored-by: Nikolay Karadzhov <nkaradzhov89@gmail.com>
2025-10-07 12:43:38 +03:00
Nikolay Karadzhov
8a1b4b4091 fix(pool): make createClientPool use provided options (#3095)
fixes: #3094
2025-10-07 12:31:24 +03:00
Nikolay Karadzhov
bab26b08a7 test(maint): touch up wrong assertions (#3096) 2025-10-07 12:26:13 +03:00
Nikolay Karadzhov
adb19c5c5f tests: Adjust scenario tests according to latest maint naming changes (#3090)
* rename maint options according to the latest client options
* adjust env variables
cae repo uses RE_FAULT_INJECTOR_URL for fault injector
DATABASE_NAME is needed to choose from the many databases in cae
* fix connection cleanup test
2025-10-06 18:30:18 +03:00