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.