Spring Data 2025.1.0-M6 released

Releases | Mark Paluch | September 12, 2025 | ...

On behalf of the team and everyone who has contributed, I am pleased to announce the sixth and last milestone for the next Spring Data generation. This milestone continues delivering new features, refinements, and dependency upgrades.

Removed MongoDB UUID and BigDecimal Defaults

Spring Data MongoDB now aligns with the MongoDB Java Driver and no longer defaults to a representation for UUID values. Instead, you need to explicitly configure the desired representation through driver settings.

We're also no longer providing a default configuration value for BigInteger and resort the default for BigDecimal to Decimal128 in accordance with MongoDB's default codecs. This is a much safer approach that prevents you your application from accidentally switching representations when upgrading to the new major version. Please make sure to configure formats for big numbers through MongoCustomConversions.

Setting the BigDecimal representation to STRING or DECIMAL128 allows you to control the default representation for BigDecimal and BigInteger values. Any explicit type hints through @Field(targetType = FieldType.DECIMAL128) or @Field(targetType = FieldType.STRING) remain unaffected.

AOT Repository Support for JDBC and Apache Cassandra

This milestone ships with AOT support for Spring Data JDBC and Spring Data for Apache Cassandra repositories. This includes support for query derivation, declared, and named queries.

Ahead-of-Time-generated Property Accessors and Entity Instantiators

When enabling AOT processing, Spring Data includes generated property accessors and entity instantiators at build time in the final AOT bundle. Instead of generating these classes during runtime, we now capture the generated classes during AOT optimizations. This improves startup time and reduces memory consumption. Additionally, generated property accessors and entity instantiators are now available within GraalVM native images.

Jackson 3 Support

We're happy to announce that Spring Data Commons and Spring Data REST modules now support Jackson 3. While Spring Data Commons ships with deprecated Jackson 2 classes and can still be operated using Jackson 2, Spring Data REST requires Jackson 3 as Spring Data REST is effectively a huge abstraction over Jackson in some sense.

Spring Data Neo4j supports now vector search methods based on a vector index at the repository level. The repository methods have to be annotated with @VectorSearch(indexName,numberOfNodes) to make use of Neo4j's vector search capabilities. The vector search can be combined with already existing search functions, like findByName and will invoke a vector search prior doing the name filtering. A Vector parameter is mandatory to make the query work but it can also be enhanced with a Score cutoff to ignore low-quality results.

interface VectorSearchRepository extends CrudRepository<EntityWithVector, String> {

  @VectorSearch(indexName = "entityIndex", numberOfNodes = 2)
  SearchResults<EntityWithVector> findAllBy(Vector searchVector);

  @VectorSearch(indexName = "entityIndex", numberOfNodes = 2)
  SearchResult<EntityWithVector> findBy(Vector searchVector, Score score);

}

Find more details about Spring Data Neo4j's vector search in the reference documentation.

This milestone is the last milestone before entering the release candidate phase in October followed by general availability in November. We encourage you to try out the new features and improvements and provide feedback to help us make Spring Data even better.

2025.1.0-M6

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all