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
- Spring Data Build 2.2
- Spring Data Commons 2.2
- Spring Data JPA 2.2
- Spring Data MongoDB 2.2
- Spring Data Neo4j 5.2
- Spring Data for Apache Solr 4.0
- Spring Data Elasticsearch 3.2
- Spring Data Couchbase 3.2
- Spring Data for Apache Cassandra 2.2
- Spring Data Gemfire 2.2
- Spring Data for Apache Geode 2.2
- Spring Data Redis 2.2
- Spring Data REST 3.2
- Spring Data KeyValue 2.2
- Spring Data LDAP 2.2
- Spring Data JDBC 1.1
- Spring Data Envers 2.2
Spring Data Build - 2.2
M1
Spring Data Commons - 2.2
M1
DATACMNS-1430- Support forStreamable
wrappers as query method return types.DATACMNS-1432,DATACMNS-1433- Improved support forStreamable
as query method return type.DATACMNS-1346- AddedCrudRepository.findByIdOrNull(…)
Kotlin extension.DATACMNS-1434- Removed Javaslang support.
M2
DATACMNS-1470- Upgrade to Spring HATEOAS 1.0.DATACMNS-1439- UseIntrosepctor.uncapitalize(…)
to generate implementation class bean names.DATACMNS-1476- AddSlice.nextOrLastPageable()
/….previousOrFirstPageable()
.DATACMNS-1081- Querydsl support for reactive repositories.DATACMNS-1471- Upgrade to Vavr 0.10.DATACMNS-1447- Add collector methods toStreamable
.
M3
DATACMNS-1499- Add convenience factory methods toRange
.
RC1
DATACMNS-1467- Introduce EntityCallback API
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 superfluousSpecifications
type.
RC1
DATAJPA-707- Support for multiple OUT parameters of stored procedures.
Spring Data MongoDB - 2.2
M1
DATAMONGO-1798- Introduce@MongoId
to customize Id conversion.DATAMONGO-2138- Type-safe Kotlin query extension.
M2
DATAMONGO-2072- Support forRange
in derived repository query methods usingbetween
.DATAMONGO-2209- Support for Kotlin Coroutines.DATAMONGO-2215- Support for array filters inUpdate
.DATAMONGO-2054- Support for$[]
operators inUpdate
.DATAMONGO-2198- Upgrade to MongoDB Java driver 3.10.DATAMONGO-2195-MongoTemplate.remove(…)
now considers optimistic locking version.DATAMONGO-2077- SpEL support for aggregations introduced in MongoDB 3.6 and 4.0.DATAMONGO-2188- Configuration option to enable / disable automatic index creation.DATAMONGO-1855- Reactive GridFS support.DATAMONGO-2182- Querydsl support for reactive repositories.
M3
DATAMONGO-1783- ApplyQuery.skip
/limit
options toCountOptions
.DATAMONGO-1849- Generate$jsonSchema
out of domain type meta information.DATAMONGO-2212- Add support for SpEL expression in@Indexed
.DATAMONGO-2248- Remove cross-store module.DATAMONGO-2254- Upgrade MongoDB Java driver to 3.10.2.DATAMONGO-2255- Add CoroutinesFlow
extensions.
M4
DATAMONGO-1854- Add annotation-based Collation support.DATAMONGO-2265- AddReactiveMongoTransactionManager
.DATAMONGO-2268- Upgrade to MongoDB Java Driver 3.11.0-beta3.
RC1
DATAMONGO-1183- Hash index supportDATAMONGO-2153- Aggregation pipeline support via annotated repository methods.DATAMONGO-2261- Use Entity Callback API for before-save operations.
RC2
DATAMONGO-2089- Add fluent API for ChangeStreams.DATAMONGO-2200- Derive fields for aggregation$project
stage from a given type.
Spring Data Neo4j - 5.2
M1
DATAGRAPH-1158- Support for Neo4j spatial types.
M2
DATAGRAPH-1197- Support for exists projection in repositories.DATAGRAPH-1199- Introduce@ExistsQuery
shortcut annotation.DATAGRAPH-1161- Upgrade to Neo4j OGM 3.2.
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 theReactiveElasticsearchClient
.DATAES-521- Remove specific repository implementations forUUID
andNumber
s.
M2
DATAES-510- Support for reactive scrolling.DATAES-519- Support for reactive repositories.
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
DATACASS-627- Support forRange
in derived repository query methods usingbetween
.DATACASS-575- Support for conditions in lightweight transactions.DATACASS-576- Support optimistic locking.DATACASS-632- Support for Kotlin Coroutines.DATACASS-623- Support for read-only properties.
M3
DATACASS-648- Add CoroutinesFlow
extensions.
RC1
DATACASS-4- Implement Auditing.DATACASS-618- Add support for entity updates before save usingEntityCallbacks
.
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
Spring Data for Apache Geode - 2.2
M1
DATAGEODE-148,DATAGEODE-143- Upgrade to Apache Geode 1.7.
M2
DATAGEODE-160- Upgrade to Apache Geode 1.8.
Spring Data Redis - 2.2
M1
DATAREDIS-721- ExtendLettuceConnectionProvider
to non-blocking connect.DATAREDIS-864- Add support for Redis Streams.DATAREDIS-873- Accept single collection parameter in SetOperations diff/inter/union methodsDATAREDIS-874- Implement accumulate/update methods onRedisAtomicInteger
,RedisAtomicLong
, andRedisAtomicDouble
.
M2
DATAREDIS-937- Support for Kotlin Coroutines.DATAREDIS-749- Upgrade to Jedis 3.0.
M3
DATAREDIS-794- ImproveJedisClusterConnection
topology caching.
Spring Data REST - 3.2
M2
DATAREST-1348- Upgrade to Spring Plugin 2.0.DATAREST-1341- Upgrade to Spring HATEOAS 1.0.
Spring Data LDAP - 2.2
M1
Spring Data JDBC - 1.1
M1
DATAJDBC-263- TriggerAfterLoadEvent
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 argumentsDATAJDBC-294- Properly respect theNamingStrategy
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 specifyResultSetExtractor
instead of or additionally to aRowMapper
on query methods.DATAJDBC-293- Allow to specify ajdbcOperationsRef
to control whichNamedParameterJdbcTemplate
bean is used when there are multiples available.DATAJDBC-282- Addsinsert
andupdate
methods to theJdbcAggregateTemplate
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 forINSERT
,UPDATE
andDELETE
inStatementBuilder
API.DATAJDBC-331- Introduce@MappedCollection
.DATAJDBC-239- Support for multipleJdbcTemplate
s in@EnableJdbcRepositories
.
M3
DATAJDBC-327- Support for storingbyte[]
as BINARY.
RC1
DATAJDBC-374- Configuration options for loading embeddables.
Spring Data Envers - 2.2
M1
#146- Avoid failure for empty results offindRevisions
.