Migrate to Java 17 + Spring Boot 3.4.2#355
Open
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
Open
Migrate to Java 17 + Spring Boot 3.4.2#355devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
Conversation
- Update Java from 11 to 17 (build.gradle + CI) - Update Gradle wrapper to 8.5 - Update Spring Boot from 2.6.3 to 3.4.2 - Update dependency-management plugin to 1.1.4 - Migrate javax.* to jakarta.* (except javax.crypto.*) - Migrate Joda Time to java.time.Instant - Refactor WebSecurityConfig for Spring Security 6 - Update JJWT from 0.11.2 to 0.12.5 (new builder API) - Update DGS from 4.9.21 to 8.2.0, codegen to 6.2.1 - Update MyBatis from 2.2.2 to 3.0.3 - Update SQLite JDBC to 3.45.1.0 - Update REST Assured to 5.4.0 - Update Spotless to 6.25.0 - Update README for Java 17 Co-Authored-By: bobby.nobakht@codeium.com <bnobakht35@gmail.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrate to Java 17 + Spring Boot 3.4.2
Summary
Comprehensive migration from Java 11 + Spring Boot 2.6.3 to Java 17 + Spring Boot 3.4.2, touching 42 files across build config, source, and tests. Key changes:
javax.crypto.*preservedWebSecurityConfigurerAdapterremoved, replaced withSecurityFilterChainbean using lambda DSL andrequestMatcherssubject(),expiration(),parser().verifyWith(),parseSignedClaims(),getPayload()) andKeys.hmacShaKeyFor()CompletableFuture<DataFetcherExceptionHandlerResult>All 68 tests pass locally.
Review & Testing Checklist for Human
DefaultJwtServiceswitched from explicitHS512viaSecretKeySpectoKeys.hmacShaKeyFor(), which selects algorithm by key length. Verify thejwt.secretproperty is ≥64 bytes for HS512 parity, otherwise this silently downgrades. Existing tokens will be invalidated if the algorithm changes.GraphQLCustomizeExceptionHandlerno longer delegates toDefaultDataFetcherExceptionHandlerfor unhandled exceptions; it now returnsTypedGraphQLError.newInternalErrorBuilder()which may expose exception messages differently to clients.java-dataloader:3.2.2— Explicit dependency added to resolve DGS 8.2.0 vs codegen 6.2.1 conflict. Verify no runtime issues from pinning the older dataloader version.gradle-wrapper.propertieswas edited; the wrapper jar itself is still from 7.4. CI may fail if it doesn't have Gradle 8.5 cached. Consider running./gradlew wrapper --gradle-version=8.5to regenerate the jar../gradlew bootRun), serves REST/GraphQL requests, and JWT auth works correctly with the new JJWT API.Test Plan
./gradlew bootRuncurl http://localhost:8080/tags/graphqlNotes