1
0
mirror of https://github.com/redis/node-redis.git synced 2025-07-31 05:44:24 +03:00

130 Commits

Author SHA1 Message Date
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
726e2c7c64 Release search@5.6.1 2025-07-23 15:53:04 +00:00
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
ff5c6b3066 Release search@5.6.0 2025-07-08 11:37:44 +00:00
b52177752e feat: added support for new bitop operations (#3001)
refactored bitop tests, covered all operations

updated default docker version on all packages
2025-06-19 13:56:00 +03:00
5d205cf161 chore(tests): bump test container version 8.0.2 (#2997) 2025-06-16 10:20:49 +03:00
c9ecb3d65c Release search@5.5.6 2025-06-06 10:16:17 +03:00
8610a6c836 Updated the Search package to use client@5.5.6 2025-06-06 10:15:45 +03:00
21d8f0e957 docs(search): update SchemaFieldTypes to SCHEMA_FIELD_TYPE for redis@5.x (#2992) 2025-06-06 09:30:07 +03:00
2bb515e489 fix(search): align ft.search with server (#2988)
as per the ft.search docs ( https://redis.io/docs/latest/commands/ft.search ):

    If a relevant key expires while a query is running,
    an attempt to load the key's value will return a null array.
    However, the key is still counted in the total number of results.

So, instead of crashing when seeing a null as a value, we
return empty object.

fixes #2772
see https://github.com/redis/node-redis/pull/2814
2025-06-05 11:46:57 +03:00
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
13566cf9d6 Release 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
2cc68647fe Release 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
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
17179ddb35 Release search@5.0.1 2025-05-05 12:02:20 +03:00
cc13ae298e Updated the Search package to use client@5.0.1 2025-05-05 12:01:39 +03:00
30cecc4b48 Release search@5.0.0 2025-04-30 17:13:28 +03:00
c942f0eb9f Updated the Search package to use client@5.0.0 2025-04-30 17:12:59 +03:00
048df302e4 Fix imports (#2929)
* fix: exports

align exports with v4 as much as possible

* document breaking changes

* export type

return SetOptions export
2025-04-30 14:38:32 +03:00
5295926cc0 bump test container to 8.0-RC2-pre (#2927) 2025-04-29 10:56:38 +03:00
17b3304323 Release search@5.0.0-next.7 2025-03-25 10:31:02 +02:00
c50892a7f7 Updated the search package to use client@5.0.0-next.7 2025-03-25 10:30:08 +02:00
d64072da95 feat(integer 8 vector support): Changed ft create vector types to union, added support for int8/uint8 (#2911)
* [CAE-827] Changed ft create vector types to union, added support for int8/uint8

* [CAE-827] Moved test cases
2025-03-21 11:43:10 +02:00
2ff5cb88d4 tests: Reenable and fix profile aggregate tests (#2910) 2025-03-19 12:18:30 +02:00
a7feb60e0a tests: bumped the version of the 8 docker test image to '8.0-M05-pre' (#2909) 2025-03-18 15:24:11 +02:00
69d507a572 refactor!: redis 8 compatibility improvements and test infrastructure updates (#2893)
* 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
2025-02-27 10:56:58 +02:00
1af01373db feat(search): Set default dialect to 2 for Redis Search commands (#2895)
- The default dialect `DEFAULT_DIALECT`  is now set to '2'
- Automatically append DIALECT parameter to search commands when not explicitly specified
2025-02-17 13:47:12 +02:00
f30926c91a Release search@5.0.0-next.6 2025-01-30 11:13:34 +02:00
153346b9aa Updated the search package to use client@5.0.0-next.6 2025-01-30 11:12:56 +02:00
b835309cf8 fix cross packages imports 2024-11-04 12:21:17 -05:00
4708736f3b new "transform arguments" API for better key and metadata extraction (#2733)
* 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.
2024-10-31 12:16:59 -04:00
d3e720ffbd Release search@5.0.0-next.5 2024-10-15 17:43:16 +02:00
c0a418140e Updated the Search package to use client@5.0.0-next.5 2024-10-15 17:42:24 +02:00
b2d35c5286 V5 bringing RESP3, Sentinel and TypeMapping to node-redis
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
2024-10-15 17:46:52 +03:00
fff7b006c3 Release search@1.2.0 2024-07-29 10:25:26 -04:00
840ec57fb9 small refactor per discussion with leibele (#2801)
* small refactor per discussion with leibele

* move true type to boolean type

* fix geoshape to support NOINDEX & SORTABLE, clean code

* fix for last commit

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
2024-07-29 09:27:53 -04:00
54b3e178f9 add addscores to aggregate search command (#2799)
* add addscores to aggregate search command

* change `true` to `boolean`

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
2024-07-29 09:22:38 -04:00
0e7e2e6e29 add missing fields support to schema (v4) (#2789) 2024-07-17 11:36:45 +03:00
a1bee1caaf add geoshape support (#2788)
copied from what leibele did for v5
2024-07-10 19:45:17 +03:00
a227cb0cef Release search@1.1.6 2023-11-20 13:49:13 -05:00
0ee3278085 chore(search): export languages (#2651) 2023-11-20 13:41:44 -05:00
3862fd2e9f Release search@1.1.5 2023-09-22 07:03:00 -04:00
6cc635cb93 Release search@1.1.4 2023-09-19 17:54:58 -04:00
a217cc1a88 Add support for FT.SEARCH NOCONTENT (#2610)
* Add support for NOCONTENT in FT.SEARCH

* Move support for NOCONTENT search option from client.search to client.searchNoContent

* Add test for SEARCH_NOCONTENT#transformReply

* Fix typo

* Enable test

* Update test field type

---------

Co-authored-by: Leibale <me@leibale.com>
2023-09-18 18:33:17 -04:00
4976231f24 upgrade deps, remove node 14 & 16 from tests matrix 2023-09-18 17:23:01 -04:00
fe74e322dd upgrade deps 2023-08-23 14:53:26 -04:00