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

2216 Commits

Author SHA1 Message Date
Nikolay Karadzhov
e347d566cb fix(sentinel): properly pass reconnectStrategy (#3063)
Properly pass reconnectStrategy to master/replica nodes.
Before that strategies passed in the nodeClientOptions.socket
object were ignored.

fixes #3061
2025-08-20 11:11:34 +03:00
Nikolay Karadzhov
d5423b93d6 chore(tests): bump test container version 8.2.1-pre (#3057) 2025-08-18 11:32:41 +03:00
Manuel Spigolon
ed6aca7d03 fix(ts): xtrim threshold accepts string (#3058)
* fix(ts): xtrim threshold accepts string

* test: check MINID with text id
2025-08-18 11:22:44 +03:00
Nathan Friedly
fceb60968e docs: Call out sendCommand cluster difference in readme (#3054)
A followup to https://github.com/redis/node-redis/pull/3053
2025-08-14 10:49:05 +03:00
Arek W
82847fb92c fix: Stop erasing ErrorReply stack (#3050)
It was very difficult to debug `ErrorReply` errors due to `error.stack` being erased.
Given this restores standard JS Error behaviour, I have not added any tests.
2025-08-14 10:42:36 +03:00
Nathan Friedly
746e9b184b docs: Clustering sendCommand docs (#3053)
We noticed that `sendCommand()` takes different arguments for clusters vs clients, and I wanted to document the differences. I think I got it correct, but please review closely just to be sure.
2025-08-13 22:26:14 +03:00
GitHub Action
cafdc63459 Release redis@5.8.1 redis@5.8.1 2025-08-13 06:22:51 +00:00
GitHub Action
4e5e31dc55 Release entraid@5.8.1 entraid@5.8.1 2025-08-13 06:22:45 +00:00
GitHub Action
c0e6c78873 Release time-series@5.8.1 time-series@5.8.1 2025-08-13 06:22:39 +00:00
GitHub Action
603fa71fe1 Release search@5.8.1 search@5.8.1 2025-08-13 06:22:33 +00:00
GitHub Action
80c3dd3dc2 Release json@5.8.1 json@5.8.1 2025-08-13 06:22:27 +00:00
GitHub Action
4900d2b2ad Release bloom@5.8.1 bloom@5.8.1 2025-08-13 06:22:21 +00:00
GitHub Action
883375cf4d Release client@5.8.1 client@5.8.1 2025-08-13 06:22:15 +00:00
Pavel Pashov
68cebf7f6e fix: parse database from Redis URL (#3052) 2025-08-13 08:51:30 +03:00
Nikolay Karadzhov
2f10632450 fix(commands): expire, expireAt are not readonly (#3045)
fixes #3044
2025-08-06 09:50:19 +03:00
Nikolay Karadzhov
6406172ea8 chore(tests): bump test container version 8.2 (#3046) 2025-08-06 09:49:52 +03:00
GitHub Action
12f7d8a7fe Release redis@5.8.0 redis@5.8.0 2025-08-05 09:58:40 +00:00
GitHub Action
0916d33b12 Release entraid@5.8.0 entraid@5.8.0 2025-08-05 09:58:32 +00:00
GitHub Action
4b6a3d1c39 Release time-series@5.8.0 time-series@5.8.0 2025-08-05 09:58:25 +00:00
GitHub Action
1436a6e304 Release search@5.8.0 search@5.8.0 2025-08-05 09:58:17 +00:00
GitHub Action
cf16f8b790 Release json@5.8.0 json@5.8.0 2025-08-05 09:58:10 +00:00
GitHub Action
42ec771151 Release bloom@5.8.0 bloom@5.8.0 2025-08-05 09:58:03 +00:00
GitHub Action
de5e916e05 Release client@5.8.0 client@5.8.0 2025-08-05 09:57:55 +00:00
Igor Loskutov
0f709d01c5 fix: createClient url+tls invariant violation check (#2835) 2025-08-05 10:12:10 +03:00
Pavel Pashov
66638fc903 Add support svs vamana index creation (#3025)
* feat(search): add SVS-VAMANA vector index algorithm support

- Add VAMANA algorithm with compression and tuning parameters
- Include comprehensive test coverage for various configurations
- Fix parameter validation to handle falsy values correctly

* feat(search): add additional VAMANA compression algorithms

- Add LVQ4, LVQ4x4, LVQ4x8, LeanVec4x8, and LeanVec8x8 compression options
- Update test to use LeanVec4x8 compression algorithm

* chore: update Redis version from 8.2-rc1 to 8.2-rc2-pre
2025-08-04 12:07:18 +03:00
GitHub Action
e2d4b43e39 Release redis@5.7.0 redis@5.7.0 2025-07-31 13:39:49 +00:00
GitHub Action
c75809ec65 Release entraid@5.7.0 entraid@5.7.0 2025-07-31 13:39:41 +00:00
GitHub Action
fa3ca983a3 Release time-series@5.7.0 time-series@5.7.0 2025-07-31 13:39:34 +00:00
GitHub Action
f37f98aced Release search@5.7.0 search@5.7.0 2025-07-31 13:39:26 +00:00
GitHub Action
b5cf002751 Release json@5.7.0 json@5.7.0 2025-07-31 13:39:18 +00:00
GitHub Action
69fa907843 Release bloom@5.7.0 bloom@5.7.0 2025-07-31 13:39:11 +00:00
GitHub Action
facc91847e Release client@5.7.0 client@5.7.0 2025-07-31 13:39:03 +00:00
Pavel Pashov
5f09e4a8a5 feat: add EPSILON parameter support to VSIM command (#3041) 2025-07-31 15:11:51 +03:00
Nikolay Karadzhov
d8e14fa4fe fix(scan): remove console.logs (#3038)
fixes #3037
2025-07-28 14:54:50 +03:00
andy-stark-redis
28d719d699 docs: DOC-5074 added vector set doc examples (#3031) 2025-07-25 18:01:05 +03:00
andy-stark-redis
c2dc73c5d8 docs: DOC-5473 added time series doc examples (#3030) 2025-07-25 18:00:46 +03:00
Pavel Pashov
d941ec5a4c Add Redis 8.2 New Stream Commands (#3029)
* chore: update Redis version from 8.2-RC1-pre to 8.2-rc1

* feat: implement XDELEX command for Redis 8.2

* feat: implement XACKDEL command for Redis 8.2

* refactor: create shared stream deletion types
  for Redis 8.2 commands

* feat: add Redis 8.2 deletion policies to XTRIM
  command

* feat: add Redis 8.2 deletion policies to XADD commands

* fix: correct XDELEX command method name and test parameter
2025-07-25 17:58:28 +03:00
Pavel Pashov
ff8319d2d7 fix(pool): chain promise handlers to prevent unhandled rejections (#3035) 2025-07-25 16:39:32 +03:00
GitHub Action
e96db0d13c Release redis@5.6.1 redis@5.6.1 2025-07-23 15:53:25 +00:00
GitHub Action
3365920470 Release entraid@5.6.1 entraid@5.6.1 2025-07-23 15:53:19 +00:00
GitHub Action
3c4defda0b Release time-series@5.6.1 time-series@5.6.1 2025-07-23 15:53:11 +00:00
GitHub Action
726e2c7c64 Release search@5.6.1 search@5.6.1 2025-07-23 15:53:04 +00:00
GitHub Action
fc5ff18875 Release json@5.6.1 json@5.6.1 2025-07-23 15:52:56 +00:00
GitHub Action
945b77af16 Release bloom@5.6.1 bloom@5.6.1 2025-07-23 15:52:49 +00:00
GitHub Action
1c266371a3 Release client@5.6.1 client@5.6.1 2025-07-23 15:52:42 +00:00
Bobby I.
4ae14bb558 Add Redis transparent proxy test utilities (#3019) 2025-07-23 18:21:13 +03:00
Pavel Pashov
0541b32f34 docs: Update doctests (#3020)
* move all doctests from emb-examples branch

* fix readme

* add package-lock.json

* --wip-- [skip ci]

* fix: replace client.quit() with client.close() as quit is deprecated

- doctests/cmds-hash.js
- doctests/cmds-list.js
- doctests/cmds-servermgmt.js
- doctests/cmds-set.js

* fix: replace client.quit() with client.close() as quit is deprecated

- doctests/cmds-sorted-set.js
- doctests/cmds-string.js
- doctests/dt-bitfield.js
- doctests/dt-bitmap.js

* fix: replace client.quit() with client.close() as quit is deprecated

- dt-bloom.js: replace client.quit() with client.close()
- dt-cms.js: replace client.quit() with client.close()
- dt-cuckoo.js: replace client.quit() with client.close() and update expected output comments to reflect v5 boolean returns
- dt-geo.js: replace client.quit() with client.close()

* fix(doctests): correct pfAdd return values and replace quit with close

- Fix dt-hll.js: pfAdd returns 1 instead of true in comments and assertions
- Fix dt-hash.js and dt-hll.js: replace deprecated client.quit() with client.close()

* fix(doctests): correct API usage and return values in json and list examples

- Fix dt-json.js: use options object for json.type, json.strLen, json.del, json.arrPop, json.objLen, json.objKeys
- Fix dt-json.js: correct json.del return value from [1] to 1
- Fix dt-list.js: correct client initialization, return values (null, OK, 1), and error type
- Replace deprecated client.quit() with client.close() in both files

* fix(doctests): update dt-set.js and dt-ss.js for v5 compliance

- Updated boolean return values to numbers for SISMEMBER and SMISMEMBER commands
- Fixed client lifecycle to use client.close() instead of client.quit()
- Removed unnecessary await from createClient()
- Added order-independent assertions for set operations
- Removed debug statement

* fix(doctests): update deprecated methods and imports for v5 compliance

- Fix dt-string.js: remove await from client creation and replace client.quit() with client.close()
- Fix dt-tdigest.js: replace deprecated client.quit() with client.close()
- Fix dt-topk.js: replace client.quit() with client.close() and fix output comment from [1, 0] to [true, false]
- Fix query-agg.js: update @redis/search imports to use new constant names and replace client.disconnect() with client.close()

* fix(doctests): update imports and replace deprecated disconnect with close

- Replace SchemaFieldTypes/VectorAlgorithms with SCHEMA_FIELD_TYPE/SCHEMA_VECTOR_FIELD_ALGORITHM
- Replace client.disconnect() with client.close() for consistent deprecation handling
- Update query-combined.js, query-em.js, query-ft.js, and query-geo.js

* fix(doctests): update imports and replace deprecated methods in remaining files

- Update imports to use SCHEMA_FIELD_TYPE and SCHEMA_VECTOR_FIELD_ALGORITHM constants
- Replace deprecated disconnect() and quit() methods with close()
- Fix assertion in search-quickstart.js to use correct bicycle ID

* fix(doctests): update cmds-generic.js and cmds-cnxmgmt.js for v5 compliance

- Replace deprecated client.quit() with client.close()
- Update sScanIterator to use collection-yielding behavior (value -> values)
- Fix HSCAN API changes: tuples renamed to entries
- Fix cursor type issues: use string '0' instead of number 0 for hScan
- Fix infinite loop in scan cleanup by using do-while pattern

* fix(doctests): update dt-streams.js object shapes and parameters for v5 compliance

- Update stream result objects from tuple format to proper object format with id/message properties
- Change xRead/xReadGroup results from nested arrays to objects with name/messages structure
- Update xAutoClaim results to use nextId, messages, and deletedMessages properties
- Add missing properties to xInfo* results (max-deleted-entry-id, entries-added, recorded-first-entry-id, entries-read, lag, inactive)
- Modernize parameter names (count -> COUNT, block -> BLOCK, etc.)
- Update MAXLEN/APPROXIMATE options to new TRIM object structure
- Fix error message format for XADD duplicate ID error
- Update boolean return values (True -> OK)

---------

Co-authored-by: Nikolay Karadzhov <nkaradzhov89@gmail.com>
2025-07-23 18:16:08 +03:00
Nikolay Karadzhov
ddd2cc5185 fix(client): export RedisJSON type (#3026)
fixes #3014
2025-07-23 13:41:30 +03:00
Nikolay Karadzhov
539fe52236 fix(client): make socket.host not required (#3024)
Underlying node tls.ConnectionOptions does not require host,
so we shouldnt as well. Further, if `url` is provided in
the upper level config, it takes precedence, which could be misleading:

createClient({
  url: 'rediss://user:secret@localhost:6379/0',
  socket: {
    tls: true,
    host: 'somehost' <-- this gets overwritten to `localhost`
  }
});

fixes #3023
2025-07-21 18:17:07 +03:00
Nikolay Karadzhov
c21dd924fe fix(search): adjust field types for ft.search (#3018)
In ft.search SORTBY, SUMMARIZE and HIGHLIGHT all take
string arguments and do not need @ or $ as a prefix.
In fact, if you put @ or $ there, redis returns error like this:

[SimpleError: Property `@age` not loaded nor in schema]

fixes #3017
2025-07-17 14:02:22 +03:00