Released Version 1.4 on 3rd December 2014 ========================================= Changes: Fixed a corner case IllegalStateException that can occur under high load. Changed to a simpler and more effective pipeline size limiting for Async usage. It also prevents pile up of response tasks in the executor's Q due to slow response processing including slow de-serialization by slowing down the thread calling the submit method. Ticket-1: Fixed aredis hanging when the Redis server closes the connection. Added AsyncRedisFactory.setAuth method to support authentication to a Redis Server configured with a password. Released Version 1.3 on 12th July 2014 ====================================== Changes: Important Bug Fix: Fixed IndexOutOfBoundsException that can occur in some scenarios when values to be written in commands like SET are compressed. Improvements in Sharding including using CRC_HASH algorithm instead of AREDIS_HASH algorithm for a more even key distribution among the servers. If you have been using Sharding with an older release of aredis note that the key to server mapping will be different with this release. Bug Fix relating to Storing of Java Objects: Fixed incorrect comparison of ClassDescriptors resulting in additional descriptor entries for the same class in OPTI_JAVA_HANDLER. The data format for storing values is unchanged. Released Version 1.2 on 22nd May 2014 ===================================== Change: Deprecated Script.ADD_SCRIPT and removed it from documentation since the options introduced in Redis SET command since version 2.6.12 can achieve the same. Released Version 1.1 on 14th May 2014 ===================================== Changes: Buffering GZIPInput/GZIPOutput Streams used for compression since it performs better. Added Scripting support. Introduced Script Object encapsulating a Redis Lua script and its SHA-1 digest. Introduced EVALCHECK pseudo command as a single command for calling a Redis Script. The EVALCHECK command calls SCRIPT EXISTS/LOAD on a separate connection the first time a script is sent to a Redis server to ensure that it is present on the server. The script is then marked in the jvm as loaded for the server before an EVALSHA command is sent. Subsequent EVALCHECK calls for the same script to the same server read the flag and send an EVALSHA command straight away without additional checks. Added LimitingTaskExecutor ExecutorService utility which can sit on top of any ExecutorService like ThreadPoolExecutor and limit the number of tasks submitted to a configured value. This will be useful to limit number of Threads consumed by executors for message subscription while at the same time sharing a global Thread Pool. Changed max Q size of the pipeline from 3000 to 5000 and the timeout from 5 seconds to 20 ms. Added new commands like SCAN, PFADD up to redis 2.8.9. Changed Response parsing to accommodate a complex MULTIBULK response like that in SCAN command. Fixed bug due to which Command sent to an AsyncRedisConnection created with an invalid host does not complete. Released Version 1.0 on 28th July 2013 ====================================== Features: Asynchronous and Pipelined Efficient Serialization of Java Objects using OPTI_JAVA_HANDLER Data Handlers to specify mapping between Objects and data stored in Redis Built-in GZIP Compression Subscribe API for messaging Client side Sharding Synchronous and Asynchronous usage Connection Pool for Transactions Closing of idle connections