[[new-features]]
= New & Noteworthy

This section briefly covers items that are new and noteworthy in the latest releases.

[[new-in-2.3.0]]
== New in Spring Data Redis 2.3

* Template API Method Refinements for `Duration` and `Instant`.
* Extension of Stream Commands.

[[new-in-2.2.0]]
== New in Spring Data Redis 2.2

* <<redis.streams>>
* Refined `union`/`diff`/`intersect` set-operation methods accepting a single collection of keys.
* Upgrade to Jedis 3.
* Add support for scripting commands using Jedis Cluster.

[[new-in-2.1.0]]
== New in Spring Data Redis 2.1

* Unix domain socket connections using <<redis:connectors:lettuce,Lettuce>>.
* <<redis:write-to-master-read-from-replica, Write to Master, read from Replica>> support using Lettuce.
* <<query-by-example,Query by Example>> integration.
* `@TypeAlias` Support for Redis repositories.
* Cluster-wide `SCAN` using Lettuce and `SCAN` on a selected node supported by both drivers.
* <<redis:reactive:pubsub,Reactive Pub/Sub>> to send and receive a message stream.
* `BITFIELD`, `BITPOS`, and `OBJECT` command support.
* Align return types of `BoundZSetOperations` with `ZSetOperations`.
* Reactive `SCAN`, `HSCAN`, `SSCAN`, and `ZSCAN` support.
* Usage of `IsTrue` and `IsFalse` keywords in repository query methods.

[[new-in-2.0.0]]
== New in Spring Data Redis 2.0

* Upgrade to Java 8.
* Upgrade to Lettuce 5.0.
* Removed support for SRP and JRedis drivers.
* <<redis:reactive,Reactive connection support using Lettuce>>.
* Introduce Redis feature-specific interfaces for `RedisConnection`.
* Improved `RedisConnectionFactory` configuration with `JedisClientConfiguration` and `LettuceClientConfiguration`.
* Revised `RedisCache` implementation.
* Add `SPOP` with count command for Redis 3.2.

[[new-in-1.8.0]]
== New in Spring Data Redis 1.8

* Upgrade to Jedis 2.9.
* Upgrade to `Lettuce` 4.2 (Note: Lettuce 4.2 requires Java 8).
* Support for Redis https://redis.io/commands#geo[GEO] commands.
* Support for Geospatial Indexes using Spring Data Repository abstractions (see <<redis.repositories.indexes.geospatial>>).
* `MappingRedisConverter`-based `HashMapper` implementation (see <<redis.hashmappers.root>>).
* Support for `PartialUpdate` in repositories (see <<redis.repositories.partial-updates>>).
* SSL support for connections to Redis cluster.
* Support for `client name` through `ConnectionFactory` when using Jedis.

[[new-in-1.7.0]]
== New in Spring Data Redis 1.7

* Support for https://redis.io/topics/cluster-tutorial[RedisCluster].
* Support for Spring Data Repository abstractions (see <<redis.repositories>>).

[[new-in-1-6-0]]
== New in Spring Data Redis 1.6

* The `Lettuce` Redis driver switched from https://github.com/wg/lettuce[wg/lettuce] to https://github.com/mp911de/lettuce[mp911de/lettuce].
* Support for `ZRANGEBYLEX`.
* Enhanced range operations for `ZSET`, including `+inf` / `-inf`.
* Performance improvements in `RedisCache`, now releasing connections earlier.
* Generic Jackson2 `RedisSerializer` making use of Jackson's polymorphic deserialization.

[[new-in-1-5-0]]
== New in Spring Data Redis 1.5

* Add support for Redis HyperLogLog commands: `PFADD`, `PFCOUNT`, and `PFMERGE`.
* Configurable `JavaType` lookup for Jackson-based `RedisSerializers`.
* `PropertySource`-based configuration for connecting to Redis Sentinel (see: <<redis:sentinel>>).
