Release Train Moore - spring-projects/spring-data-commons GitHub Wiki

This page contains a list of the most significant features and bugfixes implemented in the Spring Data Moore release train that will not be back-ported into Lovelace service releases.

  • M1 - December 11th, 2018
  • M2 - March 7th, 2019
  • M3 - April 8th, 2019
  • M4 - May 10th, 2019
  • RC1 - Jun 14th, 2019
  • RC2 - August 5th, 2019
  • RC3 - September 6th, 2019
  • GA - September 30th, 2019
  • OSS Support until: October 2020
  • End of Life: July 2021

Core themes

  • Revised entity callback API (complementing the application event-based model)
  • Spring Data Elasticsearch REST high-level client API support (imperative and reactive)
  • Type-safe Kotlin query extensions
  • Kotlin Coroutines extensions
  • Redis Streams support
  • Reactive Querydsl in Spring Data MongoDB
  • Reactive Transaction Manager support in Spring Data MongoDB
  • Optimistic Locking and Auditing in Spring Data Cassandra
  • Drop support for Javaslang (in favor of already existing support for Vavr)
  • Improved support for Streamable and wrapper types thereof as query method return type
  • Introduce Spring Data Relational (as a foundation for both JDBC and R2DBC modules)

External themes

  • Inception of Spring Data R2DBC on top of Moore

Participating modules

  1. Spring Data Build 2.2
  2. Spring Data Commons 2.2
  3. Spring Data JPA 2.2
  4. Spring Data MongoDB 2.2
  5. Spring Data Neo4j 5.2
  6. Spring Data for Apache Solr 4.0
  7. Spring Data Elasticsearch 3.2
  8. Spring Data Couchbase 3.2
  9. Spring Data for Apache Cassandra 2.2
  10. Spring Data Gemfire 2.2
  11. Spring Data for Apache Geode 2.2
  12. Spring Data Redis 2.2
  13. Spring Data REST 3.2
  14. Spring Data KeyValue 2.2
  15. Spring Data LDAP 2.2
  16. Spring Data JDBC 1.1
  17. Spring Data Envers 2.2

Spring Data Build - 2.2

M1

Spring Data Commons - 2.2

M1

M2

M3

RC1

Spring Data JPA - 2.2

M1

  • DATAJPA-1418 - Fixes a regression where Hibernate generates inner jons instead of the required left join.
  • DATAJPA-1446 - Prevent memory leak in tests using Spring Data JPA.
  • DATAJPA-1449 - Removed superfluous Specifications type.

RC1

  • DATAJPA-707 - Support for multiple OUT parameters of stored procedures.

Spring Data MongoDB - 2.2

M1

M2

M3

M4

RC1

RC2

Spring Data Neo4j - 5.2

M1

M2

Spring Data for Apache Solr - 4.0

M1

Spring Data Elasticsearch - 3.2

M1

  • DATAES-407 - Support for the high level REST client.
  • DATAES-488 - WebClient based reactive Elasticsearch client.
  • DATAES-504 - Reactive template support via the ReactiveElasticsearchClient.
  • DATAES-521 - Remove specific repository implementations for UUID and Numbers.

M2

M4

  • DATAES-569 - Add index operations to reactive Elasticsearch client.
  • DATAES-575 - Upgrade to Elasticsearch 6.7.2.

Spring Data Couchbase - 3.2

M1

Spring Data for Apache Cassandra - 2.2

M2

M3

RC1

  • DATACASS-4 - Implement Auditing.
  • DATACASS-618 - Add support for entity updates before save using EntityCallbacks.

RC2

  • DATACASS-454 - Extend @Query to declare idempotent CQL queries.
  • DATACASS-611 - Add query derivation for delete queries.

Spring Data Gemfire - 2.2

M1

M2

  • SGF-809 - Upgrade to Pivotal Gemfire 9.7.

RC1

  • SGF-852 & SGF-848 - Enhanced SSL support and dynamic client port configuration.

Spring Data for Apache Geode - 2.2

M1

M2

Spring Data Redis - 2.2

M1

  • DATAREDIS-721 - Extend LettuceConnectionProvider to non-blocking connect.
  • DATAREDIS-864 - Add support for Redis Streams.
  • DATAREDIS-873 - Accept single collection parameter in SetOperations diff/inter/union methods
  • DATAREDIS-874 - Implement accumulate/update methods on RedisAtomicInteger, RedisAtomicLong, and RedisAtomicDouble.

M2

M3

  • DATAREDIS-794 - Improve JedisClusterConnection topology caching.

Spring Data REST - 3.2

M2

Spring Data LDAP - 2.2

M1

Spring Data JDBC - 1.1

M1

  • DATAJDBC-263 - Trigger AfterLoadEvent for instances created via @Query-annotated methods.
  • DATAJDBC-266 - No longer require an id-attribute for one-to-one relationships.
  • DATAJDBC-286, DATAJDBC-273 - Fix issues with instantiation with constructor arguments
  • DATAJDBC-294 - Properly respect the NamingStrategy for id columns in where clauses.

M2

  • DATAJDBC-324 - Support for read-only properties. Thanks to Oleksandr Kucher for the PR.
  • DATAJDBC-290 - Allow to specify ResultSetExtractor instead of or additionally to a RowMapper on query methods.
  • DATAJDBC-293 - Allow to specify a jdbcOperationsRef to control which NamedParameterJdbcTemplate bean is used when there are multiples available.
  • DATAJDBC-282 - Adds insert and update methods to the JdbcAggregateTemplate which skip the is-new-check and perform the respective action directly. Useful especially for inserting aggregates with a preset id. Thanks to Thomas Lang for the PR.
  • DATAJDBC-111 - Support for embedded entities that get mapped to the same table as the referencing entity. Thanks to Bastian Wilhelm for the PR.
  • DATAJDBC-309 - Support for SQL generation.
  • DATAJDBC-335 - Support for INSERT, UPDATE and DELETE in StatementBuilder API.
  • DATAJDBC-331 - Introduce @MappedCollection.
  • DATAJDBC-239 - Support for multiple JdbcTemplates in @EnableJdbcRepositories.

M3

RC1

  • DATAJDBC-374 - Configuration options for loading embeddables.

Spring Data Envers - 2.2

M1

  • #146 - Avoid failure for empty results of findRevisions.