The Wire · Showcase
SPRING-GRAPHQL FIXES API CONTRACT BROKEN BY IMMUTABLE OPTIONS
By RepoJournal · Filed · About Spring
Spring GraphQL shipped a fix that makes GraphQlArgumentBinder.Options mutable, restoring the ability for downstream code to actually configure binders through the existing API.
The GraphQlArgumentBinder.Options class was immutable, which meant the AnnotatedControllerConfigurer.configureBinder method had no effect despite accepting a Consumer for configuration [1]. Rather than break source compatibility by changing the configureBinder signature, the team made Options mutable to enable the existing API as intended. This is a clean fix to a subtle API contract violation that would have quietly frustrated anyone trying to customize binder behavior. Spring AI also shipped two back-to-back fixes addressing option merging issues across OpenAI integrations [2] [3]. The first fixes the combineWith method in OpenAiChatOptions.AbstractBuilder by stopping inheritance from AbstractOpenAiOptions and instead copying properties explicitly [2]. The second ensures proper handling of generic merging across audio, image, embedding, and moderation options [3]. Spring LDAP tightened security posture by pinning GitHub Actions to SHAs instead of tags [4], eliminating the risk of tag mutations in CI workflows.
Action items
- → Update spring-graphql to pick up the Options mutability fix if you configure binders through AnnotatedControllerConfigurer spring-projects/spring-graphql [plan]
- → Verify your Spring AI OpenAI integration after updating to get the combineWith and generic merging fixes spring-projects/spring-ai [plan]
- → Audit your GitHub Actions workflows to ensure you're pinning to SHAs, not tags spring-projects/spring-ldap [monitor]
References
- [1] Make GraphQlArgumentBinder.Options mutable spring-projects/spring-graphql
- [2] Fix OpenAiChatOptions.AbstractBuilder#combineWith spring-projects/spring-ai
- [3] Fix OpenAI generic options merging spring-projects/spring-ai
- [4] Favor SHAs in GitHub Actions spring-projects/spring-ldap
FAQ
- What changed in Spring on May 16, 2026?
- Spring GraphQL shipped a fix that makes GraphQlArgumentBinder.Options mutable, restoring the ability for downstream code to actually configure binders through the existing API.
- What should Spring teams do about it?
- Update spring-graphql to pick up the Options mutability fix if you configure binders through AnnotatedControllerConfigurer • Verify your Spring AI OpenAI integration after updating to get the combineWith and generic merging fixes • Audit your GitHub Actions workflows to ensure you're pinning to SHAs, not tags
- Which Spring repositories shipped on May 16, 2026?
- spring-projects/spring-graphql, spring-projects/spring-ai, spring-projects/spring-ldap