Many contributed fixes. Thank you, contributors.
Fix regression in reconnect logic.
Very much need automated tests for reconnection and queue logic.
Many contributed fixes. Thanks everybody.
Some more goodies:
multi_bench.js
that tests more realistic scenarios(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.
Contributed changes:
Thanks!
Fix bug with optional callbacks for hmset.
Bugs fixed:
New features:
See examples/backpressure_drain.js
for more information.
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)
Lots of bugs fixed.
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.
Added HVALS
Fix bug with empty Array arguments - Andy Ray
Add MONITOR
command and special monitor command reply parsing.
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.
Fix bug in ready check with return_buffers
set to true
.
Thanks to Dean Mao and Austin Chau.
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
.
Fix excess memory consumption from Queue backing store.
Thanks to Gustaf Sjöberg.
Fix multi/exec error reply callback logic.
Thanks to Stella Laurenzo.
Fix bug where unhandled error replies confuse the parser.
Fix bug where subscribe commands would not handle redis-server startup error properly.
Some bug fixes:
New feature:
Remove warning about missing hiredis. You probably do want it though.
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.
Fix parser bug on failed EXECs.
Fix for null MULTI response when WATCH condition fails.
Add "drain" and "idle" events.
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.
A few bug fixes.
nil
multi-bulk reply lengths that showed up with BLPOP
timeouts.end
once when connection goes away.test.js
where driver finished before all tests completed.See the git history for what happened before.