All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mework.data.spring-data-redis.2.1.1.RELEASE.source-code.changelog.txt Maven / Gradle / Ivy

There is a newer version: 3.2.5
Show newest version
Spring Data Redis Changelog
===========================

Changes in version 2.1.1.RELEASE (2018-10-15)
---------------------------------------------
* DATAREDIS-871 - Release 2.1.1 (Lovelace SR1).


Changes in version 2.1.0.RELEASE (2018-09-21)
---------------------------------------------
* DATAREDIS-870 - Upgrade to Lettuce 5.1.0.RELEASE.
* DATAREDIS-869 - Track and reflect nomenclature changes re replication.
* DATAREDIS-868 - Include documentation about Repository Object Mapping Fundamentals.
* DATAREDIS-862 - Document that Redis Repositories do not support transactions.
* DATAREDIS-861 - Release 2.1 GA (Lovelace).
* DATAREDIS-741 - Improve repository operation documentation.
* DATAREDIS-708 - Extract BGREWRITEAOF and BGSAVE tests to unit tests.


Changes in version 2.0.10.RELEASE (2018-09-10)
----------------------------------------------
* DATAREDIS-862 - Document that Redis Repositories do not support transactions.
* DATAREDIS-854 - Release 2.0.10 (Kay SR10).
* DATAREDIS-741 - Improve repository operation documentation.


Changes in version 1.8.15.RELEASE (2018-09-10)
----------------------------------------------
* DATAREDIS-862 - Document that Redis Repositories do not support transactions.
* DATAREDIS-856 - Release 1.8.15 (Ingalls SR15).
* DATAREDIS-741 - Improve repository operation documentation.


Changes in version 2.1.0.RC2 (2018-08-20)
-----------------------------------------
* DATAREDIS-853 - Release 2.1 RC2 (Lovelace).


Changes in version 1.8.14.RELEASE (2018-07-27)
----------------------------------------------
* DATAREDIS-844 - Release 1.8.14 (Ingalls SR14).


Changes in version 2.0.9.RELEASE (2018-07-26)
---------------------------------------------
* DATAREDIS-852 - NullPointerException using Lettuce with Range.Bound.unbounded().
* DATAREDIS-850 - Wrong assertion in ReactiveStringCommands.pSetEX(…).
* DATAREDIS-845 - Release 2.0.9 (Kay SR9).
* DATAREDIS-843 - RedisAtomic[*].compareAndSet is not atomic.


Changes in version 2.1.0.RC1 (2018-07-26)
-----------------------------------------
* DATAREDIS-852 - NullPointerException using Lettuce with Range.Bound.unbounded().
* DATAREDIS-850 - Wrong assertion in ReactiveStringCommands.pSetEX(…).
* DATAREDIS-849 - Add support for immutable objects.
* DATAREDIS-843 - RedisAtomic[*].compareAndSet is not atomic.
* DATAREDIS-842 - LettuceConnectionFactory.getSentinelRedisURI does not set database.
* DATAREDIS-840 - Stopped Redis server increases RedisMessageListenerContainer shutdown time.
* DATAREDIS-839 - Get rid of unnecessary stubbings the break the build.
* DATAREDIS-836 - Release 2.1 RC1 (Lovelace).
* DATAREDIS-830 - LettucePoolingConnectionProvider contains unreleased connections while using RedisMessageListenerContainer.
* DATAREDIS-771 - IsTrue and IsFalse Query Method Support for Boolean Attributes.
* DATAREDIS-743 - Add support for reactive keyspace scanning with SCAN commands.
* DATAREDIS-696 - Add support for RESTORE with REPLACE option.


Changes in version 2.0.8.RELEASE (2018-06-13)
---------------------------------------------
* DATAREDIS-842 - LettuceConnectionFactory.getSentinelRedisURI does not set database.
* DATAREDIS-840 - Stopped Redis server increases RedisMessageListenerContainer shutdown time.
* DATAREDIS-832 - Add coverpage for epub documentation output.
* DATAREDIS-830 - LettucePoolingConnectionProvider contains unreleased connections while using RedisMessageListenerContainer.
* DATAREDIS-829 - Release 2.0.8 (Kay SR8).


Changes in version 1.8.13.RELEASE (2018-06-13)
----------------------------------------------
* DATAREDIS-840 - Stopped Redis server increases RedisMessageListenerContainer shutdown time.
* DATAREDIS-832 - Add coverpage for epub documentation output.
* DATAREDIS-828 - Release 1.8.13 (Ingalls SR13).


Changes in version 2.1.0.M3 (2018-05-17)
----------------------------------------
* DATAREDIS-833 - Upgrade to Lettuce 5.1.0.M1.
* DATAREDIS-832 - Add coverpage for epub documentation output.
* DATAREDIS-827 - Upgrade to Lettuce 5.0.4.RELEASE.
* DATAREDIS-825 - Full editing pass on reference documentation.
* DATAREDIS-824 - NPE: DefaultReactiveHashOperations#multiGet on null values.
* DATAREDIS-822 - RedisCommand does not consider optional upper argument count.
* DATAREDIS-819 - Fix typo in ReactiveValueOperations.
* DATAREDIS-817 - Upgrade build profile to Redis 4.0.9.
* DATAREDIS-815 - Add method variants accepting/returning java.time.Duration.
* DATAREDIS-812 - Release 2.1 M3 (Lovelace).
* DATAREDIS-786 - Add ValueOperations.setIfPresent(…).
* DATAREDIS-778 - BoundZSetOperations should match return types of ZSetOperations.
* DATAREDIS-763 - Introduce factory methods for JDK serializer accepting ClassLoader.
* DATAREDIS-716 - Add support for OBJECT command.
* DATAREDIS-697 - Add support for BITPOS.
* DATAREDIS-612 - Provide reactive RedisMessageListenerContainer.
* DATAREDIS-562 - Add support for BITFIELD.


Changes in version 2.0.7.RELEASE (2018-05-08)
---------------------------------------------
* DATAREDIS-827 - Upgrade to Lettuce 5.0.4.RELEASE.
* DATAREDIS-825 - Full editing pass on reference documentation.
* DATAREDIS-824 - NPE: DefaultReactiveHashOperations#multiGet on null values.
* DATAREDIS-822 - RedisCommand does not consider optional upper argument count.
* DATAREDIS-819 - Fix typo in ReactiveValueOperations.
* DATAREDIS-809 - Fix Javadoc.
* DATAREDIS-808 - Fix ambiguous repository names in tests.
* DATAREDIS-806 - Release 2.0.7 (Kay SR7).
* DATAREDIS-803 - Work around Redis parameter limitation.
* DATAREDIS-623 - RedisSystemException with paged queries by 2 indexed fields.
* DATAREDIS-601 - Improve Transaction reference documentation.


Changes in version 1.8.12.RELEASE (2018-05-08)
----------------------------------------------
* DATAREDIS-825 - Full editing pass on reference documentation.
* DATAREDIS-822 - RedisCommand does not consider optional upper argument count.
* DATAREDIS-809 - Fix Javadoc.
* DATAREDIS-805 - Release 1.8.12 (Ingalls SR12).
* DATAREDIS-623 - RedisSystemException with paged queries by 2 indexed fields.
* DATAREDIS-601 - Improve Transaction reference documentation.


Changes in version 2.1.0.M2 (2018-04-13)
----------------------------------------
* DATAREDIS-810 - Adapt to API changes in Spring Data Commons.
* DATAREDIS-809 - Fix Javadoc.
* DATAREDIS-808 - Fix ambiguous repository names in tests.
* DATAREDIS-803 - Work around Redis parameter limitation.
* DATAREDIS-800 - Upgrade to netty 4.1.22.Final.
* DATAREDIS-799 - Upgrade to Lettuce 5.0.3.RELEASE.
* DATAREDIS-798 - Remove explicit declaration of Jackson library versions.
* DATAREDIS-791 - ReactiveHashCommands.hMSet calls HSETNX if map contains a single tuple.
* DATAREDIS-789 - Lua script in redis-scripting.adoc contains syntax error.
* DATAREDIS-787 - Retain stack trace in tests.
* DATAREDIS-785 - Export composable repositories via CDI.
* DATAREDIS-784 - Add support for increment and decrement commands via ReactiveValueOperations.
* DATAREDIS-783 - Fix typo in LettuceReactiveRedisConnection.
* DATAREDIS-782 - Add support for SET key value NX EX ttl.
* DATAREDIS-780 - Up-to-date guidelines for serialization usage.
* DATAREDIS-779 - ReactiveValueOperations.set[ifPresent|ifAbsent](…) does not return a value if value was not set.
* DATAREDIS-775 - ClassCastException when using Redis Cluster with connection pooling.
* DATAREDIS-773 - Upgrade to Lettuce 5.0.2.RELEASE.
* DATAREDIS-770 - Release 2.1 M2 (Lovelace).
* DATAREDIS-768 - Redis repositories deserialize Map to strings.
* DATAREDIS-767 - RedisCacheManager always returns/creates caches which is conflicting with CompositeCacheManager.
* DATAREDIS-764 - Polish serializers section in reference documentation.
* DATAREDIS-762 - Add support for static Master/Slave setups with provided nodes.
* DATAREDIS-746 - Zset union and intersect operation aggregation support.
* DATAREDIS-731 - Share native Lettuce Cluster connection across LettuceClusterConnection.
* DATAREDIS-715 - Cannot configure RedisCache prefix.
* DATAREDIS-635 - Implement Cluster SCAN support for Lettuce.
* DATAREDIS-601 - Improve Transaction reference documentation.
* DATAREDIS-545 - Support connection-pooling for Redis Cluster with Lettuce.
* DATAREDIS-544 - Reading back nested entities fails when no default constructor present.
* DATAREDIS-543 - Spring Data Redis should support the @TypeAlias annotation.


Changes in version 2.0.6.RELEASE (2018-04-04)
---------------------------------------------
* DATAREDIS-799 - Upgrade to Lettuce 5.0.3.RELEASE.
* DATAREDIS-798 - Remove explicit declaration of Jackson library versions.
* DATAREDIS-791 - ReactiveHashCommands.hMSet calls HSETNX if map contains a single tuple.
* DATAREDIS-789 - Lua script in redis-scripting.adoc contains syntax error.
* DATAREDIS-783 - Fix typo in LettuceReactiveRedisConnection.
* DATAREDIS-780 - Up-to-date guidelines for serialization usage.
* DATAREDIS-776 - Release 2.0.6 (Kay SR6).


Changes in version 1.8.11.RELEASE (2018-04-04)
----------------------------------------------
* DATAREDIS-798 - Remove explicit declaration of Jackson library versions.
* DATAREDIS-790 - Backport JedisConnection always executes SELECT via RedisTemplate.
* DATAREDIS-789 - Lua script in redis-scripting.adoc contains syntax error.
* DATAREDIS-780 - Up-to-date guidelines for serialization usage.
* DATAREDIS-768 - Redis repositories deserialize Map to strings.
* DATAREDIS-766 - SSL flag not applied if JedisConnectionFactory configured via JedisShardInfo.
* DATAREDIS-765 - Sentinel with JedisConnectionFactory without pooling connects to localhost:6379.
* DATAREDIS-764 - Polish serializers section in reference documentation.
* DATAREDIS-759 - Fix line endings.
* DATAREDIS-758 - Release 1.8.11 (Ingalls SR11).
* DATAREDIS-673 - RedisCache.get(…) returns false positive cache hit when key is deleted in-flight.


Changes in version 2.0.5.RELEASE (2018-02-28)
---------------------------------------------
* DATAREDIS-775 - ClassCastException when using Redis Cluster with connection pooling.
* DATAREDIS-774 - Release 2.0.5 (Kay SR5).


Changes in version 2.0.4.RELEASE (2018-02-19)
---------------------------------------------
* DATAREDIS-773 - Upgrade to Lettuce 5.0.2.RELEASE.
* DATAREDIS-768 - Redis repositories deserialize Map to strings.
* DATAREDIS-767 - RedisCacheManager always returns/creates caches which is conflicting with CompositeCacheManager.
* DATAREDIS-765 - Sentinel with JedisConnectionFactory without pooling connects to localhost:6379.
* DATAREDIS-764 - Polish serializers section in reference documentation.
* DATAREDIS-760 - Release 2.0.4 (Kay SR4).
* DATAREDIS-715 - Cannot configure RedisCache prefix.


Changes in version 2.1.0.M1 (2018-02-06)
----------------------------------------
* DATAREDIS-765 - Sentinel with JedisConnectionFactory without pooling connects to localhost:6379.
* DATAREDIS-759 - Fix line endings.
* DATAREDIS-756 - MGET with repeating cross-slot keys does not return all results.
* DATAREDIS-755 - LettuceSslClientConfigurationBuilder methods are package-protected.
* DATAREDIS-751 - Update copyright years to 2018.
* DATAREDIS-744 - Secondary indexes not removed if id contains colon.
* DATAREDIS-738 - Align changelog with other modules' format.
* DATAREDIS-735 - Upgrade to Lettuce 5.0.1.
* DATAREDIS-733 - Typo in ValueOperations.increment documentation link.
* DATAREDIS-728 - Unnecessary cache configuration map creation in RedisCacheManagerBuilder.
* DATAREDIS-727 - Incorrect documentation for RedisCacheManagerBuilder.
* DATAREDIS-726 - Repository readme mentions libs-release repository as snapshot/nightly build repo.
* DATAREDIS-720 - Reactive connections using Lettuce do not use shared connection.
* DATAREDIS-719 - Improve connection FutureResult handling for pipeline and tx mode.
* DATAREDIS-714 - JedisConnection always executes SELECT via RedisTemplate.
* DATAREDIS-713 - Provide constant UTF-8 and ASCII StringRedisSerializer instances.
* DATAREDIS-711 - ClassCastException in Lua script result processing returning List.
* DATAREDIS-710 - Release 2.1 M1 (Lovelace).
* DATAREDIS-706 - JedisClusterStringCommands.set(…) contains redundant null checks.
* DATAREDIS-698 - Add support for HSTRLEN.
* DATAREDIS-694 - Add support for TOUCH.
* DATAREDIS-693 - Add support for UNLINK.
* DATAREDIS-682 - Support unix domain socket connections.
* DATAREDIS-643 - Provide a reactive StringRedisTemplate.
* DATAREDIS-619 - Provide documentation for reactive Redis Template API.
* DATAREDIS-605 - Query by Example support.
* DATAREDIS-580 - Support Master/Slave connections using Lettuce.
* DATAREDIS-576 - Set client name on Lettuce connection factory.
* DATAREDIS-529 - Add support for EXISTS taking multiple keys.


Changes in version 2.0.3.RELEASE (2018-01-24)
---------------------------------------------
* DATAREDIS-759 - Fix line endings.
* DATAREDIS-756 - MGET with repeating cross-slot keys does not return all results.
* DATAREDIS-755 - LettuceSslClientConfigurationBuilder methods are package-protected.
* DATAREDIS-744 - Secondary indexes not removed if id contains colon.
* DATAREDIS-738 - Align changelog with other modules' format.
* DATAREDIS-737 - Release 2.0.3 (Kay SR3).
* DATAREDIS-714 - JedisConnection always executes SELECT via RedisTemplate.


Changes in version 1.8.10.RELEASE (2018-01-24)
----------------------------------------------
* DATAREDIS-756 - MGET with repeating cross-slot keys does not return all results.
* DATAREDIS-744 - Secondary indexes not removed if id contains colon.
* DATAREDIS-738 - Align changelog with other modules' format.
* DATAREDIS-736 - Release 1.8.10 (Ingalls SR10).


Changes in version 2.0.2.RELEASE (2017-11-27)
---------------------------------------------
* DATAREDIS-735 - Upgrade to Lettuce 5.0.1.
* DATAREDIS-733 - Typo in ValueOperations.increment documentation link.
* DATAREDIS-728 - Unnecessary cache configuration map creation in RedisCacheManagerBuilder.
* DATAREDIS-727 - Incorrect documentation for RedisCacheManagerBuilder.
* DATAREDIS-723 - Release 2.0.2 (Kay SR2).
* DATAREDIS-706 - JedisClusterStringCommands.set(…) contains redundant null checks.


Changes in version 1.8.9.RELEASE (2017-11-27)
---------------------------------------------
* DATAREDIS-733 - Typo in ValueOperations.increment documentation link.
* DATAREDIS-717 - Release 1.8.9 (Ingalls SR9).


Changes in version 2.0.1.RELEASE (2017-10-27)
---------------------------------------------
* DATAREDIS-720 - Reactive connections using Lettuce do not use shared connection.
* DATAREDIS-719 - Improve connection FutureResult handling for pipeline and tx mode.
* DATAREDIS-711 - ClassCastException in Lua script result processing returning List.
* DATAREDIS-709 - Release 2.0.1 (Kay SR1).
* DATAREDIS-619 - Provide documentation for reactive Redis Template API.


Changes in version 1.8.8.RELEASE (2017-10-11)
---------------------------------------------
* DATAREDIS-689 - Release 1.8.8 (Ingalls SR8).
* DATAREDIS-603 - JedisCluster exception conversion produces NullPointerException on cache put operation.


Changes in version 2.0.0.RELEASE (2017-10-02)
---------------------------------------------
* DATAREDIS-705 - set(byte[] key, byte[] value, Expiration expiration, SetOption option) should have return value.
* DATAREDIS-704 - Upgrade to Lettuce 5.0 GA.
* DATAREDIS-703 - Upgrade to Lettuce 5.0 snapshot.
* DATAREDIS-701 - Add explicit automatic module name for Java 9.
* DATAREDIS-700 - Upgrade to OpenWebBeans 2.0.1.
* DATAREDIS-692 - Introduce nullable annotations for API validation.
* DATAREDIS-691 - Release 2.0 GA (Kay).
* DATAREDIS-603 - JedisCluster exception conversion produces NullPointerException on cache put operation.


Changes in version 2.0.0.RC3 (2017-09-11)
-----------------------------------------
* DATAREDIS-690 - Upgrade to Lettuce 5.0 RC2.
* DATAREDIS-688 - Return delete result via RedisOperations.delete(…).
* DATAREDIS-685 - Upgrade Redis version in Makefile to 4.0.1.
* DATAREDIS-684 - Broken jedis connection returned to jedis pool, cause many strange exceptions.
* DATAREDIS-683 - Provide reactive Lua scripting commands.
* DATAREDIS-681 - Typos in MulitNodeResult and ResultByReferenceKeyPositionComperator.
* DATAREDIS-680 - Sorted Set score method documentations point to zrem documentation.
* DATAREDIS-679 - Cluster command execution fails after adding a Redis cluster node.
* DATAREDIS-676 - LettuceClusterConnection disregards the configuration and has hard-coded timeout of 100ms.
* DATAREDIS-674 - Support zAdd with a Set of Tuples using Jedis Cluster connections.
* DATAREDIS-671 - Release 2.0 RC3 (Kay).
* DATAREDIS-668 - Add count option to RedisSetCommands#sPop.
* DATAREDIS-667 - Align Lettuce connection-pooling with LettuceClientConfiguration.
* DATAREDIS-614 - Refactor GeoOperations and remove geo prefix from method names.
* DATAREDIS-578 - Reduce visibility of default Template API implementation fragments.


Changes in version 1.8.7.RELEASE (2017-09-11)
---------------------------------------------
* DATAREDIS-687 - Assert RedisCache compatibility with Spring5.
* DATAREDIS-686 - Comparator in ClusterCommandExecutor uses Java 8 API.
* DATAREDIS-684 - Broken jedis connection returned to jedis pool, cause many strange exceptions.
* DATAREDIS-680 - Sorted Set score method documentations point to zrem documentation.
* DATAREDIS-679 - Cluster command execution fails after adding a Redis cluster node.
* DATAREDIS-676 - LettuceClusterConnection disregards the configuration and has hard-coded timeout of 100ms.
* DATAREDIS-674 - Support zAdd with a Set of Tuples using Jedis Cluster connections.
* DATAREDIS-672 - Release 1.8.7 (Ingalls SR7).


Changes in version 1.8.6.RELEASE (2017-07-26)
---------------------------------------------
* DATAREDIS-669 - Release 1.8.6 (Ingalls SR6).


Changes in version 2.0.0.RC2 (2017-07-25)
-----------------------------------------
* DATAREDIS-670 - Release 2.0 RC2 (Kay).


Changes in version 2.0.0.RC1 (2017-07-25)
-----------------------------------------
* DATAREDIS-665 - Upgrade to Lettuce 5.0 RC1.
* DATAREDIS-664 - Adapt to ID type changes in KeyValue module.
* DATAREDIS-663 - Inherit Project Reactor version from dependency management.
* DATAREDIS-661 - Change RedisServerCommands.getConfig() result to Properties.
* DATAREDIS-660 - Adapt to API changes in mapping subsystem.
* DATAREDIS-659 - Provide ReactiveServerCommands for basic server interaction.
* DATAREDIS-657 - Fix unit tests after API changes in Spring Data Commons.
* DATAREDIS-656 - LettuceConnectionFactory defaults to 60 second shutdown timeout.
* DATAREDIS-655 - Release 2.0 RC1 (Kay).
* DATAREDIS-625 - Remove copy of TestSubscriber and replace usage with StepVerifyer.
* DATAREDIS-508 - Redis Repositories with Cluster and lettuce breaks application initialization.
* DATAREDIS-481 - Improve RedisCache Manger implementation.


Changes in version 1.8.5.RELEASE (2017-07-24)
---------------------------------------------
* DATAREDIS-657 - Fix unit tests after API changes in Spring Data Commons.
* DATAREDIS-653 - Release 1.8.5 (Ingalls SR5).
* DATAREDIS-647 - SDIFF on cluster connection drops last key.


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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy