Skip to content

Releases: redis/ioredis

v5.0.0

26 Mar 04:21
Compare
Choose a tag to compare

5.0.0 (2022-03-26)

In the update of v5, we've made ioredis even more stable and developer-friendly while minimizing the number of breaking changes, so you can spend more time enjoying your life 😄.

Please refer to the guideline to upgrade your projects: 🚀 Upgrading from v4 to v5.

Bug Fixes

  • add @ioredis/interface-generator to dev deps (aa3b3e9)
  • add missing declaration for callBuffer (08c9072)
  • add the missing typing for Redis#call() (747dd30)
  • better support for CJS importing (687d3eb)
  • disable slotsRefreshInterval by default (370fa62)
  • Fix the NOSCRIPT behavior when using pipelines (bc1b168)
  • improve typing for auto pipelining (4e8c567)
  • improve typing for pipeline (d18f3fe)
  • keyPrefix should work with Buffer (6942cec), closes #1486
  • make fields private when possible (d5c2f20)
  • parameter declaration of Redis#duplicate (a29d9c4)
  • pipeline fails when cluster is not ready (af60bb0), closes #1460
  • remove dropBufferSupport option (04e68ac)
  • remove unused Command#isCustomCommand (46ade6b)
  • rename interfaces by dropping prefix I (d1d9dba)
  • Reset loaded script hashes to force a reload of scripts after reconnect of redis (60c2af9)
  • support passing keyPrefix via redisOptions (6b0dc1e)

Features

  • add @since to method comments (13eff8e)
  • add declarations for methods (1e10c95)
  • add tests for cluster (1eba58b)
  • always parse username passed via URI (c6f41f6)
  • drop support of Node.js 10 (f9a5071)
  • drop support of third-party Promise libraries (2001ec6)
  • expose official declarations (7a436b1)
  • improve typings for cluster (06782e6)
  • improve typings for pipeline (334242b)
  • improve typings for smismember (487c3a0)
  • improve typings for transformers (94c1e24)
  • improve typings for xread (96cc335)
  • Pipeline-based script loading (8df6ee2)
  • prepare v5 stable release (#1538) (fe32ce7)
  • Refactor code with modern settings (a8ffa80)
  • skip ready check on NOPERM error (b530a0b), closes #1293
  • support commands added in Redis v7 (53ca412)
  • support defining custom commands via constructor options (f293b97)
  • support Redis Functions introduced in Redis 7.0 (32eb381)

BREAKING CHANGES

  • slotsRefreshInterval is disabled by default,
    previously, the default value was 5000.
  • allowUsernameInURI is removed and ioredis will always
    use the username passed via URI.
    Previously, the username part in new Redis("redis://username:[email protected]:6380/4")
    was ignored unless allowUsernameInURI is specified: new Redis("redis://username:[email protected]:6380/4?allowUsernameInURI=true").
    Now, if you don't want to send username to Redis, just leave the username part empty:
    new Redis("redis://:[email protected]:6380/4")
  • Redis#serverInfo is removed. This field is never documented so
    you very likely have never used it.
  • Support for third-party Promise libraries is dropped. Related methods (exports.Promise = require('bluebird')) are kept but they don't take any effects. The native Promise will always be used.
  • We now require Node.js v12 or newer.
  • Redis can't be called as a function anymore as it's now a class.
    Please change Redis() to new Redis(). Note that Redis() was already deprecated
    in the previous version.

v5.0.0-beta.4

19 Mar 07:57
Compare
Choose a tag to compare
v5.0.0-beta.4 Pre-release
Pre-release

5.0.0-beta.4 (2022-03-19)

Bug Fixes

  • add missing declaration for callBuffer (08c9072)
  • keyPrefix should work with Buffer (6942cec), closes #1486

v5.0.0-beta.3

19 Mar 07:13
Compare
Choose a tag to compare
v5.0.0-beta.3 Pre-release
Pre-release

5.0.0-beta.3 (2022-03-19)

Bug Fixes

  • pipeline fails when cluster is not ready (af60bb0), closes #1460

v5.0.0-beta.2

16 Mar 01:42
Compare
Choose a tag to compare
v5.0.0-beta.2 Pre-release
Pre-release

5.0.0-beta.2 (2022-03-16)

Features

  • improve typings for smismember (487c3a0)
  • improve typings for xread (96cc335)

v5.0.0-beta.1

14 Mar 04:50
Compare
Choose a tag to compare
v5.0.0-beta.1 Pre-release
Pre-release

5.0.0-beta.1 (2022-03-14)

Bug Fixes

  • add @ioredis/interface-generator to dev deps (aa3b3e9)
  • add the missing typing for Redis#call() (747dd30)
  • better support for CJS importing (687d3eb)
  • disable slotsRefreshInterval by default (370fa62)
  • Fix the NOSCRIPT behavior when using pipelines (bc1b168)
  • improve typing for auto pipelining (4e8c567)
  • improve typing for pipeline (d18f3fe)
  • make fields private when possible (d5c2f20)
  • parameter declaration of Redis#duplicate (a29d9c4)
  • remove dropBufferSupport option (04e68ac)
  • remove unused Command#isCustomCommand (46ade6b)
  • rename interfaces by dropping prefix I (d1d9dba)
  • Reset loaded script hashes to force a reload of scripts after reconnect of redis (60c2af9)
  • support passing keyPrefix via redisOptions (6b0dc1e)

Features

  • add @since to method comments (13eff8e)
  • add declarations for methods (1e10c95)
  • add tests for cluster (1eba58b)
  • always parse username passed via URI (c6f41f6)
  • drop support of Node.js 10 (f9a5071)
  • drop support of third-party Promise libraries (2001ec6)
  • expose official declarations (7a436b1)
  • improve typings for cluster (06782e6)
  • improve typings for pipeline (334242b)
  • improve typings for transformers (94c1e24)
  • Pipeline-based script loading (8df6ee2)
  • Refactor code with modern settings (a8ffa80)
  • skip ready check on NOPERM error (b530a0b), closes #1293
  • support commands added in Redis v7 (53ca412)
  • support defining custom commands via constructor options (f293b97)
  • support Redis Functions introduced in Redis 7.0 (32eb381)

BREAKING CHANGES

  • slotsRefreshInterval is disabled by default,
    previously, the default value was 5000.
  • allowUsernameInURI is removed and ioredis will always
    use the username passed via URI.
    Previously, the username part in new Redis("redis://username:[email protected]:6380/4")
    was ignored unless allowUsernameInURI is specified: new Redis("redis://username:[email protected]:6380/4?allowUsernameInURI=true").
    Now, if you don't want to send username to Redis, just leave the username part empty:
    new Redis("redis://:[email protected]:6380/4")
  • Redis#serverInfo is removed. This field is never documented so
    you very likely have never used it.
  • Support for third-party Promise libraries is dropped. Related methods (exports.Promise = require('bluebird')) are kept but they don't take any effects. The native Promise will always be used.
  • We now require Node.js v12 or newer.
  • Redis can't be called as a function anymore as it's now a class.
    Please change Redis() to new Redis(). Note that Redis() was already deprecated
    in the previous version.

v4.28.5

06 Feb 02:29
Compare
Choose a tag to compare

4.28.5 (2022-02-06)

Bug Fixes

  • Reset loaded script hashes to force a reload of scripts after reconnect of redis (#1497) (f357a31)

v4.28.4

02 Feb 12:28
Compare
Choose a tag to compare

4.28.4 (2022-02-02)

Bug Fixes

v4.28.3

11 Jan 14:09
Compare
Choose a tag to compare

4.28.3 (2022-01-11)

Bug Fixes

  • fix exceptions on messages of client side cache (#1479) (02adca4)

v4.28.2

01 Dec 10:37
Compare
Choose a tag to compare

4.28.2 (2021-12-01)

Bug Fixes

v4.28.1

23 Nov 08:26
Compare
Choose a tag to compare

4.28.1 (2021-11-23)

Bug Fixes

  • handle possible unhandled promise rejection with autopipelining+cluster (#1467) (6ad285a), closes #1466