Version history

Spring Data JPA versions

Spring Data JPA turns repository interfaces into working data access code: CRUD, paging, derived queries from method names, and @Query. It ships in Spring Data release trains, which follow Spring Boot twice a year.

Latest4.19 Jun 2026
NeedsJava 17+Jakarta EE 11
Releases listed15since Jul 2011
Release rhythmRelease trains in May and November, alongside Spring Boot

Upgrade planner

Pick the version you’re on and the one you want. You’ll see everything that changes in between, oldest first, with breaking changes marked.

5 releases to go through, with 5 new features and 2 breaking or removed items. Platform: Jakarta EE 10 → Jakarta EE 11.

Data JPA 3.3 May 2024

  • New PagedModel for stable JSON output of Page results

Data JPA 3.4 Nov 2024

  • New Value expressions in queries, combining SpEL and property placeholders

Data JPA 3.5 May 2025

  • Improved The final 3.x line, paired with Spring Boot 3.5

Data JPA 4.0 Nov 2025

  • New Ahead-of-time repositories: query method code generated at build time
  • New Vector search methods
  • Breaking Jakarta Persistence 3.2, Hibernate 7 and Spring Framework 7
  • Improved Stronger use of JPQL for derived queries
  • Removed ListenableFuture support removed

Data JPA 4.1 9 Jun 2026

  • New Type-safe property paths: refer to properties with method references instead of strings
  • Improved Built on Hibernate 7.4

Status below follows the Spring Data project’s release-train support table.

4.2
Expected Nov 2026
PlannedTrain 2026.1

Planned for November 2026.

4.1
9 Jun 2026
LatestJava 17+Train 2026.0
PlatformJakarta EE 11
  • NewType-safe property paths: refer to properties with method references instead of strings
  • ImprovedBuilt on Hibernate 7.4
4.0
Nov 2025
SupportedJava 17+Train 2025.1
PlatformJakarta EE 11
  • NewAhead-of-time repositories: query method code generated at build time
  • NewVector search methods
  • BreakingJakarta Persistence 3.2, Hibernate 7 and Spring Framework 7
  • ImprovedStronger use of JPQL for derived queries
  • RemovedListenableFuture support removed
3.5
May 2025
SupportedJava 17+Train 2025.0
PlatformJakarta EE 10
  • ImprovedThe final 3.x line, paired with Spring Boot 3.5
3.4
Nov 2024
Support endedJava 17+Train 2024.1
PlatformJakarta EE 10
  • NewValue expressions in queries, combining SpEL and property placeholders
3.3
May 2024
Support endedJava 17+Train 2024.0
PlatformJakarta EE 10
  • NewPagedModel for stable JSON output of Page results
3.2
Nov 2023
Support endedJava 17+Train 2023.1 Vaughan
PlatformJakarta EE 10
  • NewLimit as a query method parameter
  • ImprovedJava 21 support
3.1
May 2023
Support endedJava 17+Train 2023.0 Ullman
PlatformJakarta EE 10
  • NewScroll API: offset and keyset scrolling with Window results
  • NewA JPQL parser for safer query rewriting
3.0
Nov 2022
Support endedJava 17+Train 2022.0 Turing
PlatformJakarta EE 10
  • BreakingJakarta Persistence, Hibernate 6 and a Java 17 baseline
  • NewListCrudRepository and ListPagingAndSortingRepository return List
  • NewAOT and native image support
2.7
May 2022
Support endedJava 8+Train 2021.2 Raj
PlatformJava EE 8
  • NewgetReferenceById, replacing getOne and getById
2.5
Apr 2021
Support endedJava 8+Train 2021.0 Pascal
PlatformJava EE 8
  • NewgetById replaces the confusingly named getOne
2.4
Oct 2020
Support endedJava 8+Train 2020.0 Ockham
PlatformJava EE 8
  • ImprovedRelease trains switch to calendar names such as 2020.0
2.0
Oct 2017
Support endedJava 8+Train Kay
PlatformJava EE 7
  • BreakingCrudRepository methods renamed: findById returns Optional, plus saveAll and deleteById
  • BreakingJava 8 and Spring Framework 5 baseline
  • NewComposable repository fragments
  • NewKotlin support
1.10
Apr 2016
Support endedJava 6+Train Hopper
  • NewProjections: return interfaces or DTOs from queries
  • NewQuery by Example
1.8
Mar 2015
Support endedJava 6+Train Fowler
  • NewJava 8 Optional and Stream return types
1.0
Jul 2011
Support endedJava 6+
  • NewJpaRepository with CRUD, paging and sorting
  • NewDerived queries from method names such as findByLastname
  • New@Query for JPQL and native SQL
  • NewSpecifications for dynamic queries

More version histories