-
Notifications
You must be signed in to change notification settings - Fork 3
Update to Spring Boot 4 #680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
eb3579e to
2aea9d3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request upgrades the project from Spring Boot 3 to Spring Boot 4, which includes a major migration from Jackson 2.x (com.fasterxml.jackson) to Jackson 3.x (tools.jackson). The changes also update test dependencies (Groovy 5.0.3, Spock 2.4) and bump the project version to 4.0.0-SNAPSHOT.
Key Changes
- Migration from Jackson 2.x to Jackson 3.x with complete package namespace changes
- Updated Spring Boot from 3.5.7 to 4.0.1
- Replaced deprecated Jackson APIs (JsonSerializer/JsonDeserializer → ValueSerializer/ValueDeserializer, SerializerProvider → SerializationContext)
- Updated test framework dependencies and migrated tests to use RestClient instead of TestRestTemplate
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| buildSrc/build.gradle.kts | Updates Spring Boot Gradle plugin to 4.0.1 |
| buildSrc/src/main/kotlin/unit-api.test.gradle.kts | Updates Groovy to 5.0.3 and Spock to 2.4, adds JUnit platform launcher |
| buildSrc/src/main/kotlin/unit-api.spring-conventions.gradle.kts | Updates Spock Spring integration to 2.4 |
| unit-api-jackson/build.gradle | Migrates Jackson dependency from com.fasterxml to tools.jackson 3.0.3 |
| unit-api-jackson/src/main/java/.../serializer/QuantitySerializer.java | Migrates to ValueSerializer API and SerializationContext |
| unit-api-jackson/src/main/java/.../deserializer/QuantityDeserializer.java | Migrates to ValueDeserializer API |
| unit-api-jackson/src/main/java/.../deserializer/extractor/*.java | Updates to use tools.jackson packages and new API methods |
| unit-api-jackson/src/main/java/.../exception/*.java | Updates exception hierarchy from JsonMappingException to DatabindException/InvalidFormatException |
| unit-api-jackson/src/main/java/.../config/UnitApiFeature.java | Updates FormatFeature import to tools.jackson |
| unit-api-jackson/src/main/java/.../UnitApiModule.java | Updates module imports to tools.jackson |
| unit-api-jackson/src/test/groovy/.../QuantitySerializerSpec.groovy | Migrates tests to JsonMapper.builder() pattern, updates mocks for new API |
| unit-api-jackson/src/test/groovy/.../helpers/DummyContext.groovy | Updates deserialization context construction for new API |
| unit-api-jackson/src/test/groovy/.../exception/UnitExceptionSpec.groovy | Updates exception tests for new error message format |
| unit-api-jackson/src/test/groovy/.../deserializer/*.groovy | Updates imports and method calls for new Jackson API |
| spring-boot-jackson-starter/build.gradle | Adds RestClient dependency for testing |
| spring-boot-jackson-starter/src/test/groovy/.../*.groovy | Migrates tests from TestRestTemplate to RestClient |
| spring-boot-springdoc-starter/src/test/groovy/.../UnitApiPropertyCustomizerSpec.groovy | Adds SimpleType test helper with containedTypeName method |
| spring-boot-jpa-starter/src/test/groovy/.../QuantityTypeSpec.groovy | Renames static imports to avoid conflicts |
| gradle.properties | Updates version to 4.0.0-SNAPSHOT |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...starter/src/test/groovy/com/raynigon/unit/api/springdoc/UnitApiPropertyCustomizerSpec.groovy
Show resolved
Hide resolved
...ringdoc-starter/src/main/java/com/raynigon/unit/api/springdoc/UnitApiPropertyCustomizer.java
Show resolved
Hide resolved
unit-api-jackson/src/main/java/com/raynigon/unit/api/jackson/serializer/QuantitySerializer.java
Outdated
Show resolved
Hide resolved
unit-api-jackson/src/main/java/com/raynigon/unit/api/jackson/serializer/QuantitySerializer.java
Outdated
Show resolved
Hide resolved
unit-api-jackson/src/main/java/com/raynigon/unit/api/jackson/serializer/QuantitySerializer.java
Show resolved
Hide resolved
...ckson/src/test/groovy/com/raynigon/unit/api/jackson/serializer/QuantitySerializerSpec.groovy
Show resolved
Hide resolved
Grannath
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a little worried about those references to the old Jackson libraries. Can we test this somehow with a "real" runtime classpath?
|
@Grannath The Annotations are still the old ones, there are no new annotations for jackson3. What do you mean by "real" runtime? |
No description provided.