Skip to content

Update to Spring Boot 3.5.8 and align dependencies#3398

Open
justin-tay wants to merge 1 commit intoyahoo:masterfrom
justin-tay:spring-boot-3_5
Open

Update to Spring Boot 3.5.8 and align dependencies#3398
justin-tay wants to merge 1 commit intoyahoo:masterfrom
justin-tay:spring-boot-3_5

Conversation

@justin-tay
Copy link
Collaborator

Description

Upgrade the dependencies while making it still compatible with Spring Boot 3.5.8.

Motivation and Context

  • Update dependencies to non-vulnerable versions
  • Ensure compatibility to newer versions
  • Change in ExportApiEndpoint to throw exceptions is due to newer version of Jersey which fails when using sendError
  • Change in ExceptionMapper to remove the javax.annotation.Nullable annotation is because the latest version of Guava removed the jsr305 jar
  • Change in ElideFeature is due to GraalVM 21+ no longer setting java.class.path so ClassGraph cannot find classes during native build time
  • Change in FetcherFetchTest is to update the expectation as the GraphQL error message has changed

How Has This Been Tested?

All existing tests pass.
Native compilation using Spring Boot was tested with the example compiling using GraalVM 21.
Manual testing was done using the example to ensure it is working.

License

I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@aklish aklish requested a review from Copilot December 6, 2025 04:27
Copy link

Copilot AI left a 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 PR upgrades Spring Boot from 3.4.1 to 3.5.8 and updates numerous dependencies to their latest versions, including GraphQL, Jersey, Hibernate, and various Apache Commons libraries. The changes ensure compatibility with newer versions while addressing security vulnerabilities.

Key changes:

  • Dependency version bumps across ~40 libraries with emphasis on major version updates for GraphQL (22.0 → 24.3), Jersey (3.1.8 → 3.1.11), and Spring Framework (6.1.10 → 6.2.14)
  • Modified GraalVM native image support to work with GraalVM 21+ which no longer sets java.class.path
  • Updated exception handling in ExportApiEndpoint to throw Jersey exceptions instead of using sendError
  • Removed javax.annotation.Nullable annotation due to Guava's removal of jsr305 dependency
  • Updated test expectations to match new GraphQL error message format

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pom.xml Updates ~40 dependency versions including Spring Boot 3.5.8, adds separate version property for graphql-java-extended-scalars
FetcherFetchTest.java Updates expected error message to match new GraphQL validation error format with HTML entity encoding
ClassScannerCache.java Adds getter method to expose cached annotation names for GraalVM feature
ElideFeature.java Refactors to scan classes using GraalVM's ApplicationClassPath, adds lifecycle hook binding resolution
ExceptionMapper.java Removes @Nullable annotation from interface method
ExportApiEndpoint.java Replaces sendError calls with Jersey exception throwing (NotFoundException, InternalServerErrorException)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments