Revision history for Redis::CappedCollection module

1.10  Fri Feb  24 2017
    CHANGES:
    - max_list_items added.
    - Needs Redis server version 2.8 or higher.
    - Attempt to protect against used_memory > maxmemory.
    FIXES:
    - Obey 'connection_timeout', 'operation_timeout' attributes of redis connection hash.
    - Tests refined.

1.09  Tue Jun  14 2016
    CHANGES:
    - Now we use 'croak' instead 'confess'.
    - 'min_cleanup_bytes' and 'min_cleanup_items' renamed to
      'cleanup_bytes' and 'cleanup_items'.
    - $DEFAULT_MIN_CLEANUP_BYTES, $DEFAULT_MIN_CLEANUP_ITEMS renamed to
      $DEFAULT_CLEANUP_BYTES, $DEFAULT_CLEANUP_ITEMS .
    BUGFIXES:
    - Data::Dumper 'Sparseseen' method not used now.

1.08  Fri May  06 2016
    FIXES:
    - Tests corrected.

1.07  Tue May  03 2016
    FIXES:
    - Makefile.PL corrected.
    - Tests corrected.

1.06  Thu Apr  28 2016
    CHANGES:
    - Ability to force re-connection with Redis on error ('reconnect_on_error' attribute).
    - $DEFAULT_CONNECTION_TIMEOUT, $DEFAULT_OPERATION_TIMEOUT,
      $DEFAULT_ADVANCE_CLEANUP_NUM constants added.
    - connection_timeout, operation_timeout attributes added.
    - Revised error codes.
    - Better handling of errors when running out of memory.
    - Arguments control improved.
    - Added the service module Redis::CappedCollection::Util.
    - Avoid "cache stampede" effect during advanced memory cleanup.
    - Attributes 'advance_cleanup_bytes' and 'advance_cleanup_num' renamed to
      'min_cleanup_bytes' and 'min_cleanup_items'.
    - $DEFAULT_ADVANCED_CLEANUP_BYTES, $DEFAULT_ADVANCE_CLEANUP_NUM renamed to
      $DEFAULT_MIN_CLEANUP_BYTES, $DEFAULT_MIN_CLEANUP_ITEMS .
    FIXES:
    - Argument 'redis' may have Redis::CappedCollection type in function
      collection_info, collection_exists, drop_collection, redis_config_ok,
      resize calls.
    - Tests corrected.

1.05  Tue Jan  14 2016
    FIXES:
    - Error on update/upsert without $data_time in some cases (e.g. after pop_oldest).

1.04  Tue Jan  12 2016
    CHANGES:
    - Added 'upsert' method.

1.03  Thu Jan  07 2016
    CHANGES:
    - Works with a Redis server 'maxmemory-policy' setting 'noeviction' only.
    - Added 'redis_config_ok' method.
    - $E_REDIS_DID_NOT_RETURN_DATA, $E_UNKNOWN_ERROR errors added.
    - Updated version of the data structure.
    FIXES:
    - Incorrect analysis an error related to not enough memory.

1.02  Thu Sep  03 2015
    CHANGES:
    - Redis::CappedCollection does not close connection to redis server (including '->quit' method)
      if it was provided by user.
    - More convenient error codes naming.
    FIXES:
    - Fixes of test plans.

1.01  Tue Jul  07 2015
    CHANGES:
    - Updated behaviour of 'older_allowed' attribute that controls adding an element that's
      older than the last element removed from collection.
    - Added 'clear_collection' method.
    FIXES:
    - Small correction in destruction procedure.
    - Fixes of documentation and MANIFEST.

1.00  Mon Jun  15 2015

    !!! This is a major upgrade that changes API. It's strongly advised to study
    revised documentation and update your code where necessary !!!

    !!! Data structures created on the server by previous versions of the module
    are incompatible with this release. Existing collections must be recreated
    after updating to this release. !!!

    CHANGES:
    - Redis::CappedCollection->new() is deprecated and will be removed in future.
      Please use either create() or open() instead.
    - In the parameters of the methods 'redis' may be either a Redis object
      or a hash reference of parameters to create a Redis object.
    - Changed the order of the arguments of the 'insert' method.
    - The list ID and data ID arguments are mandatory for 'insert' method.
    - Added 'data time' argument for 'update' method.
    - Method 'info' renamed to 'list_info'.
    - Method 'exists' renamed to 'list_exists'.
    - Method 'drop' renamed to 'drop_list'.
    - Constructor parameter 'big_data_threshold' was removed.
    - 'last_removed_time' information attribute was removed.
    - Added constructor argument 'memory_reserve'.
    - Added 'oldest_time' method.
    - Use Const::Fast for values exported by the module.
    - Attributes 'advance_cleanup_bytes' and 'advance_cleanup_num' are stored
      on the Redis server and can be changed only by 'resize' method.
    - $MIN_MEMORY_RESERVE, $MAX_MEMORY_RESERVE constants added.
    - $ENONEXISTENTDATAID, $EINCOMPDATAVERSION errors added.
    - Redis server version 2.8 or higher is required.
    - We strongly recommend setting 'maxmemory' option in the redis.conf file.
    - Added utilities to dump and restore the collection: dump_collection,
      restore_collection .
    FIXES:
    - 'open' method fixed.
    - Tests fixed.

0.17  Thu Apr  23 2015
    CHANGES:
    - Added 'create', 'open' constructors.
    - Added 'collection_exists', 'resize' methods.
    - 'open', 'collection_info', 'collection_exists', 'resize', 'drop_collection'
      may be used as functions.
    - Redis::CappedCollection->new() is deprecated and will be removed in future.
      Please use either create() or open() instead.
    - The 'quit' method does not close connection to Redis during
      global destruction phase (Perl version 5.14 and above).

0.16  Tue May  27 2014
    CHANGES:
    - Added argument 'check_maxmemory' to the Redis::CappedCollection->new .

0.13 - 0.15  Wed Apr  02 2014
    CHANGES:
    - Small test improvement.

0.12  Fri Mar  14 2014
    CHANGES:
    - Change the port used for testing.

0.11  Fri Nov  15 2013
    CHANGES:
    - Adjust Redis server connection parameters.
      (Starting with version 1.963, Redis module doesn't support encoding)

0.10  Fri Oct  25 2013
    FIXES:
    - Fix runtime loading of Test::*

0.09  Fri Sep  27 2013
    FIXES:
    - Tests fine-tuned to the correct execution of 32-bit systems.

0.08  Wed Sep  18 2013
    CHANGES:
    - Use Try::Tiny for proper preservation of $@ .

0.07  Thu Mar  14 2013
    CHANGES:
    - Account for Redis memory overhead when checking collection size:
    use package variable $REDIS_MEMORY_OVERHEAD to adjust overhead estimate

0.06  Thu Mar  14 2013
    CHANGES:
    - Use Redis maxmemory setting to set 'size' if not provided in constructor

0.05  Fri Mar  08 2013
    CHANGES:
    - The tests are executed even if the installed Redis server is not running

0.04  Fri Mar  08 2013
    CHANGES:
    - Added method 'ping'

0.03  Wed Feb  13 2013
    CHANGES:
    - 'new' indirectly detects no connection to the Redis server

0.02  Tue Dec  18 2012
    CHANGES:
    - Checking Perl version in Makefile.PL

0.01  Wed Oct  17 2012
    - Original version