v5.0.0
版本发布时间: 2022-03-26 12:21:25
redis/ioredis最新发布版本:v5.4.1(2024-04-17 23:50:01)
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, theusername
part innew Redis("redis://username:authpassword@127.0.0.1:6380/4")
was ignored unlessallowUsernameInURI
is specified:new Redis("redis://username:authpassword@127.0.0.1:6380/4?allowUsernameInURI=true")
. Now, if you don't want to send username to Redis, just leave the username part empty:new Redis("redis://:authpassword@127.0.0.1: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 changeRedis()
tonew Redis()
. Note thatRedis()
was already deprecated in the previous version.