Revision history for RedisDB
2.57 Tue Jan 19 2021 Pavel Shaydo <zwon@cpan.org>
    - Fix test failing due to the changed error message. See #37. Patch
    by H.Merijn Brand.
2.56 Sat Jan 16 2021 Pavel Shaydo <zwon@cpan.org>
    - Add forwarding params to redis cluster by Pavel Andryushin. See #36.
2.55 Mon Nov 11 2019 Pavel Shaydo <zwon@cpan.org>
    - Fix parsing of cluster nodes in redis v4
2.54 Tue Nov 28 2017 Pavel Shaydo <zwon@cpan.org>
    - Fix handling of disconnects with raise_error switched off, see
    #31. Thanks to Michael Stevens for reporting the problem and
    finding the cause.
2.53 Wed Nov 16 2016 Pavel Shaydo <zwon@cpan.org>
    - Subsecond resolutions for network timeouts, see #30
2.52 Wed Apr 20 2016 Pavel Shaydo <zwon@cpan.org>
    - OpenBSD has 64-bit time_t starting from 5.5
2.51 Thu Apr  7 2016 Pavel Shaydo <zwon@cpan.org>
    - add node_for_slot and node_for_key methods, see #28
2.50 Tue Jan 26 2016 Pavel Shaydo <zwon@cpan.org>
    - skip test if redis is not installed
2.49 Mon Jan 25 2016 Pavel Shaydo <zwon@cpan.org>
    - minor documentation fixes
    - added redis URL support, see #27, patch by Norbert Buchmüller
2.47 Thu Oct 29 2015 Pavel Shaydo <zwon@cpan.org>
    - add Test::RedisDB module
2.46 Mon Aug  3 2015 Pavel Shaydo <zwon@cpan.org>
    - add support for geo commands
2.45 Tue Jun 23 2015 Pavel Shaydo <zwon@cpan.org>
    - fix cluster code to work with clusters using IPv6,
      see #25, patch by Troy Ablan
2.44 Sun Jun 14 2015 Pavel Shaydo <zwon@cpan.org>
    - internals refactoring
    - fix test failing on FreeBSD
2.43 Tue Apr  7 2015 Pavel Shaydo <zwon@cpan.org>
    - remove wrapper for SYNC command, as it does not work
    - fix test failing with redis-server 3.0.0.
      See #23, reported by Victor Efimov
2.42 Sun Mar 15 2015 Pavel Shaydo <zwon@cpan.org>
    - when removing cluster node try to distribute slots between nodes
    more uniformly
    - add support for redis sentinel
2.41 Sun Feb 22 2015 Pavel Shaydo <zwon@cpan.org>
    - fix module on perl 5.8.x
    - fix race condition in basic-redis test
2.40 Sat Feb 21 2015 Pavel Shaydo <zwon@cpan.org>
    - add migrate_slot method to Cluster
    - add remove_node method to Cluster
    - add command method to RedisDB
    - add support for the commands which have key not as the first
      argument
    - add wrappers for redis commands
2.39 Sat Feb 14 2015 Pavel Shaydo <zwon@cpan.org>
    - improve retrieval of list of cluster nodes on connect
    - add random_connection method to cluster
    - add add_new_node method to cluster
2.38 Wed Feb 11 2015 Pavel Shaydo <zwon@cpan.org>
    - fix the way information about the nodes is stored
    - disable debugging output by default
    - fix parsing of cluster_nodes output
    - add wrapper for cluster_info
2.37 Tue Feb 10 2015 Pavel Shaydo <zwon@cpan.org>
    - initial support for redis cluster
2.36 Fri May  9 2014 Pavel Shaydo <zwon@cpan.org>
    - do not reconnect when watching some keys
2.35 Wed May  7 2014 Pavel Shaydo <zwon@cpan.org>
    - documentation fixes and improvements
    - allow perform transactions in pipelining mode
    - fix test failing if IPv6 is not supported
2.33 Thu May  1 2014 Pavel Shaydo <zwon@cpan.org>
    - fixed randomly failing auth.t test.
      Reported by @scripter-v (Vadim Vlasov), see #19.
    - added debug_error method
2.32 Sat Apr 26 2014 Pavel Shaydo <zwon@cpan.org>
    - add IPv6 support
    - improve subscriptions handling outside of subscription loop
    - update documentation for subscription mode
    - add new commands introduced in redis 2.8.9
2.30 Mon Mar 10 2014 Pavel Shaydo <zwon@cpan.org>
    - fix problem with unsubscribe if there are no psubscriptions.
      See #18, reported by @cameronpm
2.29 Fri Mar  7 2014 Pavel Shaydo <zwon@cpan.org>
    - add support for BITPOS command
2.28 Sat Mar  1 2014 Pavel Shaydo <zwon@cpan.org>
    - fix race condition in test suite. See #17.
2.27 Wed Feb 19 2014 Pavel Shaydo <zwon@cpan.org>
    - fix error handling on failed connect attempt. See #16.
2.26 Sun Jan 12 2014 Pavel Shaydo <zwon@cpan.org>
    - fix warning in test
2.25 Wed Jan  8 2014 Pavel Shaydo <zwon@cpan.org>
    - add *scan_all methods to iterate other scan commands
2.24 Sun Jan  5 2014 Pavel Shaydo <zwon@cpan.org>
    - add support for the commands added in redis 2.8.0
    - fix randomly failing test
2.23 Sun Dec 29 2013 Pavel Shaydo <zwon@cpan.org>
    - fix some test failures
2.22 Wed Dec 25 2013 Pavel Shaydo <zwon@cpan.org>
    - require 5.12 on Windows. Thanks to Alexandr Ciornii for testing
      and reporting the problem (#15).
2.21_01 Wed Dec 11 2013 Pavel Shaydo <zwon@cpan.org>
    - fix handling failed connections when raise_error disabled.
      See #14. Thanks to @mburgoon for reporting this.
2.20 Sun Dec  8 2013 Pavel Shaydo <zwon@cpan.org>
    - stable release
    - minor benchmark fixes
2.19_03 Tue Dec  3 2013 Pavel Shaydo <zwon@cpan.org>
    - performance improvements
2.19_02 Mon Dec  2 2013 Pavel Shaydo <zwon@cpan.org>
    - remove RedisDB::Parse::Redis tests from no-leak.t
2.19_01 Sun Dec  1 2013 Pavel Shaydo <zwon@cpan.org>
    - use RedisDB::Parser
2.18 Thu Oct 24 2013 Pavel Shaydo <zwon@cpan.org>
    - fix mainloop when parser was not initialized.
      Patch by Andrew O'Brien
    - change format of Changes
2.17 Sun Aug 25 2013 Pavel Shaydo <zwon@cpan.org>
    - fix the problem with subscription_loop refusing to start when
      there are some pipelined commands. Reported by Paul Cameron.
2.16 Sat Jul 20 2013 Pavel Shaydo <zwon@cpan.org>
    - fix for NetBSD with non-numeric osvers. Thanks to Jeff Lavallee
      for http://www.cpantesters.org/cpan/report/6f1bd3f8-f006-11e2-b34e-ea5fbc6e940b
2.15 Sat Jun 22 2013 Pavel Shaydo <zwon@cpan.org>
    - support PUREPERL_ONLY option in Makefile.PL
    - check if SV* is NULL before decrementing refcounter
    - fix XS to build on Windows with whatever compiler ActiveState
      using
    - use _on_disconnect to handle recv errors in mainloop
2.14 Sat May 11 2013 Pavel Shaydo <zwon@cpan.org>
    - add propagate_reply method to the parser, so an error could be
      propagated to all callbacks
    - handle server disconnects in a more robust way, so object could
      be reused after throwing exception
    - automatically restore subscriptions after disconnect
    - documentation fixes
    - tests improvements
    - add x_contributors
    - update ppport.h
2.12 Mon Jan 21 2013 Pavel Shaydo <zwon@cpan.org>
    - add support for BITCOUNT, BITOP, and CLIENT commands
    - info method now supports asynchronous mode
    - fix test for cygwin
2.11 Fri Nov 30 2012 Pavel Shaydo <zwon@cpan.org>
    - use MSG_NOSIGNAL on sending or ignore SIGPIPE
    - fix socket timeout on NetBSD 6.0
2.10 Sat Nov 10 2012 Pavel Shaydo <zwon@cpan.org>
    - implement reconnect to retry to connect several times before
      throwing an error.
    - add on_connect_error callback
    - add raise_error setting
    - fix documentation
    - use Test::TCP for testing
    - add AnyEvent::Redis and AE::R::RipeRedis to benchmark script
2.08 Thu Oct 11 2012 Pavel Shaydo <zwon@cpan.org>
    - workaround bug in perls before 5.14 that causes recv set $! to
      0 instead of EINTR if interrupted by alarm
2.07 Thu Oct 11 2012 Pavel Shaydo <zwon@cpan.org>
    - fix p?subscribe outside of subscription_loop
    - do not require callback for channel outside of subscription_loop
2.06 Tue Oct  2 2012 Pavel Shaydo <zwon@cpan.org>
    - allow p?(un)?subscribe outside of subscription_loop
2.05 Fri Aug 24 2012 Pavel Shaydo <zwon@cpan.org>
    - attempt to fix hanging tests on Win32
2.04 Wed Aug  8 2012 Pavel Shaydo <zwon@cpan.org>
    - fix Makefile.PL -pm option
2.03 Sat Jul 28 2012 Pavel Shaydo <zwon@cpan.org>
    - fix double-free problem with threads and fork
      emulation on Windows. Now parser structure is
      only destroyed by the same interpreter it was
      created.
    - try to make tests more Windows friendly
2.02 Thu Jul 26 2012 Pavel Shaydo <zwon@cpan.org>
    - try to fix another bunch of errors from
      Activestate build logs
2.01 Wed Jul 25 2012 Pavel Shaydo <zwon@cpan.org>
    - try to fix build failures on Window based on
      build logs from http://code.activestate.com/ppm/RedisDB/
2.00 Mon Jun 25 2012 Pavel Shaydo <zwon@cpan.org>
    - No changes
1.99_04 Thu Jun 21 2012 Pavel Shaydo <zwon@cpan.org>
    - update list of wrappers in POD
    - rename bench/ into util/
1.99_03 Thu Jun 21 2012 Pavel Shaydo <zwon@cpan.org>
    - documentation fixes
    - fix some warnings
    - strip ppport.h
    - add support for OBJECT, DUMP, RESTORE, and MIGRATE
1.99_02 Sat Jun  9 2012 Pavel Shaydo <zwon@cpan.org>
    - implement utf8 option for XS parser
    - minor doc fix
    - improve no-leak.t test
1.99_01 Wed Jun  6 2012 Pavel Shaydo <zwon@cpan.org>
    - XS implementation of the parser
1.08 Sun May 13 2012 Pavel Shaydo <zwon@cpan.org>
    - add support for deep-nested multi-bulk replies
    - add support for SLOWLOG command
    - return integer replies as integer numbers
    - disable tests for QUIT command on redis < 2.0 and add
      note into BUGS section
    - minor test fixes
1.07 Sat May  5 2012 Pavel Shaydo <zwon@cpan.org>
    - minor tweak of _connect method. Reported by Dmitry Bigunyak.
      Fixes #8
1.06 Sat Apr 14 2012 Pavel Shaydo <zwon@cpan.org>
    - fix memory leak due to circular references,
      reported by vovpov@github
1.05 Thu Mar 29 2012 Pavel Shaydo <zwon@cpan.org>
    - fix SHUTDOWN
    - add support for EVAL and SCRIPT commands
    - add support for millisecond expires
    - add support for INCRBYFLOAT
1.04 Tue Mar 27 2012 Pavel Shaydo <zwon@cpan.org>
    - fix handling of commands with whitespace.
      Thanks to HIROSE Masaaki for the patch.
1.03 Mon Mar 19 2012 Pavel Shaydo <zwon@cpan.org>
    - require Encode 2.10
1.02_3 Sun Mar 18 2012 Pavel Shaydo <zwon@cpan.org>
    - require EU::MM 6.3002 to build
1.02_2 Sat Mar 17 2012 Pavel Shaydo <zwon@cpan.org>
    - switch to plain EU::MM
    - remove manifest.t
1.02_1 Thu Mar 15 2012 Pavel Shaydo <zwon@cpan.org>
    - extract parser into separate module
    - fix handling of error replies in transactions
    - increase read buffer size
    - update bench/mark.pl script
1.01 Wed Mar  7 2012 Pavel Shaydo <zwon@cpan.org>
    - re-authenticate on reconnect
1.00 Mon Mar  5 2012 Pavel Shaydo <zwon@cpan.org>
    - no changes
0.32_2 Mon Mar  5 2012 Pavel Shaydo <zwon@cpan.org>
    - document error handling
0.32_1 Sat Mar  3 2012 Pavel Shaydo <zwon@cpan.org>
    - add UTF-8 support
    - add reset_connection method
0.31 Tue Feb  7 2012 Pavel Shaydo <zwon@cpan.org>
    - no changes
0.30_3 Sun Feb  5 2012 Pavel Shaydo <zwon@cpan.org>
    - replace accidentally used //= with ||=
0.30_2 Thu Feb  2 2012 Pavel Shaydo <zwon@cpan.org>
    - add database parameter to the constructor
    - add selected_database method
0.30_1 Wed Feb  1 2012 Pavel Shaydo <zwon@cpan.org>
    - restore selected database on reconnect
    - do not invoke _connect recursively
    - refactor network.t
0.29 Sun Jan 15 2012 Pavel Shaydo <zwon@cpan.org>
    - implement mainloop method
    - documentation improvements
0.28_1 Fri Jan 13 2012 Pavel Shaydo <zwon@cpan.org>
    - reworking piplening support
    - send_command now accept callback argument
    - wrapper methods now accept callback as the last argument
    - deprecate send_command_cb method
    - make _ignore callback warn on errors from server
0.27 Thu Jan 12 2012 Pavel Shaydo <zwon@cpan.org>
    - fix bug with parsing empty list in transaction result,
      thanks to @vovpov for reporting the problem
0.26 Fri Dec 30 2011 Pavel Shaydo <zwon@cpan.org>
    - require perl 5.8.4
    - added some error logging to network.t
0.25 Tue Dec 27 2011 Pavel Shaydo <zwon@cpan.org>
    - fixed tests to pass with Test::More 1.005
0.24 Tue Oct 18 2011 Pavel Shaydo <zwon@cpan.org>
    - as cpantester went offline I didn't see reports about failing
    tests for nearly two months...
0.23 Thu Sep  1 2011 Pavel Shaydo <zwon@cpan.org>
    - allow exec while there are still some replies with
      callbacks in flight
0.22 Tue Aug 30 2011 Pavel Shaydo <zwon@cpan.org>
    - tests improvements
0.21 Wed Aug 17 2011 Pavel Shaydo <zwon@cpan.org>
    - Fix bug in subscription_loop, it was failing if you only use
    subscribe option and not psubscribe
0.20 Thu Aug  4 2011 Pavel Shaydo <zwon@cpan.org>
    - Add zrem command, thanks to Uwe Voelker for patch
0.19 Tue Aug  2 2011 Pavel Shaydo <zwon@cpan.org>
    - improved tests' coverage
    - added tests for sets commands
    - fixed replies_to_fetch
0.18_2 Tue Jul 26 2011 Pavel Shaydo <zwon@cpan.org>
    - fixed random test hanging
    - improved tests
    - improved documentation on pipelining
0.18_1 Thu Jul 21 2011 Pavel Shaydo <zwon@cpan.org>
    - added send_command_cb function
0.17 Fri Jul 15 2011 Pavel Shaydo <zwon@cpan.org>
    - fixed shutdown command
    - tests now shutdown redis-server rather than kill it
    - now it should pass tests on Windows
0.16 Wed Jul 13 2011 Pavel Shaydo <zwon@cpan.org>
    - probably I shouldn't use MSG_DONTWAIT on Win at all
0.15 Wed Jul 13 2011 Pavel Shaydo <zwon@cpan.org>
    - made it work on Windows (thanks to Sanko Robinson for suggestions)
    - improved tests
0.14 Wed Jun 15 2011 Pavel Shaydo <zwon@cpan.org>
    - add get_all_replies method
    - add replies_to_fetch method
    - minor fixes
0.13 Sun May 29 2011 Pavel Shaydo <zwon@cpan.org>
    - fix tests
0.12 Sat May 28 2011 Pavel Shaydo <zwon@cpan.org>
    - Fixed test
0.11 Sat May 28 2011 Pavel Shaydo <zwon@cpan.org>
    - Ignore timeout if OS doesn't support it
    - Added UNIX sockets support
0.10 Wed May 18 2011 Pavel Shaydo <zwon@cpan.org>
    - added BRPOP command support
    - added test for lists commands
0.09 Mon May 16 2011 Pavel Shaydo <zwon@cpan.org>
    - added info and version methods
    - added IO timeout support
    - fixed subscriptions test failure
0.08 Thu May 12 2011 Pavel Shaydo <zwon@cpan.org>
    - added transactions support
0.07 Mon Apr 18 2011 Pavel Shaydo <zwon@cpan.org>
    - trying to find out the reason disconnect.t fails
      for certain cpan testers
    - minor pod fixes
    - require Test::Differences 0.61
0.06 Sun Apr 10 2011 Pavel Shaydo <zwon@cpan.org>
    - get_reply now returns only result value, no type
    - fixed multi-bulk messages parsing
    - added Pub/Sub support
0.05 Mon Apr  4 2011 Pavel Shaydo <zwon@cpan.org>
    - Fix dependencies for testing
    - run disconnect test even if redis is not available
    - make connect private method
    - minor documentation fixes
0.04 Sun Apr  3 2011 Pavel Shaydo <zwon@cpan.org>
    - Fix test failures if there's no redis-server
0.03 Sat Apr  2 2011 Pavel Shaydo <zwon@cpan.org>
    - Added pipelining support
    - Improved documentation
0.02 Sat Apr  2 2011 Pavel Shaydo <zwon@cpan.org>
    - Just added Test::Most dependency
0.01 Thu Mar 31 2011 Pavel Shaydo <zwon@cpan.org>
    - First version, released on an unsuspecting world.