You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat!: ROMS v2.0.0 - migration to Spring Boot 4.0.0 and Spring Data Redis 4.0.0 (#675)
BREAKING CHANGE: This release upgrades to Spring Boot 4.0.0 and Spring Data Redis 4.0.0,
introducing breaking changes due to Spring's modularization and API changes.
- Fix query parameter handling to skip special parameters (Pageable, Sort)
in RedisEnhancedQuery.prepareQuery() to prevent conversion exceptions
- Update array serialization in MappingRedisOMConverter to iterate directly
through arrays instead of converting to lists, resolving PersistentEntity
lookup failures for array types
- Add validation to prevent persisting collections containing null elements,
maintaining data integrity constraints
- Adapt to new package structure where test autoconfiguration classes moved
to module-specific packages (org.springframework.boot.<module>.*)
- Update RedisAutoConfiguration references to DataRedisAutoConfiguration in
new org.springframework.boot.data.redis.autoconfigure package
- Update deprecated API usage for Spring Data 4.0 compatibility
- Update AutoConfigureMockMvc import from
org.springframework.boot.test.autoconfigure.web.servlet to
org.springframework.boot.webmvc.test.autoconfigure
- Update TestRestTemplate import from
org.springframework.boot.test.web.client to
org.springframework.boot.resttestclient
- Update RedisAutoConfiguration to DataRedisAutoConfiguration across
test configuration classes
- Add spring-boot-starter-webmvc-test for MockMvc support (roms-documents)
- Add spring-boot-resttestclient for TestRestTemplate support
(roms-vectorizers, roms-modeling)
- Add spring-boot-data-redis for DataRedisAutoConfiguration access
(roms-vectorizers, roms-modeling, roms-multi-acl-account)
- Fix testcontainers:junit-jupiter version specification (1.20.4) across
all demo modules (roms-documents, roms-hashes, roms-permits, roms-vss,
roms-vss-movies, roms-amr-entraid)
- Exclude DataRedisRepositoriesAutoConfiguration in roms-multi-acl-account
to prevent Spring Data Redis repositories from overriding Redis OM Spring
repositories in multi-ACL scenarios
- Spring Boot: 3.x → 4.0.0
- Spring Data Redis: 3.x → 4.0.0
- Jedis: upgraded to 7.0.0 for compatibility
- All 1479+ tests passing
- All 10 demo modules building successfully
- Full compatibility with Spring Boot 4.0.0 verified
|**Spring Boot**|3.3.x|3.4.x or 3.5.x| Built with Spring Boot 3.4.5|
95
-
|**Spring Data Redis**|3.4.1|3.4.5 or later | Aligned with Spring Boot version |
96
-
|**Spring Framework**|6.2.x | Latest 6.x | Transitive via Spring Boot |
97
-
|**Jedis**|5.2.0 |5.2.0 or later | Redis Java client |
98
-
|**Java**|17|17 or 21 | Spring Boot 3.x requires Java 17+ |
99
-
|**Redis Stack**|6.2.x | 7.2.x or later | For JSON and Search modules |
94
+
|**Spring Boot**|4.0.0|4.0.0 or later| Built with Spring Boot 4.0.0|
95
+
|**Spring Data Redis**|4.0.0|4.0.0 or later | Aligned with Spring Boot version |
96
+
|**Spring Framework**|7.0.x | Latest 7.x | Transitive via Spring Boot |
97
+
|**Jedis**|7.0.0 |7.0.0 or later | Redis Java client |
98
+
|**Java**|21| 21 | Spring Boot 4.x requires Java 21+ |
99
+
|**Redis Stack**|7.2.x | 7.2.x or later | For JSON and Search modules |
100
100
101
101
#### Spring Boot Version Compatibility Policy
102
102
@@ -106,11 +106,11 @@ Redis OM Spring follows an **N-2 support policy** for Spring Boot versions:
106
106
- We support the current version and two previous minor versions that are still receiving OSS updates
107
107
- We upgrade Spring Boot with each Redis OM Spring release
108
108
109
-
For example, as of Redis OM Spring 1.0.0-RC4:
109
+
For example, as of Redis OM Spring 2.0.0:
110
110
111
-
-**Built with**: Spring Boot 3.4.5
112
-
-**Minimum supported**: Spring Boot 3.3.x
113
-
-**Recommended**: Spring Boot 3.4.x or 3.5.x
111
+
-**Built with**: Spring Boot 4.0.0
112
+
-**Minimum supported**: Spring Boot 4.0.0
113
+
-**Recommended**: Spring Boot 4.0.0 or later
114
114
115
115
⚠️ **Note**: Using older Spring Boot versions may work but is not officially tested or supported. For production use, we recommend staying within the supported version range.
116
116
@@ -477,7 +477,7 @@ This will unlock powerful AI-driven features for your applications, making data
477
477
478
478
For Maven, things normally just work, when you run `./mvnw spring-boot:run`. Some users have experienced this not being
479
479
the case, in which I recommend to explicitly declaring the `maven-compiler-plugin` in the case below it is paired with
480
-
an app created with [`start.spring.io`](https://start.spring.io/) with Spring Boot `v3.3.0` (all other versions can be
480
+
an app created with [`start.spring.io`](https://start.spring.io/) with Spring Boot `v4.0.0` (all other versions can be
481
481
inherited from the parent poms):
482
482
483
483
```xml
@@ -490,7 +490,7 @@ inherited from the parent poms):
0 commit comments