Skip to content

[WIP] Upgrade to Spring Boot 4.2, graphql-java 26.+, spring-graphql 2.1 - #2352

Draft
jiholee17 wants to merge 1 commit into
masterfrom
feature/spring-boot-4.2
Draft

jiholee17 wants to merge 1 commit into
masterfrom
feature/spring-boot-4.2

Conversation

@jiholee17

@jiholee17 jiholee17 commented Sep 24, 2026 •

Copy link
Copy Markdown

[Work in progress, do not merge]

Summary

Updates DGS Framework for the Spring Boot 4.2 line, GraphQL Java 26.+, and Spring GraphQL 2.1.

Spring Boot 4.2: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.2-Release-Notes
GraphQL Java 26: https://github.com/graphql-java/graphql-java/releases/tag/v26.0
Spring GraphQL 2.1: https://github.com/spring-projects/spring-graphql/wiki/Spring-for-GraphQL-2.1

Changes

  • Updated Spring Boot from 4.0.0 to 4.2.0-M2.
  • Updated GraphQL Java from 25.0 to 26.1.
  • Updated Apollo Federation JVM support from 5.3.0 to 7.0.0.
  • Updated GraphQL Java Extended Validation from 22.0 to 24.0.
  • Refreshed dependency locks across affected modules.
  • Updated Kotlin production and test code for GraphQL Java 26’s JSpecify nullability annotations.
  • Updated instrumentation implementations for nullable InstrumentationState and execution metadata.
  • Updated federation entity error-path expectations.
  • Added safe fallback metric tags for incomplete execution metadata.
  • Updated tests for nullable GraphQL results, context values, schema lookups, and Spring beans.

Compatibility status

Completed

  • Updated DGS production code for GraphQL Java 26 nullability contracts.
  • Updated affected Kotlin tests and instrumentation implementations.
  • Updated federation entity error-path expectations to paths such as ["/_entities", 0].
  • Verified existing federation, validation, metrics, pagination, and Spring GraphQL tests.
  • Updated Federation JVM to a version compatible with GraphQL Java 26.
  • Refreshed affected dependency locks.

Not yet explicitly addressed

  • Decide whether DGS should retain, configure, document, or disable GraphQL Java 26’s default query limits:
    • Maximum depth: 100
    • Maximum field count: 100,000
  • Add tests for MaxQueryDepthExceeded and MaxQueryFieldsExceeded.
  • Audit schemas for the stricter GraphQL Java 26 validation rules.
  • Add regression coverage for built-in directive presence and ordering.
  • Add explicit coverage for Federation v2.13–v2.15 features.
  • Document downstream Kotlin migration requirements for custom instrumentation and direct GraphQL Java API usage.
  • Review and document the federation error-path change as a client-visible compatibility consideration.
  • Repeat the compatibility review as new Spring Boot milestones, release candidates, and final releases become available.

This branch has not been deployed

No deployments
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