node-redis

Changelog

v4.0.2 - 13 Jan, 2022

Fixes

Enhancements

v4.0.1 - 13 Dec, 2021

Fixes

Enhancements

v4.0.0 - 24 Nov, 2021

This version is a major change and refactor, adding modern JavaScript capabilities and multiple breaking changes. See the migration guide for tips on how to upgrade.

Breaking Changes

Features

v3.1.2

Fixes

v3.1.1

Enhancements

Fixes

v3.1.0 - 31 Mar, 2021

Enhancements

v3.0.0 - 09 Feb, 2020

This version is mainly a release to distribute all the unreleased changes on master since 2017 and additionally removes a lot of old deprecated features and old internals in preparation for an upcoming modernization refactor (v4).

Breaking Changes

Bug Fixes

Features

v2.8.0 - 31 Jul, 2017

Features

Bugfixes

v2.7.1 - 14 Mar, 2017

Bugfixes

v2.7.0 - 11 Mar, 2017

Features

Bugfixes

v2.6.5 - 15 Jan, 2017

Bugfixes

v2.6.4 - 12 Jan, 2017

Bugfixes

v2.6.3 - 31 Oct, 2016

Bugfixes

v2.6.2 - 16 Jun, 2016

Bugfixes

v2.6.1 - 02 Jun, 2016

Bugfixes

v2.6.0 - 01 Jun, 2016

In addition to the pre-releases the following changes exist in v.2.6.0:

Features

Bugfixes

Deprecations

v2.6.0-2 - 29 Apr, 2016

Features

Bugfixes

v2.6.0-1 - 01 Apr, 2016

A second pre-release with further fixes. This is likely going to be released as 2.6.0 stable without further changes.

Features

Bugfixes

v2.6.0-0 - 27 Mar, 2016

This is mainly a very important bug fix release with some smaller features.

Features

Bugfixes

The quit command did not end connections earlier if the connection was down at that time and this could have lead to strange situations, therefor this was fixed to end the connection right away in those cases.

v2.5.3 - 21 Mar, 2016

Bugfixes

v2.5.2 - 16 Mar, 2016

Bugfixes

v2.5.1 - 15 Mar, 2016

Bugfixes

v2.5.0 - 15 Mar, 2016

Same changelog as the pre-release

v2.5.0-1 - 07 Mar, 2016

This is a big release with some substantial underlining changes. Therefor this is released as a pre-release and I encourage anyone who’s able to, to test this out.

It took way to long to release this one and the next release cycles will be shorter again.

This release is also going to deprecate a couple things to prepare for a future v.3 (it’ll still take a while to v.3).

Features

Bugfixes

Deprecations

v2.4.2 - 27 Nov, 2015

Bugfixes

v2.4.1 - 25 Nov, 2015

Bugfixes

v2.4.0 - 25 Nov, 2015

Features

Bugfixes

v2.3.1 - 18 Nov, 2015

Bugfixes

v2.3.0 - 30 Oct, 2015

Features

Bugfixes

v2.2.5 - 18 Oct, 2015

Bugfixes

v2.2.4 - 17 Oct, 2015

Bugfixes

v2.2.3 - 14 Oct, 2015

Bugfixes

v2.2.2 - 14 Oct, 2015

Bugfixes

v2.2.1 - 12 Oct, 2015

No code change

v2.2.0 - 12 Oct, 2015 - The peregrino falcon

The peregrino falcon is the fasted bird on earth and this is what this release is all about: Increased performance for heavy usage by up to 400% [sic!] and increased overall performance for any command as well. Please check the benchmarks in the README.md for further details.

Features

Bugfixes

If you do not rely on transactions but want to reduce the RTT you can use .batch from now on. It’ll behave just the same as .multi but it does not have any transaction and therefor won’t roll back any failed commands.
Both .multi and .batch are from now on going to cache the commands and release them while calling .exec.

Please consider using .batch instead of looping through a lot of commands one by one. This will significantly improve your performance.

Here are some stats compared to ioredis 1.9.1 (Lenovo T450s i7-5600U):

                  simple set
      82,496 op/s » ioredis
     112,617 op/s » node_redis

                  simple get
      82,015 op/s » ioredis
     105,701 op/s » node_redis

                  simple get with pipeline
      10,233 op/s » ioredis
      26,541 op/s » node_redis (using .batch)

                  lrange 100
       7,321 op/s » ioredis
      26,155 op/s » node_redis

                  publish
      90,524 op/s » ioredis
     112,823 op/s » node_redis

                  subscribe
      43,783 op/s » ioredis
      61,889 op/s » node_redis

To conclude: we can proudly say that node_redis is very likely outperforming any other node redis client.

Known issues

v2.1.0 - Oct 02, 2015

Features:

Bugfixes:

v2.0.1 - Sep 24, 2015

Bugfixes:

v2.0.0 - Sep 21, 2015

This is the biggest release that node_redis had since it was released in 2010. A long list of outstanding bugs has been fixed, so we are very happy to present you redis 2.0 and we highly recommend updating as soon as possible.

What’s new in 2.0

Features:

Bug fixes:

Breaking changes:

  1. redis.send_command commands have to be lower case from now on. This does only apply if you use .send_command directly instead of the convenient methods like redis.command.
  2. Error messages have changed quite a bit. If you depend on a specific wording please check your application carfully.
  3. Errors are from now on always either returned if a callback is present or emitted. They won’t be thrown (neither sync, nor async).
  4. The Multi error handling has changed a lot!
  1. If redis can’t connect to your redis server it’ll give up after a certain point of failures (either max connection attempts or connection timeout exceeded). If that is the case it’ll emit an CONNECTION_BROKEN error. You’ll have to initiate a new client to try again afterwards.
  2. The offline queue is not flushed anymore on a reconnect. It’ll stay until node_redis gives up trying to reach the server or until you close the connection.
  3. Before this release node_redis catched user errors and threw them async back. This is not the case anymore! No user behavior of what so ever will be tracked or catched.
  4. The keyspace of redis.server_info (db0…) is from now on an object instead of an string.

NodeRedis also thanks @qdb, @tobek, @cvibhagool, @frewsxcv, @davidbanham, @serv, @vitaliylag, @chrishamant, @GamingCoder and all other contributors that I may have missed for their contributions!

From now on we’ll push new releases more frequently out and fix further long outstanding things and implement new features.


v1.0.0 - Aug 30, 2015

v0.12.1 - Aug 10, 2014

v0.12.0 - Aug 9, 2014

v0.11.0 - Jul 10, 2014

v0.10.3 - May 22, 2014

v0.10.2 - May 18, 2014

v0.10.1 - February 17, 2014

v0.10.0 - December 21, 2013

v0.9.2 - December 15, 2013

v0.9.1 - November 23, 2013

v0.9.0 - October 17, 2013

v0.8.6 - October 2, 2013

v0.8.5 - September 26, 2013

v0.8.4 - June 24, 2013

Many contributed features and fixes, including:

v0.8.3 - April 09, 2013

Many contributed features and fixes, including:

v0.8.2 - November 11, 2012

Another version bump because 0.8.1 didn’t get applied properly for some mysterious reason. Sorry about that.

Changed name of “faster” parser to “javascript”.

v0.8.1 - September 11, 2012

Important bug fix for null responses (Jerry Sievert)

v0.8.0 - September 10, 2012

Many contributed features and fixes, including:

v0.7.2 - April 29, 2012

Many contributed fixes. Thank you, contributors.

v0.7.1 - November 15, 2011

Fix regression in reconnect logic.

Very much need automated tests for reconnection and queue logic.

v0.7.0 - November 14, 2011

Many contributed fixes. Thanks everybody.

Some more goodies:

v0.6.7 - July 30, 2011

(accidentally skipped v0.6.6)

Fix and test for [GH-123]

Passing an Array as as the last argument should expand as users expect. The old behavior was to coerce the arguments into Strings, which did surprising things with Arrays.

v0.6.5 - July 6, 2011

Contributed changes:

Thanks!

v0.6.4 - June 30, 2011

Fix bug with optional callbacks for hmset.

v0.6.2 - June 30, 2011

Bugs fixed:

New features:

See examples/backpressure_drain.js for more information.

v0.6.1 - June 29, 2011

Add support and tests for Redis scripting through EXEC command.

Bug fix for monitor mode. (forddg)

Auto update of new commands from redis.io (Dave Hoover)

v0.6.0 - April 21, 2011

Lots of bugs fixed.

v0.5.11 - April 7, 2011

Added DISCARD

I originally didn’t think DISCARD would do anything here because of the clever MULTI interface, but somebody pointed out to me that DISCARD can be used to flush the WATCH set.

v0.5.10 - April 6, 2011

Added HVALS

v0.5.9 - March 14, 2011

Fix bug with empty Array arguments - Andy Ray

v0.5.8 - March 14, 2011

Add MONITOR command and special monitor command reply parsing.

v0.5.7 - February 27, 2011

Add magical auth command.

Authentication is now remembered by the client and will be automatically sent to the server on every connection, including any reconnections.

v0.5.6 - February 22, 2011

Fix bug in ready check with return_buffers set to true.

Thanks to Dean Mao and Austin Chau.

v0.5.5 - February 16, 2011

Add probe for server readiness.

When a Redis server starts up, it might take a while to load the dataset into memory. During this time, the server will accept connections, but will return errors for all non-INFO commands. Now node_redis will send an INFO command whenever it connects to a server. If the info command indicates that the server is not ready, the client will keep trying until the server is ready. Once it is ready, the client will emit a “ready” event as well as the “connect” event. The client will queue up all commands sent before the server is ready, just like it did before. When the server is ready, all offline/non-ready commands will be replayed. This should be backward compatible with previous versions.

To disable this ready check behavior, set options.no_ready_check when creating the client.

As a side effect of this change, the key/val params from the info command are available as client.server_options. Further, the version string is decomposed into individual elements in client.server_options.versions.

v0.5.4 - February 11, 2011

Fix excess memory consumption from Queue backing store.

Thanks to Gustaf Sjöberg.

v0.5.3 - February 5, 2011

Fix multi/exec error reply callback logic.

Thanks to Stella Laurenzo.

v0.5.2 - January 18, 2011

Fix bug where unhandled error replies confuse the parser.

v0.5.1 - January 18, 2011

Fix bug where subscribe commands would not handle redis-server startup error properly.

v0.5.0 - December 29, 2010

Some bug fixes:

New feature:

v0.4.1 - December 8, 2010

Remove warning about missing hiredis. You probably do want it though.

v0.4.0 - December 5, 2010

Support for multiple response parsers and hiredis C library from Pieter Noordhuis. Return Strings instead of Buffers by default. Empty nested mb reply bug fix.

v0.3.9 - November 30, 2010

Fix parser bug on failed EXECs.

v0.3.8 - November 10, 2010

Fix for null MULTI response when WATCH condition fails.

v0.3.7 - November 9, 2010

Add “drain” and “idle” events.

v0.3.6 - November 3, 2010

Add all known Redis commands from Redis master, even ones that are coming in 2.2 and beyond.

Send a friendlier “error” event message on stream errors like connection refused / reset.

v0.3.5 - October 21, 2010

A few bug fixes.

unversioned wasteland

See the git history for what happened before.