Skip to content

Release Train 2021.2 (Raj) Release Notes (Preview)

Mark Paluch edited this page Feb 18, 2022 · 27 revisions

General Themes

  • Direct projections

Participating Modules

Details

New and Noteworthy

Spring Data Commons - 2.7

Configuration of class loader in SimpleTypeInformationMapper

SimpleTypeInformationMapper now accepts a ClassLoader to ensure class visibility from the type mapper when resolving a class name into a class. Arrangements without a configured class loader fall back to the context or system class loader which might not have access to a custom class loader (such as Spring Boot’s AppClassLoader) and that can lead to non-resolvable type hints when reading an entity on e.g. the ForkJoinPool.

Infrastructure to introspect a projection type

EntityProjection provides an API to introspect projection types in the context of an entity to determine which property paths to consider during loading.

Tickets

M1

Spring Data JPA - 2.7

Tickets

M1

Spring Data MongoDB - 3.4

Direct projections

The projection support through MongoTemplate and its reactive variant are refined supporting nested projections directly on the converter-level allowing to avoid superfluous and partial entity creation as interface projections are backed by a map. DTO projections are read directly into the DTO type.

Tickets

M1

Spring Data Neo4j - 6.3

Impersonation

Tickets

M1

Spring Data Elasticsearch - 4.4

Tickets

M1

  • #1995 - RestStatusException detail in v4.3.0.

  • #1997 - IndexOutOfBoundsException when try to map inner hits with no results returned.

  • #2015 - Totalhits support for ReactiveSearchOperations.

  • #2000 - Migrate off SLF4J to Spring JCL.

  • #2004 - Add support for stored fields.

  • #2020 - Upgrade to Elasticsearch 7.16.0.

  • #2024 - Fix mapping of FieldType.TokenCount.

  • #2030 - Upgrade to Elasticsearch 7.16.1.

  • #2034 - Upgrade to Elasticsearch 7.16.2.

  • #2009 - Add AfterLoad callback.

  • #1529 - Implement support for reindex API.

  • #2075 - RequestFactory.toElasticsearchIndicesOptions fails on empty options or wildcard states.

  • #2077 - Upgrade to Elasticsearch 7.17.0.

  • #2043 - Allow to index documents to different indices in a bulk request.

Spring Data Couchbase - 4.4

Tickets

M1

Spring Data for Apache Cassandra - 3.4

Direct projections

The projection support through CassandraTemplate and its reactive variant are refined supporting nested projections directly on the converter-level allowing to avoid superfluous and partial entity creation as interface projections are backed by a map. DTO projections are read directly into the DTO type.

Tickets

M1

Spring Data for Apache Geode - 2.7

Tickets

M1

Spring Data Redis - 2.7

ACL support for Sentinel Configuration

When using Redis 6, you can now authenticate with Redis Sentinel using ACL authentication by providing the username in addition to the Sentinel password. Both clients, Jedis and Lettuce, will use the ACL authentication method when the username is configured.

Revised RedisMessageListenerContainer

With this release we rewrote the internals of RedisMessageListenerContainer concerning subscriptions and lifecycle state transitioning behavior. Essentially, start() and stop() methods are now blocking until subscriptions are fully established and on shutdown until subscriptions are unregistered.

The previous implementation suffered from potential race conditions if the container was starting up and concurrently listeners were registered. The race can no longer happen as the start() method is guarded against concurrent calls from multiple threads and the start() method returns once the container is fully started. As consequence, when using RedisMessageListenerContainer within a Spring context, the context startup/shutdown phase may take a bit longer due to the prolonged synchronization.

Tickets

M1

Spring Data KeyValue - 2.7

Tickets

M1

Spring Data REST - 3.7

Tickets

M1

Spring Data LDAP - 2.7

Tickets

M1

Spring Data JDBC - 2.4

Tickets

M1

Spring Data R2DBC - 1.5

Compatibility with R2DBC 0.9

Spring Data R2DBC can be used with R2DBC 0.9. To use R2DBC 0.9 you require an R2DBC 0.9-compatible driver and you need to upgrade the specification interface to 0.9.0.RELEASE. When using Maven, your pom.xml could contain the following dependencies:

<dependencies>

  <dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-spi</artifactId>
    <version>0.9.0.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>r2dbc-postgresql</artifactId>
    <version>0.9.0.RELEASE</version>
  </dependency>

</dependencies>
Tickets

M1

Spring Data Envers - 2.7

Tickets

M1

Release Dates

  • M1 - Jan 14, 2022

  • M2 - Feb 18, 2022

  • M3 - Mar 18, 2022

  • RC1 - Apr 14, 2022

  • GA - May 13, 2022

  • OSS Support until: May 2023

  • End of Life: Aug 2024.

Clone this wiki locally