SPRING DATA REDIS CHANGELOG --------------------------- http://projects.spring.io/spring-data-redis/ Commit changelog: http://github.com/spring-projects/spring-data-redis/tree/v[version] Issues changelog: http://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10604 =========================== Changes in version 2.0.0.M4 (2017-06-14) ---------------------------------------- * DATAREDIS-651 - Upgrade to Reactor 3.1 M2. * DATAREDIS-647 - SDIFF on cluster connection drops last key. * DATAREDIS-646 - Release 2.0 M4 (Kay). * DATAREDIS-645 - DefaultReactiveValueOperations.get() emits null if key is absent. * DATAREDIS-574 - Introduce dedicated RedisClientConfig. Changes in version 1.8.4.RELEASE (2017-06-08) --------------------------------------------- * DATAREDIS-637 - ClusterConnections do not close dedicated ClusterCommandExecutor instances. * DATAREDIS-633 - Adapt to renamed KeyValueQuery.getCriteria() method. * DATAREDIS-631 - Release 1.8.4 (Ingalls SR4). Changes in version 1.7.11.RELEASE (2017-06-07) ---------------------------------------------- * DATAREDIS-637 - ClusterConnections do not close dedicated ClusterCommandExecutor instances. * DATAREDIS-630 - Release 1.7.11 (Hopper SR11). Changes in version 2.0.0.M3 (2017-05-09) ---------------------------------------- * DATAREDIS-642 - Upgrade to Lettuce 5.0 M2. * DATAREDIS-640 - Adapt to API changes in repository interfaces. * DATAREDIS-637 - ClusterConnections do not close dedicated ClusterCommandExecutor instances. * DATAREDIS-636 - Adapt to Range API changes. * DATAREDIS-634 - Adapt to moved CustomConversions to Spring Data Commons. * DATAREDIS-633 - Adapt to renamed KeyValueQuery.getCriteria() method. * DATAREDIS-629 - Adopt changed Mono and Flux error handling API. * DATAREDIS-626 - Split up RedisConnection and add defaulting to *.Command interfaces. * DATAREDIS-624 - Upgrade to Reactor 3.1.0.BUILD-SNAPSHOT. * DATAREDIS-622 - Release 2.0 M3 (Kay). * DATAREDIS-613 - Stream results instead of returning collections where possible. Changes in version 1.7.10.RELEASE (2017-04-19) ---------------------------------------------- * DATAREDIS-628 - Release 1.7.10 (Hopper SR10). Changes in version 1.8.3.RELEASE (2017-04-19) --------------------------------------------- * DATAREDIS-627 - Release 1.8.3 (Ingalls SR3). Changes in version 1.7.9.RELEASE (2017-04-19) --------------------------------------------- * DATAREDIS-618 - RedisServer.getNumberOtherSentinels() should read num-other-sentinels property. * DATAREDIS-608 - Release 1.7.9 (Hopper SR9). Changes in version 1.8.2.RELEASE (2017-04-19) --------------------------------------------- * DATAREDIS-618 - RedisServer.getNumberOtherSentinels() should read num-other-sentinels property. * DATAREDIS-607 - Release 1.8.2 (Ingalls SR2). Changes in version 2.0.0.M2 (2017-04-04) ---------------------------------------- * DATAREDIS-618 - RedisServer.getNumberOtherSentinels() should read num-other-sentinels property. * DATAREDIS-617 - Drop support for Jackson 1. * DATAREDIS-606 - RedisCache Tests in Spring Data Redis 2.0.x builds fail testing null values. * DATAREDIS-602 - Provide reactive Redis Template. * DATAREDIS-599 - Remove references to single-argument assertion methods of Spring. * DATAREDIS-595 - Integrate Data Commons Java 8 upgrade branch. * DATAREDIS-594 - Update "what’s new" section in reference documentation. * DATAREDIS-593 - Enums with a customized toString method cannot be deserialized from byte[]. * DATAREDIS-592 - RedisCache.get(Object, Callable) does not set the TTL on the element. * DATAREDIS-591 - Update project documentation with the CLA tool integration. * DATAREDIS-589 - Publishing RedisKeyExpiredEvent from other than Repository support causes NullPointerException in RedisKeyValueAdapter. * DATAREDIS-584 - Upgrade to a newer JDK version on TravisCI. * DATAREDIS-583 - Adapt API in RepositoryFactoryBeanSupport implementation. * DATAREDIS-579 - Register repository factory in spring.factories for multi-store support. * DATAREDIS-573 - Release 2.0 M2 (Kay). * DATAREDIS-564 - Invoking JedisConnection.expire during transaction/pipelining can cause NPE. * DATAREDIS-563 - Migrate Jira ticket reference format in tests. * DATAREDIS-559 - Reuse Surefire JVM forks during integration test. * DATAREDIS-552 - Set client name on Jedis connection factory. * DATAREDIS-532 - Convert all see http:// links to valid @see links. Changes in version 1.7.8.RELEASE (2017-03-02) --------------------------------------------- * DATAREDIS-599 - Remove references to single-argument assertion methods of Spring. * DATAREDIS-597 - Release 1.7.8 (Hopper SR8). Changes in version 1.8.1.RELEASE (2017-03-02) --------------------------------------------- * DATAREDIS-599 - Remove references to single-argument assertion methods of Spring. * DATAREDIS-598 - Release 1.8.1 (Ingalls SR1). Changes in version 1.7.7.RELEASE (2017-01-26) --------------------------------------------- * DATAREDIS-593 - Enums with a customized toString method cannot be deserialized from byte[]. * DATAREDIS-586 - Release 1.7.7 (Hopper SR7). * DATAREDIS-564 - Invoking JedisConnection.expire during transaction/pipelining can cause NPE. Changes in version 1.8.0.RELEASE (2017-01-26) --------------------------------------------- * DATAREDIS-594 - Update "what’s new" section in reference documentation. * DATAREDIS-593 - Enums with a customized toString method cannot be deserialized from byte[]. * DATAREDIS-592 - RedisCache.get(Object, Callable) does not set the TTL on the element. * DATAREDIS-591 - Update project documentation with the CLA tool integration. * DATAREDIS-589 - Publishing RedisKeyExpiredEvent from other than Repository support causes NullPointerException in RedisKeyValueAdapter. * DATAREDIS-587 - Release 1.8 GA (Ingalls). * DATAREDIS-564 - Invoking JedisConnection.expire during transaction/pipelining can cause NPE. * DATAREDIS-563 - Migrate Jira ticket reference format in tests. * DATAREDIS-532 - Convert all see http:// links to valid @see links. Changes in version 1.7.6.RELEASE (2016-12-21) --------------------------------------------- * DATAREDIS-566 - Release 1.7.6 (Hopper SR6). Changes in version 1.8.0.RC1 (2016-12-21) ----------------------------------------- * DATAREDIS-584 - Upgrade to a newer JDK version on TravisCI. * DATAREDIS-583 - Adapt API in RepositoryFactoryBeanSupport implementation. * DATAREDIS-579 - Register repository factory in spring.factories for multi-store support. * DATAREDIS-558 - spring-data-redis - Cannot install in OSGi due import range of slf4j is locked down to 1.7.12 version. * DATAREDIS-553 - Support caching null values via RedisCache. * DATAREDIS-552 - Set client name on Jedis connection factory. * DATAREDIS-551 - NPE when counting keys while invoking findBy(Pageable). * DATAREDIS-548 - Connection should be released when used with read-only transactions. * DATAREDIS-547 - Getting NPE when writing valid Query Method without any criteria. * DATAREDIS-542 - RedisCache.putIfAbsent does not set the TTL on the element. * DATAREDIS-541 - Release 1.8 RC1 (Ingalls). * DATAREDIS-539 - replace call to deprecated addCache. * DATAREDIS-533 - Add support for geoindex query methods. * DATAREDIS-531 - ScanCursor holds reference to closed/released Jedis connection. * DATAREDIS-528 - Upgrade to Lettuce 4.2. Changes in version 2.0.0.M1 (2016-11-23) ---------------------------------------- * DATAREDIS-569 - Set up 2.0 development. * DATAREDIS-568 - Release 2.0 M1 (Kay). * DATAREDIS-567 - Remove Support for SRP and JRedis. * DATAREDIS-525 - Add support for reactive RedisConnection and RedisOperations. Changes in version 1.7.5.RELEASE (2016-11-03) --------------------------------------------- * DATAREDIS-558 - spring-data-redis - Cannot install in OSGi due import range of slf4j is locked down to 1.7.12 version. * DATAREDIS-557 - Release 1.7.5 (Hopper SR5). * DATAREDIS-542 - RedisCache.putIfAbsent does not set the TTL on the element. Changes in version 1.7.4.RELEASE (2016-09-29) --------------------------------------------- * DATAREDIS-555 - Release 1.7.4 (Hopper SR4). Changes in version 1.6.6.RELEASE (2016-09-29) --------------------------------------------- * DATAREDIS-556 - Release 1.6.6 (Gosling SR6). Changes in version 1.6.5.RELEASE (2016-09-20) --------------------------------------------- * DATAREDIS-554 - Release 1.6.5 (Gosling SR5). * DATAREDIS-548 - Connection should be released when used with read-only transactions. * DATAREDIS-513 - Pipelining doesn't supports time operation. * DATAREDIS-500 - executePipelined with RedisCallback uses wrong serializer (RedisTemplate.java). * DATAREDIS-469 - RedisAtomicLong throws a null pointer if key is removed. Changes in version 1.7.3.RELEASE (2016-09-20) --------------------------------------------- * DATAREDIS-551 - NPE when counting keys while invoking findBy(Pageable). * DATAREDIS-548 - Connection should be released when used with read-only transactions. * DATAREDIS-547 - Getting NPE when writing valid Query Method without any criteria. * DATAREDIS-540 - Assert compatibility with Spring 5. * DATAREDIS-537 - Add support for Redis Cluster and SSL. * DATAREDIS-524 - NOAUTH Authentication required when connecting to Redis Sentinel with LettuceConnectionFactory. * DATAREDIS-522 - Release 1.7.3 (Hopper SR3). * DATAREDIS-505 - Allow configuration of Redis Keyspace events config value. * DATAREDIS-502 - App fails to start on AWS due to spring-data-redis use of unsupported CONFIG command. * DATAREDIS-500 - executePipelined with RedisCallback uses wrong serializer (RedisTemplate.java). Changes in version 1.8.0.M1 (2016-07-27) ---------------------------------------- * DATAREDIS-540 - Assert compatibility with Spring 5. * DATAREDIS-537 - Add support for Redis Cluster and SSL. * DATAREDIS-536 - Integrate version badge from spring.io. * DATAREDIS-530 - PartialUpdate removes existing indexes. * DATAREDIS-526 - RedisOperations.getExpire returns zero for negative timeout values. * DATAREDIS-524 - NOAUTH Authentication required when connecting to Redis Sentinel with LettuceConnectionFactory. * DATAREDIS-523 - Read back actual TTL into TimeToLive property. * DATAREDIS-516 - spring-data-redis requires spring 4.2.x components. * DATAREDIS-514 - Unify georadius capitalization. * DATAREDIS-513 - Pipelining doesn't supports time operation. * DATAREDIS-512 - Skip repository index update checks on insert. * DATAREDIS-510 - Current CacheValueAccessor implementation Make null value to empty string. * DATAREDIS-509 - Handle serializing arrays of primitives. * DATAREDIS-507 - RedisKeyValueAdapter.destroy calls RedisConnectionFactory.destroy. * DATAREDIS-506 - Upgrade to Jedis 2.9.0. * DATAREDIS-505 - Allow configuration of Redis Keyspace events config value. * DATAREDIS-503 - Add HashMapper implementation based on MappingRedisConverter. * DATAREDIS-502 - App fails to start on AWS due to spring-data-redis use of unsupported CONFIG command. * DATAREDIS-501 - RedisTemplate's default serializer assumes that its ClassLoader can load application types. * DATAREDIS-500 - executePipelined with RedisCallback uses wrong serializer (RedisTemplate.java). * DATAREDIS-498 - MappingRedisConverter uses List.sort which requires Java 8. * DATAREDIS-492 - "CollectionLike" properties are force cast into Collection even though they could be arrays. * DATAREDIS-491 - Prevent KeyspaceEventMessageListener from starting when no repository detected. * DATAREDIS-489 - Store and retrieve type hints for Object type property values even when those are considered as simple types. * DATAREDIS-487 - Release 1.8 M1 (Ingalls). * DATAREDIS-471 - Incremental updates for Redis KeyValue Template. * DATAREDIS-469 - RedisAtomicLong throws a null pointer if key is removed. * DATAREDIS-438 - Add support for geo commands. * DATAREDIS-423 - Add Jackson2 HashMapper implementation. Changes in version 1.7.2.RELEASE (2016-06-15) --------------------------------------------- * DATAREDIS-517 - Back port documentation for New in Spring Data Redis 1.7. * DATAREDIS-516 - spring-data-redis requires spring 4.2.x components. * DATAREDIS-513 - Pipelining doesn't supports time operation. * DATAREDIS-512 - Skip repository index update checks on insert. * DATAREDIS-510 - Current CacheValueAccessor implementation Make null value to empty string. * DATAREDIS-509 - Handle serializing arrays of primitives. * DATAREDIS-507 - RedisKeyValueAdapter.destroy calls RedisConnectionFactory.destroy. * DATAREDIS-501 - RedisTemplate's default serializer assumes that its ClassLoader can load application types. * DATAREDIS-498 - MappingRedisConverter uses List.sort which requires Java 8. * DATAREDIS-492 - "CollectionLike" properties are force cast into Collection even though they could be arrays. * DATAREDIS-491 - Prevent KeyspaceEventMessageListener from starting when no repository detected. * DATAREDIS-489 - Store and retrieve type hints for Object type property values even when those are considered as simple types. * DATAREDIS-488 - Release 1.7.2 (Hopper SR2). * DATAREDIS-469 - RedisAtomicLong throws a null pointer if key is removed. Changes in version 1.7.1.RELEASE (2016-04-06) --------------------------------------------- * DATAREDIS-486 - Release 1.7.1 (Hopper SR1). Changes in version 1.7.0.RELEASE (2016-04-06) --------------------------------------------- * DATAREDIS-485 - Add pull request template. * DATAREDIS-484 - Release 1.7 GA (Hopper). * DATAREDIS-482 - Provide meaningful exception messages in MappingRedisConverter. * DATAREDIS-480 - Make LettuceConnectionFactory able to set all options of an SSL connection. * DATAREDIS-444 - DefaultHashOperation does not return value. Changes in version 1.7.0.RC1 (2016-03-18) ----------------------------------------- * DATAREDIS-479 - Upgrade to jedis to 2.8.1. * DATAREDIS-478 - Upgrade to lettuce 3.4.2.Final. * DATAREDIS-476 - Make LettuceConnectionFactory's client able to connect through SSL. * DATAREDIS-475 - Release 1.7 RC1 (Hopper). * DATAREDIS-474 - Fix spelling / format in reference documentation. * DATAREDIS-472 - Update/Add guards in JedisConnetion that (no longer) require casts from long to int when exceeding Integer.MAX_VALUE. * DATAREDIS-468 - RedisCache does not work in cluster. * DATAREDIS-467 - Cluster mget not working. * DATAREDIS-465 - Guard lettuce shutdown during ConnectionFactory.destroy(). * DATAREDIS-464 - Enhance JavaDoc on RedisStringCommands and StringRedisConnection. * DATAREDIS-463 - Improve test synchronization. * DATAREDIS-462 - Support lettuce ClientResources. * DATAREDIS-440 - @TimeToLive does not work on Method. * DATAREDIS-427 - Allow injecting deserializer for JdkSerializationRedisSerializer. * DATAREDIS-425 - Add Support for basic CRUD and finder Operations backed by Hashes and Sets. * DATAREDIS-415 - Listener Container Does Not Set Interrupted Bit. * DATAREDIS-316 - Add EX, PX, NX, XX options to SET command. Changes in version 1.6.4.RELEASE (2016-02-23) --------------------------------------------- * DATAREDIS-465 - Guard lettuce shutdown during ConnectionFactory.destroy(). * DATAREDIS-463 - Improve test synchronization. * DATAREDIS-460 - Remove eclipse specific files from github repository. * DATAREDIS-459 - Release 1.6.4 (Gosling SR2). * DATAREDIS-443 - Support of synchronized mode introduced in Spring 4.3. * DATAREDIS-419 - Switch to Maven build. Changes in version 1.7.0.M1 (2016-02-12) ---------------------------------------- * DATAREDIS-461 - Deprecate support for org.codehaus.jackson based Serializers and Mappers. * DATAREDIS-460 - Remove eclipse specific files from github repository. * DATAREDIS-458 - Upgrade to lettuce 3.4.1.Final. * DATAREDIS-457 - Fix typo in reference documentation. * DATAREDIS-456 - Fix misleading log message created by RedisMessageListenerContainer. * DATAREDIS-455 - Increase timeout for expiration in cluster tests. * DATAREDIS-452 - Improve thread synchronization in RedisCacheTest.testCacheGetSynchronized. * DATAREDIS-449 - Add code of conduct. * DATAREDIS-448 - DefaultSetOperations.intersectAndStore don't return operation result. * DATAREDIS-447 - Release 1.7 M1 (Hopper). * DATAREDIS-443 - Support of synchronized mode introduced in Spring 4.3. * DATAREDIS-437 - Upgrade to Jedis 2.8.0. * DATAREDIS-435 - PubSubResubscribeTests and PubSubTests rely on other tests having already run previously. * DATAREDIS-431 - SELECT not called with @Caching annotations and Lettuce library. * DATAREDIS-419 - Switch to Maven build. * DATAREDIS-417 - ScanCursor throw " java.util.NoSuchElementException". * DATAREDIS-407 - Add zRangeByLex to ZSetOperations. * DATAREDIS-405 - Deprecate support for jredis and srp. * DATAREDIS-315 - Add Support for Redis Cluster. * DATAREDIS-276 - Add support form MIGRATE. Changes in version 1.6.2.RELEASE (2015-12-18) --------------------------------------------- * DATAREDIS-442 - Upgrade to Spring 4.1.9. * DATAREDIS-441 - Release 1.6.2 (Gosling). Changes in version 1.6.1.RELEASE (2015-11-15) --------------------------------------------- * DATAREDIS-436 - Release 1.6.1 (Gosling). * DATAREDIS-435 - PubSubResubscribeTests and PubSubTests rely on other tests having already run previously. * DATAREDIS-417 - ScanCursor throw " java.util.NoSuchElementException". Changes in version 1.4.4.RELEASE (2015-10-14) --------------------------------------------- * DATAREDIS-434 - Release 1.4.4 (Evans). Changes in version 1.6.0.RELEASE (2015-09-01) --------------------------------------------- * DATAREDIS-429 - Release 1.6 GA (Gosling). * DATAREDIS-426 - Upgrade to lettuce 3.3. * DATAREDIS-424 - Update Reference Documentation. * DATAREDIS-421 - NullPointerException when saving null values. * DATAREDIS-392 - Jackson2RedisSerializer cannot deserialize ObjectId fields. Changes in version 1.6.0.RC1 (2015-08-04) ----------------------------------------- * DATAREDIS-420 - Release 1.6 RC1 (Gosling). * DATAREDIS-416 - RedisCache.putIfAbsent(…) breaks contract defined by org.springframework.cache.Cache. * DATAREDIS-414 - Serialization occurs while pooled connection can be released. * DATAREDIS-413 - Use the latest version of the Spring IO Plugin. * DATAREDIS-412 - Support for Jedis 2.7.1, 2.7.2 and 2.7.3. * DATAREDIS-403 - Fix JavaDoc stylesheet. * DATAREDIS-402 - RedisCache should not expire known keys in case ttl of element is not set. * DATAREDIS-401 - RedisCacheManager should operate upon RedisOperations instead of RedisTemplate. * DATAREDIS-348 - Upgrade Lettuce to 3.x release. Changes in version 1.5.2.RELEASE (2015-07-28) --------------------------------------------- * DATAREDIS-418 - Release 1.5.2 (Fowler). * DATAREDIS-416 - RedisCache#putIfAbesent breaks contract defined by o.s.cache.Cache. * DATAREDIS-412 - Support for Jedis 2.7.1, 2.7.2 and 2.7.3. Changes in version 1.3.6.RELEASE (2015-07-01) --------------------------------------------- * DATAREDIS-408 - Release 1.3.6 (Dijkstra). * DATAREDIS-328 - RedisCacheManager should not instantiate caches in setCacheNames(). Changes in version 1.4.3.RELEASE (2015-07-01) --------------------------------------------- * DATAREDIS-409 - Release 1.4.3 (Evans). * DATAREDIS-403 - Fix JavaDoc stylesheet. * DATAREDIS-383 - Improve JavaDoc of RedisCacheManager. * DATAREDIS-375 - A transactional RedisCacheManager decorates the cache with the TransactionAwareCacheDecorator twice. * DATAREDIS-369 - RedisCache zset leak. * DATAREDIS-332 - @Transactional Using multiple connections. * DATAREDIS-328 - RedisCacheManager should not instantiate caches in setCacheNames(). Changes in version 1.5.1.RELEASE (2015-06-30) --------------------------------------------- * DATAREDIS-410 - Release 1.5.1 (Fowler). * DATAREDIS-403 - Fix JavaDoc stylesheet. * DATAREDIS-402 - RedisCache should not expire known keys in case ttl of element is not set. * DATAREDIS-332 - @Transactional Using multiple connections. Changes in version 1.6.0.M1 (2015-06-02) ---------------------------------------- * DATAREDIS-400 - Release 1.6 M1 (Gosling). * DATAREDIS-396 - Update Jedis driver to version 2.7.2. * DATAREDIS-393 - Update Spring Version to 4.1.6. * DATAREDIS-388 - Upgrade to Jedis 2.7. * DATAREDIS-378 - Add support for ZRANGEBYLEX. * DATAREDIS-352 - Enhance range options for zSetOperations. * DATAREDIS-332 - @Transactional Using multiple connections. Changes in version 1.5.0.RELEASE (2015-03-23) --------------------------------------------- * DATAREDIS-385 - Release 1.5 GA. * DATAREDIS-384 - Remove Java6 build for Travis-CI. * DATAREDIS-383 - Improve JavaDoc of RedisCacheManager. * DATAREDIS-380 - Use Redis 2.8.19 for tests. * DATAREDIS-379 - Update reference documentation. * DATAREDIS-374 - Adapt JedisConnectionFactory for changes in Jedis 2.7. Changes in version 1.5.0.RC1 (2015-03-05) ----------------------------------------- * DATAREDIS-377 - Release 1.5 RC1. * DATAREDIS-375 - A transactional RedisCacheManager decorates the cache with the TransactionAwareCacheDecorator twice. * DATAREDIS-372 - Allow easier RedisSentinelConfig. * DATAREDIS-371 - Upgrade Spring to 4.0.9.RELEASE. * DATAREDIS-369 - RedisCache zset leak. * DATAREDIS-364 - Add extension possibility to RedisCacheManager. * DATAREDIS-363 - Upgrade to jedis to 2.6.2. * DATAREDIS-361 - Fix gradle docsZip not picking up reference html. * DATAREDIS-328 - RedisCacheManager should not instantiate caches in setCacheNames(). Changes in version 1.4.2.RELEASE (2015-01-28) --------------------------------------------- * DATAREDIS-366 - Release 1.4.2. * DATAREDIS-364 - Add extension possibility to RedisCacheManager. * DATAREDIS-361 - Fix gradle docsZip not picking up reference html. * DATAREDIS-356 - Scripts don't try EVAL after EVALSHA fails. * DATAREDIS-354 - Jackson2JsonRedisSerializer should allow to customise the JavaType for deserialization via getJavaType(). Changes in version 1.3.5.RELEASE (2015-01-27) --------------------------------------------- * DATAREDIS-365 - Release 1.3.5. Changes in version 1.5.0.M1 (2014-12-01) ---------------------------------------- * DATAREDIS-360 - Release 1.5 M1. * DATAREDIS-359 - Fix redis javadoc generation. * DATAREDIS-356 - Scripts don't try EVAL after EVALSHA fails. * DATAREDIS-355 - Upgrade to jedis 2.6.1. * DATAREDIS-354 - Jackson2JsonRedisSerializer should allow to customise the JavaType for deserialization via getJavaType(). * DATAREDIS-351 - Update build to latest redis version. * DATAREDIS-350 - Upgrade to Jedis 2.6.x. * DATAREDIS-347 - DefaultScriptExecutor always runs script twice if Exception is thrown. * DATAREDIS-334 - Provide binary alternative for RedisScriptingCommands.evalSha. * DATAREDIS-308 - Add Support for HyperLogLog. * DATAREDIS-288 - ListOperations should support using Collections instead of varargs as input. * DATAREDIS-197 - Implement Redis bitmap. * DATAREDIS-106 - Support for open interval for scores for sorted sets. Changes in version 1.4.1.RELEASE (2014-10-30) --------------------------------------------- * DATAREDIS-353 - Release 1.4.1. * DATAREDIS-347 - DefaultScriptExecutor always runs script twice if Exception is thrown. Changes in version 1.4.0.RELEASE (2014-09-05) --------------------------------------------- * DATAREDIS-346 - Update to Spring Version 4.0.7. * DATAREDIS-345 - Release 1.4 GA. * DATAREDIS-344 - Assert RedisCache works with spring 4.1. * DATAREDIS-340 - Bulk adding multiple elements to a sorted set is dramatically slow. * DATAREDIS-336 - Move to Asciidoctor for reference documentation. Changes in version 1.3.4.RELEASE (2014-08-27) --------------------------------------------- * DATAREDIS-339 - Release 1.3.4. * DATAREDIS-337 - MessageListener method should only be invoked once per message. * DATAREDIS-333 - EvalSha returns incorrect result. Changes in version 1.4.0.RC1 (2014-08-13) ----------------------------------------- * DATAREDIS-338 - Release 1.4 RC1. * DATAREDIS-337 - MessageListener method should only be invoked once per message. * DATAREDIS-335 - Upgrade to jedis 2.5.2. * DATAREDIS-333 - EvalSha returns incorrect result. * DATAREDIS-330 - Add support for redis Sentinel commands. * DATAREDIS-327 - Improve exception handling for supported clients. * DATAREDIS-326 - SrpConverters wraps unknown exceptions in RedisSystemException instead of returning null. * DATAREDIS-325 - RedisConnectionFactory translates exceptions too aggressively. * DATAREDIS-324 - Add support to configure RedisSentinels for obtaining connection to current master node. * DATAREDIS-295 - Converting all exceptions to Jedis Exception. Changes in version 1.3.2.RELEASE (2014-07-28) --------------------------------------------- * DATAREDIS-331 - Release 1.3.2. * DATAREDIS-327 - Improve exception handling for supported clients. * DATAREDIS-326 - SrpConverters wraps unknown exceptions in RedisSystemException instead of returning null. * DATAREDIS-325 - RedisConnectionFactory translates exceptions too aggressively. * DATAREDIS-323 - Remove links to forum.spring.io. * DATAREDIS-295 - Converting all exceptions to Jedis Exception. Changes in version 1.4.0.M1 (2014-07-10) ---------------------------------------- * DATAREDIS-323 - Remove links to forum.spring.io. * DATAREDIS-322 - Release 1.4 M1. * DATAREDIS-321 - Adapt to Spring 4 upgrade. * DATAREDIS-314 - Add usage of SCAN commands to Collection types. * DATAREDIS-313 - Overhaul naming and return types of SCAN, HSCAN, SSCAN, ZSCAN operations. * DATAREDIS-312 - Add travis-ci configuration. * DATAREDIS-311 - Add test summary output to the build. * DATAREDIS-310 - Lock of RedisCache is not safe. * DATAREDIS-309 - Refactor test profiles to support more than 2 versions. * DATAREDIS-306 - Add support for ZSCAN. * DATAREDIS-305 - Add support for HSCAN. * DATAREDIS-296 - Upgrade jedis to recent version. * DATAREDIS-290 - Add support for 'SCAN' command. Changes in version 1.3.1.RELEASE (2014-06-30) --------------------------------------------- * DATAREDIS-320 - Release 1.3.1. * DATAREDIS-317 - Cannot increment RedisAtomicInteger. * DATAREDIS-310 - Lock of RedisCache is not safe. * DATAREDIS-307 - Add missing reference documentation for managed transaction support. Changes in version 1.3.0.RELEASE (2014-05-20) --------------------------------------------- * DATAREDIS-303 - Upgrade to Spring 3.2.9. * DATAREDIS-302 - DecoratingStringHashMapper breaks RetwisJ sample. * DATAREDIS-301 - Release 1.3 GA. * DATAREDIS-300 - RedisConnectionUtils: inconsistency with connection open() and close(). * DATAREDIS-299 - Assert compatibility with Spring IO. Changes in version 1.3.0.RC1 (2014-05-02) ----------------------------------------- * DATAREDIS-298 - Unneeded jcl-over-slf4j dependency. * DATAREDIS-297 - Release 1.3 RC1. * DATAREDIS-296 - Upgrade jedis to recent version. * DATAREDIS-293 - JedisConnection does not allow bulk adding multiple elements with the same score to a sorted set. * DATAREDIS-226 - Individual syntax errors on Lettuce transactions are not reported. * DATAREDIS-73 - add TransactionAware* Driver interfaces. Changes in version 1.3.0.M1 (2014-03-31) ---------------------------------------- Fix [DATAREDIS-283] - RedisCacheManager.loadCaches overrides already defined cache names in afterPropertiesSet(). [DATAREDIS-285] - LettuceTemplate.execute should read and convert entire response. [DATAREDIS-286] - Avoid potential RedisTemplate.expire() overflow. [DATAREDIS-289] - Avoid NPE in append() in case of pipelining or/and multi/exec calls. Improvement [DATAREDIS-184] - Support Redis 2.6 SAVE/NOSAVE arguments to shutdown command. [DATAREDIS-284] - Add support for zCard to ZSetOperations. [DATAREDIS-287] - setBit() should return a Boolean. New Feature [DATAREDIS-267] - Add support for CLIENT KILL. [DATAREDIS-268] - Add support for CLIENT LIST. [DATAREDIS-269] - Add support for CLIENT SETNAME. [DATAREDIS-270] - Add support for CLIENT GETNAME. [DATAREDIS-271] - Add support for PSETEX. [DATAREDIS-277] - Add support for SLAVEOF. Task [DATAREDIS-261] - Upgrade commons-pool to commons-pool2. [DATAREDIS-275] - Rename RedisServerCommands.bgWriteAof to bgReWriteAof. [DATAREDIS-292] - Release 1.3.0 M1. Changes in version 1.2.1.GA (2014-03-27) ---------------------------------------- Fix [DATAREDIS-283] - RedisCacheManager.loadCaches overrides already defined cache names in afterPropertiesSet(). [DATAREDIS-285] - LettuceConnection.execute should fully read response. [DATAREDIS-286] - Avoid overflow in JedisConnection#expire / #pexpire. [DATAREDIS-289] - Avoid NPE in DefaultValueOperations#append() in case of pipelining or/and multi/exec calls. Task [DATAREDIS-291] - Release Version 1.2.1. Changes in version 1.3.0.M1 (2014-03-31) ---------------------------------------- Fix [DATAREDIS-283] - RedisCacheManager.loadCaches overrides already defined cache names in afterPropertiesSet(). [DATAREDIS-285] - LettuceTemplate.execute should read and convert entire response. [DATAREDIS-286] - Avoid potential RedisTemplate.expire() overflow. [DATAREDIS-289] - Avoid NPE in append() in case of pipelining or/and multi/exec calls. Improvement [DATAREDIS-184] - Support Redis 2.6 SAVE/NOSAVE arguments to shutdown command. [DATAREDIS-284] - Add support for zCard to ZSetOperations. [DATAREDIS-287] - setBit() should return a Boolean. New Feature [DATAREDIS-267] - Add support for CLIENT KILL. [DATAREDIS-268] - Add support for CLIENT LIST. [DATAREDIS-269] - Add support for CLIENT SETNAME. [DATAREDIS-270] - Add support for CLIENT GETNAME. [DATAREDIS-271] - Add support for PSETEX. [DATAREDIS-277] - Add support for SLAVEOF. Task [DATAREDIS-261] - Upgrade commons-pool to commons-pool2. [DATAREDIS-275] - Rename RedisServerCommands.bgWriteAof to bgReWriteAof. [DATAREDIS-292] - Release 1.3.0 M1. Changes in version 1.2.1.GA (2014-03-27) ---------------------------------------- Fix [DATAREDIS-283] - RedisCacheManager.loadCaches overrides already defined cache names in afterPropertiesSet(). [DATAREDIS-285] - LettuceConnection.execute should fully read response. [DATAREDIS-286] - Avoid overflow in JedisConnection#expire / #pexpire. [DATAREDIS-289] - Avoid NPE in DefaultValueOperations#append() in case of pipelining or/and multi/exec calls. Task [DATAREDIS-291] - Release Version 1.2.1. Changes in version 1.2.0.GA (2014-03-03) ---------------------------------------- Task [DATAREDIS-279] - Update reference documentation. [DATAREDIS-282] - PubSubResubscribeTests should use jedis without pool. Changes in version 1.2.0.RC1 (2014-02-19) ---------------------------------------- Fix [DATAREDIS-166] - Intermittent corrupted input/output streams subscribing to both patterns and channels in RMLC [DATAREDIS-170] - Canceling RMLC SubscriptionTask immediately after start can leave connection open [DATAREDIS-188] - Infinite loop renaming a non-existent Collection when using Lettuce [DATAREDIS-246] - RedisCacheManager‘s getCache method does not match the logical of CompositeCacheManager Improvement [DATAREDIS-250] - Upgrade to Spring Framework 3.2.8. New Feature [DATAREDIS-206] - Add support for time operation [DATAREDIS-241] - Add a Jackson2 based RedisSerializer Task [DATAREDIS-254] - Clean up codebase to match spring data conventions [DATAREDIS-260] - Upgrade to latest jedis (2.4.1) release [DATAREDIS-264] - Update gradle version [DATAREDIS-265] - Update Java source and target compatibility to Java 6 [DATAREDIS-266] - Overhaul documentation. Changes in version 1.1.1.RELEASE (2014-01-28) ---------------------------------------- Fix [DATAREDIS-245] - Prevent excessive Thread creation in unit tests [DATAREDIS-248] - Fix generics in DecoratingStringHashMapper to be Java 8 compatible [DATAREDIS-257] - Shutdown the client when DefaultLettucePool is destroyed Improvement [DATAREDIS-242] - Listener Container start() Returns Before Container is Really Started [DATAREDIS-249] - Improve logging for tests in Gradle build [DATAREDIS-251] - Fix tests to work against Redis 2.8.x Task [DATAREDIS-243] - Ensure compatibility with Spring Framework 4.0 [DATAREDIS-247] - Testcases must be locale independent [DATAREDIS-255] - Release 1.1.1 Changes in version 1.1.0.RELEASE (2013-09-09) ---------------------------------------- No changes Changes in version 1.1.0.RC1 (2013-08-22) ---------------------------------------- Package o.s.d.redis.core * Modified RedisTemplate expire and expireAt to use millisecond precision when available (Redis 2.6+) * Added RedisTemplate getExpire(key, TimeUnit) method that uses millisecond precision when available (Redis 2.6+) Package o.s.d.redis.connection.jedis * Fixed invalid Jedis connections returning to pool after NPE Package o.s.d.redis.connection.lettuce * Modified LettuceConnectionFactory to lazily instantiate connections, allowing the AppContext to start if Redis is unavailable Package o.s.d.redis.connection.srp * Added password to SrpConnectionFactory * Fixed SrpConnection throwing native Exception from constructor on connection failure Package o.s.d.redis.listener * Fixed MessageListenerAdapter extractMessage returning the whole Message instead of the Message body when serializer is null * Added resubscribe on connection failure to RedisMessageListenerContainer Package o.s.d.redis.support.collections * Implemented ConcurrentMap replace and remove methods Changes in version 1.1.0.M2 (2013-08-06) ---------------------------------------- General * Modified RedisConnection and Operations classes to allow passing multiple elements to hdel, rpush, lpush, sadd, srem, zadd, and zrem operations * Added method to RedisTemplate for executing Redis Lua scripts * Modified RedisTemplate and opsForX classes to allow null serializers for working with raw data * Modified RedisConnection impls to convert the connector-specific results of closePipeline to the same data types as the individual RedisConnection operations * Modified RedisConnection impls to convert the connector-specific results of transaction exec to the same data types as the individual RedisConnection operations * Upgraded to Gradle 1.6 Package o.s.d.redis.cache * Fixed IlegalMonitorStateException when get or put performed while clearing Package o.s.d.redis.core * Added RedisTemplate executePipelined methods for executing commands in a pipeline and returning deserialized results * Modified RedisTemplate exec to deserialize results of transaction execution * Fixed StringRedisConnection not being passed to RedisCallbacks executed through StringRedisTemplate * Fixed NPE in DefaultZSetOperations methods that return Tuple Set in tx or pipeline Package o.s.d.redis.connection * Added missing zRevRangeByScore methods to StringRedisConnection * Modified StringRedisConnection sUnionStore, sInterStore, and sDiffStore to return Long * Fixed DefaultStringRedisConnection not passing begin and end to bitCount method Package o.s.d.redis.connection.jedis * Fixed ClassCastExceptions closing a pipeline after transaction exec * Fixed UnsupportedOperationExceptions being wrapped in DataAccessExceptions * Fixed connections not returning to pool on failed select * Fixed NPEs on exec/closePipeline that includes move Package o.s.d.redis.connection.lettuce * Fixed UnsupportedOperationExceptions being wrapped in DataAccessExceptions * Fixed NPE calling sort with null SortParams * Fixed closePipeline returning individual results of ops in a transaction instead of a List of exec results * Fixed setBit and setRange executing twice when pipelined * Modified watch method to throw an UnsupportedOperationException if called in a transaction * Fixed eval and evalsha suppressing Exceptions with ReturnType Multi Package o.s.d.redis.connection.srp * Fixed UnsupportedOperationExceptions being wrapped in DataAccessExceptions * Fixed NPE calling sort with null SortParams * Fixed closePipeline returning individual results of ops in a transaction instead of a List of exec results * Fixed Exception calling select in a transaction * Fixed NPE in sort when SortParameters.isAlphabetic() returns null Package o.s.d.redis.listener * Removed 5 second wait starting RedisMesssageListenerContainer with no listeners Package o.s.d.redis.support.atomic * Added RedisAtomicDouble Changes in version 1.0.6.RELEASE (2013-08-06) ---------------------------------------- General * Upgraded to Gradle 1.6 Package o.s.d.redis.cache * Fixed IlegalMonitorStateException when get or put performed while clearing Package o.s.d.redis.core * Fixed StringRedisConnection not being passed to RedisCallbacks executed through StringRedisTemplate * Fixed NPE in DefaultZSetOperations methods that return Tuple Set in tx or pipeline Package o.s.d.redis.connection.jedis * Fixed connections not returning to pool on failed select * Fixed NPEs on exec/closePipeline that includes move Package o.s.d.redis.connection.lettuce * Fixed NPE calling sort with null SortParams * Fixed setBit and setRange executing twice when pipelined Package o.s.d.redis.connection.srp * Fixed NPE calling sort with null SortParams * Fixed Exception calling select in a transaction * Fixed NPE in sort when SortParameters.isAlphabetic() returns null Package o.s.d.redis.listener * Removed 5 second wait starting RedisMesssageListenerContainer with no listeners Changes in version 1.1.0.M1 (2013-07-02) ---------------------------------------- General * Added Redis 2.6 millisecond expiration commands (pexpire, pttl, etc) * Added Redis 2.6 bit commands (bitop, bitcount) * Added support for Redis 2.6 scripting * Added Redis 2.6 incrbyfloat and hincrbyfloat commands * Added Redis 2.6 dump and restore commands * Added Redis 2.6 info by section * Added Redis 2.6 srandmember with count * Removed RJC due to lack of Redis 2.6 support * Upgraded JRedis from older fork (https://github.com/anthonylauzon/jredis) to latest original master (https://github.com/alphazero/jredis) * Made Jedis dependency optional in the build Package o.s.d.redis.core * Changed ValueOperations.multiSetIfAbsent return type from void to Boolean Package o.s.d.redis.connection * Changed StringRedisCommands.mSetNX return type from void to Boolean Package o.s.d.redis.connection.jredis * Removed base64 key encoding, since binary keys are supported in JRedis upgrade. Fixes issue where keys method with patterns was not working due to encoding. * Added JredisPool, since pool impl was removed from JRedis. Also fixes issue with previous pool where failed connections were not removed. Package o.s.d.redis.connection.lettuce * Added LettucePool for optional pooling of blocking/tx Lettuce connections * Added optional Redis password to LettuceConnectionFactory * Modified LettuceConnectionFactory to throw RedisConnectionFailureExceptions instead of native Exceptions Changes in version 1.0.5.RELEASE (2013-07-02) --------------------------------------------- General * Upgraded to SRP 0.7 * Upgraded to Lettuce 2.3.3 Package o.s.d.redis.core * Fixed left/right pop timeouts converting to 0 seconds (blocking indefinitely) Package o.s.d.redis.connection.lettuce * Fixed exec returning empty list instead of null if watched variable modified Package o.s.d.redis.connection.srp * Fixed exec throwing TransactionFailedException instead of returning null if watched variable modified Package o.s.d.redis.listener.adapter * Added MessageListenerAdapter constructor with delegate and listener method Changes in version 1.0.4.RELEASE (2013-04-18) --------------------------------------------- General * Introduced Lettuce connection sharing to greatly reduce number of connections used * Upgraded to SRP 0.5 * Improved reference documentation * Added several integration tests of each RedisConnection implementation Package o.s.d.redis.core * Reverted binary backwards incompatibility introduced by fix in 1.0.3.RELEASE to RedisTemplate convertAndSend() method to return the number of targeted channels Package o.s.d.redis.connection * Fixed NPE in DefaultStringRedisConnection deserializing a null Map Package o.s.d.redis.connection.jedis * Removed unnecessary cast of Long to Int in increment/decrement ops * Fixed incorrect transaction discard * Fixed dbSize/flush ops executing synchronously while pipelining * Fixed execute method returning incorrect results * Fixed brPop executing twice when called in a transaction * Fixed persist method not executing as part of a transaction * Fixed incorrect closing of pipeline Package o.s.d.redis.connection.jredis * Fixed sort not storing results under given key Package o.s.d.redis.connection.lettuce * Fixed NPE on LettuceConnection blpop/brpop timeout * Fixed exec returning a non-null value while pipelining * Fixed zCount/zInterStore methods executing synchronously when pipelining * Fixed NPEs or incorrect results in several ops within a transaction * Fixed zRevRangeByScore methods failing due to incorrect parameter ordering Package o.s.d.redis.connection.rjc * Fixed zRevRangeWithScores returning incorrect results * Fixed incorrect closing of pipeline * Fixed zRevRangeByScore methods failing due to incorrect parameter ordering Package o.s.d.redis.connection.srp * Fixed exec not returning the results of the commands executed in the tx * Fixed brpop/blpop fails with "ERR wrong number of arguments" * Fixed sort not working due to NPE/syntax errors * Fixed zCount/zInterStore methods executing synchronously when pipelining * Fixed syntax error in zRangeByScore/zRevRangeByScore methods when using offset and count * Fixed incorrect closing of pipeline * Fixed zRevRangeByScore methods failing due to incorrect parameter ordering Package o.s.d.redis.listener * Fixed SubscriptionTask not closing connections * Fixed messages not received after adding a message listener to both channel and pattern before container start Changes in version 1.0.3.RELEASE (2013-02-13) --------------------------------------------- General * Introduced support for Lettuce Redis driver * Upgraded to Spring Framework 3.1.4 * Log4J dependency removed * Improved reference documentation Package o.s.d.redis.cache * Clarified default of 'useprefix' for RedisCacheManager Package o.s.d.redis.core * Improved RedisTemplate initialization to prevent exceptions caused by invalid serializers * Refined RedisTemplate#delete call when dealign with empty collection * Refined convertAndSend() method to return the number of targeted channels Package o.s.d.redis.connection * Fixed unimplemented method (hGetAll) in StringRedisConnection Package o.s.d.redis.connection.jedis * Improved handling of socket exceptions uncaught by the driver at connection time Package o.s.d.redis.connection.srp * Fixed incorrect handling BulkReply affecting hash operations * Improved pipelined usage of various operations Package o.s.d.redis.listener * Added proper hash/equals/toString method to ChannelTopic and PatternTopic * Improved MessageListenerContainer to support dynamic removal of listeners Package o.s.d.redis.support * Added RedisTemplate-based constructor to AtomicInteger/Long for connection/resource reuse Changes in version 1.0.2.RELEASE (2012-10-10) --------------------------------------------- General * Upgraded to Spring Framework 3.1.2 * Upgraded to SLF4J 1.6.6 * Upgraded to Log4J 1.2.17 * Upgraded to Jackson 1.8.8 * Upgraded build system to Gradle 1.2 Package o.s.d.redis.cache * Fixed bug causing constructor to ignore cache name prefix * Introduced expiration time for cache zones Package o.s.d.redis.core * Fixed incorrect return value (from primitive to Object) on BoundHashOperations#hasKey * Added overloaded ZSet methods with offset/count parameters Package o.s.d.redis.connection * Refined RedisConnectionCommands, RedisKeyCommands interface signature Package o.s.d.redis.listener * Fixed bug causing the message channel to not be passed to the listener Package o.s.d.redis.support.collection * Added checks for incorrect pipeline/multi-exec access for better reporting Changes in version 1.0.1.RELEASE (2012-06-27) --------------------------------------------- General * Introduced support for SRP (Sam's Redis Protocol) * Introduced native execution through RedisConnection#execute * Upgraded to Spring Framework 3.1.1 * Upgraded to Jedis 2.1.0 * Upgraded build system to Gradle 1.0 Package o.s.d.redis.connection * Expanded set *store operations to return the resulting set size * Refined RedisConnection#closePipeline contract by adding RedisPipelineException Package o.s.d.redis.connection.jedis * Improved exception translation of Jedis exceptions * Fixed value bug in #setBit * Added support for zRev* operations (new in Jedis 2.1) * Added pipeline support for #zCount Package o.s.d.redis.connection.jredis * Fixed value bug in #setBit Package o.s.d.redis.core * Fixed bug in SetOperations#randomMember * Fixed switched arguments in ZSetOperations#intersectAndStore * Corrected handling of negative values in ValueOperations#increment * Refined internal caching of serializers to cope with template configuration updates * Expanded set *store operations to return the resulting set size * Expanded ZSetOperations#removeRange* to return the number of elements removed * Improved binding of Redis connections to thread * Refined handling of pipelined connections to allow potential exceptions to properly propagate * Expanded HashOperations#multiGet and #values to return List instead of Collection Package o.s.d.redis.listener * Improved lifecycle of RedisMessageListenerContainer * Fixed bug causing double invocation of custom listeners also implementing MessageListener Changes in version 1.0.0.RELEASE (2011-12-14) --------------------------------------------- General * Upgraded to Spring Framework 3.1 GA Changes in version 1.0.0.RC1 (2011-10-19) ----------------------------------------- General * Upgraded to Spring Framework 3.1 RC1 * Upgraded slfj, Jackson libraries * Changed compile source/target compatibility to JDK 1.5 Package o.s.d.redis.connection * Added equals/hashCode/compareTo methods to TypedTuple Package o.s.d.redis.core * Fixed potential bug in RedisTemplate#sort * Added equals/hashCode/compareTo methods to TypedTuple Package o.s.d.redis.support * Fixed potential bug in RedisProperties * Improved Redis cache implementation under heavy concurrent access Changes in version 1.0.0.M4 (2011-07-18) ---------------------------------------- General * Split Spring Data Key Value project into separate projects for Redis and Riak * Changed build system to Gradle * Changed root package from org.springframework.data.keyvalue.redis to org.springframework.data.redis * Introduced Redis implementation for Spring 3.1 cache abstraction * Upgraded to Spring Framework 3.1 M2 * Upgraded to Jedis 2.0.0 Package o.s.d.redis.connection * Added awarness of the selected Redis DB Package o.s.d.redis.core * Added missing zRange* operations * Fixed incorrect cast in RedisTemplate#keys() * Removed ConnectionFactory constructor Package o.s.d.redis.listener * Simplified namespace declaration for Redis pubsub Package o.s.d.redis.support * Improved compatibility of atomic counters with M2 release * Added Properties implementation on top of Redis Changes in version 1.0.0.M3 (2011-04-06) ---------------------------------------- Redis ----- General * Added support for RJC (new Redis client) * Added dedicated SORT and SORT/GET support * Introduced HashMapper feature for mapping objects to and from maps * Improved exception hierarchy to be more consistent with Spring DAO * Made several Redis dependencies optional to eliminate unnecessary jars from the classpath Package o.s.d.k.redis.connection * Added support for indexes to RedisConnectionFactories * Added new key operations to KeyOperations (formerly KeyBound) * Improved handling of Jedis exceptions Package o.s.d.k.redis.core * Serializers are exposed to RedisCallback * Added missing operations (move, select) to RedisTemplate * Fixed the signature of various method Package o.s.d.k.redis.support.atomic * Fixed incorrect serialization leading to error for RedisAtomicInteger & RedisAtomicLong Changes in version 1.0.0.M2 (2011-02-10) ---------------------------------------- Redis ----- General * Added PubSub support (message listener container and namespace) * Added JSON and Object/XML Mapping serializers * Completed support for Redis (2.2) commands * Improved documentation * Upgraded to Redis 2.2 * Updraded to Jedis 1.5.2 Package o.s.d.k.redis.connection * Added sort support * Added pipelining support * Added StringRedisConnection for String-focused operations * Renamed JedisConnectionFactory pooling to usePool * Renamed JredisConnectionFactory pooling to usePool Package o.s.d.k.redis.connection.jedis * Added support for Jedis rich exceptions * Added support for broken pooled connection Package o.s.d.k.redis.core * Fix serializationg bug for hash value inside RedisTemplate * Added injection for Redis operations ("views") Package o.s.d.k.redis.support * Refined AtomicInteger and AtomicLong constructors to use the backing store value as initial counter Riak ---- General * Important bug fixes * Fully asynchronous AsyncRiakTemplate object * Groovy DSL for Riak access using async template underneath Changes in version Riak 1.0.0.M1 (2010-12-15) --------------------------------------------- General * Generified RiakTemplate for exception translation, serialization, and data access * Built-in HTTP REST client based on Spring 3.0 RestTemplate * java.io and Spring IO resource abstractions for reading/writing streams * java.io.File subclass that represents a Riak resource Changes in version Redis 1.0.0.M1 (2010-12-13) ---------------------------------------------- General * Configuration support for Redis Jedis and JRedis drivers/connectors * Connection package as low-level abstraction across multiple drivers * Exception translation * Generified RedisTemplate for exception translation and serialization support * Various serialization strategies * Atomic counter support classes * JDK Collection implementations on top of Redis