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

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

  • M1 - November 23rd, 2016
  • M2 - April 3rd, 2017
  • M3 - May 9th, 2017
  • M4 - June 14th, 2017
  • RC1 - July 25th, 2017
  • RC2 - July 25th, 2017
  • RC3 - September 11th, 2017
  • GA - October 2nd, 2017
  • SR1 - October 27th, 2017
  • SR2 - November 27th, 2017
  • SR3 - January 24th, 2018
  • SR4 - February 19th, 2018
  • SR5 - February 28th, 2018
  • SR6 - April 4th, 2018
  • SR7 - May 8th, 2018
  • SR8 - June 13th, 2018
  • SR9 - July 26th, 2018

Core themes

  • Reactive support for MongoDB, Redis, Couchbase, and Apache Cassandra.
  • Upgrade to Java 8.
  • Upgrade to Spring Framework 5.
  • Upgrade to Elasticsearch 5.4.
  • Migrate to MongoDB Document API.
  • Support composable repositories.
  • Remove Support for SRP and JRedis drivers in Spring Data Redis.
  • Revised blocking and asynchronous Template API for Apache Cassandra.
  • Java 9 compatibility.
  • Add Spring Data Geode to the release train.
  • Tooling support for null-safety via Spring's @NonNullApi and @Nullable annotations.

Participating modules

  1. Spring Data Build 2.0
  2. Spring Data Commons 2.0
  3. Spring Data JPA 2.0
  4. Spring Data MongoDB 2.0
  5. Spring Data Neo4j 5.0
  6. Spring Data for Apache Solr 3.0
  7. Spring Data Elasticsearch 3.0
  8. Spring Data Couchbase 3.0
  9. Spring Data for Apache Cassandra 2.0
  10. Spring Data Gemfire 2.0
  11. Spring Data for Apache Geode 2.0
  12. Spring Data Redis 2.0
  13. Spring Data REST 3.0
  14. Spring Data KeyValue 2.0
  15. Spring Data Envers 2.0

Spring Data Build - 2.0

M1

M2

  • #251 - Upgrade to Mockito 2.

Spring Data Commons - 2.0

M1

  • DATACMNS-836 - Add components to support reactive repositories.

M2

  • DATACMNS-867 - Update internal APIs to Java 8.
  • DATACMNS-988 - Support for RxJava2 return types in repositories.
  • DATACMNS-1007 - Support for IsEmpty and IsNotEmpty keywords in repository query derivation.
  • DATACMNS-977 - Support for component index creation in Spring 5.

M3

  • DATACMNS-944 - Better naming scheme for CrudRepository.
  • DATACMNS-1014 - Remove support for JodaTime's deprecated DateMidnight.
  • DATACMNS-1021 - Add Order.asc(…) and Order.desc(…) factory methods.
  • DATACMNS-1034 - API for bi-directional, type-based converters.
  • DATACMNS-1035 - Extract CustomConversions from MongoDB, Couchbase and Cassandra.
  • DATACMNS-1050 - Introduce Bound value object for Range.

M4

  • DATACMNS-102 - Allow Repositories to be composed of an arbitrary number of implementation classes.
  • DATACMNS-991 - Update DefaultMethodInvokingMethodInterceptor to Java 9 compatible method handle invocation.
  • DATACMNS-1063 - Accept Publisher instead of Mono in findById(…), existsById(…) and deleteById(…).
  • DATACMNS-1065 - Add support for Vavr (successor of Javaslang).
  • DATACMNS-1076 - Deprecate RxJava1CrudRepository and RxJava1SortingRepository interfaces.

RC1

Spring Data JPA - 2.0

M1

M2

  • DATAJPA-1016 - Upgrade JPA baseline to JPA 2.1.
  • DATAJPA-1085 - Upgrade to Hibernate 5.2 as baseline.
  • DATAJPA-1074 - Support for IsEmpty and IsNotEmpty keywords in repository query derivation.

Spring Data MongoDB - 2.0

M1

M2

M3

M4

RC1

  • DATAMONGO-1646 - Support reactive aggregation streaming.
  • DATAMONGO-1705 - Deprecate cross-store support.
  • DATAMONGO-1715 - Remove spring-data-mongodb-log4j module.
  • DATAMONGO-1719 - Add fluent alternative for ReactiveMongoOperations.
  • DATAMONGO-1719 - Add terminating findOne/findFirst methods to FluentMongoOperations returning null value instead of Optional<T>.
  • DATAMONGO-1733 - Allow usage of projection interfaces in FluentMongoOperations.
  • DATAMONGO-1734 - Add count() & exists() to fluent API.
  • DATAMONGO-1739 - TerminatingFindOperation.stream() now returns a Stream directly.
  • DATAMONGO-1748 - Add Kotlin extensions for Criteria API.

RC3

  • DATAMONGO-1762 - Annotate packages and types with @NonNullApi and @Nullable for null-safety tooling support.
  • DATAMONGO-1768 - Query-by-Example support without type matching.
  • DATAMONGO-1770 - Upgrade to mongo-java-driver 3.5.0 and mongodb-driver-reactivestreams 1.6.0.

Spring Data Neo4j - 5.0

M1

M2

Spring Data for Apache Solr - 3.0

M2

Spring Data Elasticsearch - 3.0

M4

Spring Data Couchbase - 3.0

M2

  • DATACOUCH-146 - Experimental support for reactive repositories.

M3

M4

Spring Data for Apache Cassandra - 2.0

M1

  • DATACASS-292 - DATACASS-292 Break Async and Sync operations in CqlOperations and CassandraOperations into separate interfaces and templates.
  • DATACASS-335 - Reactive support in Spring Data Cassandra.

M2

  • DATACASS-330 - Add routing capabilities to support per tenant keyspace.
  • DATACASS-415 - Provide insert methods on TypedIdCassandraRepository.
  • DATACASS-416 - Add overrides on TypedIdCassandraRepository for methods returning Lists.
  • DATACASS-418 - Remove Jackson 1 usage.

M3

M4

RC1

  • DATACASS-213 - Add index creation to table creation via @Indexed/@SASI.
  • DATACASS-376 - Support ALLOW FILTERING using derived query methods.
  • DATACASS-468 - Move o.s.d.cql into o.s.d.cassandra.core.cql.
  • DATACASS-469 - Remove CassandraOperations.selectBySimpleIds.
  • DATACASS-472 - Upgrade to Cassandra driver 3.3.0.

RC3

  • DATACASS-482 - Annotate packages and types with @NonNullApi and @Nullable for null-safety tooling support.

GA

  • DATACASS-56 - Support pagination feature in Cassandra.
  • DATACASS-145 - Support for QueryOptions and WriteOptions with repository query methods.

Spring Data Gemfire - 2.0

M2

M4

  • SGF-604 - Add Configurers to enable dynamic configuration in the new SDG Annotation configuration model.

Spring Data for Apache Geode - 2.0

RC1

  • DATAGEODE-20 - Upgrade to Apache Geode 1.2.0.
  • SGF-609 - Add Geode module to Spring Data release train.

Spring Data Redis - 2.0

M1

  • DATAREDIS-525 - Add support for reactive RedisConnection and RedisOperations.
  • DATAREDIS-567 - Remove Support for SRP and JRedis.

M2

M3

M4

RC1

RC3

GA

  • DATAREDIS-692 - Annotate packages and types with @NonNullApi and @Nullable for null-safety tooling support.

Spring Data REST - 3.0

M1

RC1

  • DATAREST-1060 - HttpMessageNotWritableException when JPA entity has enum attribute.
  • DATAREST-1079 - Upgrade to EvoInflector 1.2.2.
  • DATAREST-1105 - Association links now advertise projections if available.

Spring Data KeyValue - 2.0

M3

  • DATAKV-169 - Add support for IN keyword in derived queries.

RC1

  • DATAKV-187 - Remove restriction of ID type to be Serializable.

Spring Data Envers - 2.0