Releases: spring-projects/spring-graphql
Releases · spring-projects/spring-graphql
v1.4.0-RC1
⭐ New Features
- Add batch loading information to SelfDescribingDataFetcher #1176
- Reduce the number of memory allocations for empty argument values #1175
- Add additional methods to interact with an ArgumentValue #1172
- Support for both constructor and setter argument binding #1163
- Prevent further invocation of data fetchers when GraphQL request is cancelled #1153
- Make it easier to create a custom
GraphQlSource
#1086 - Add DataLoader observability support #1034
📔 Documentation
- Document use of DataFetcherResult for injecting values in local context #1167
🔨 Dependency Upgrades
- Upgrade to GraphQL Java 23.1 #1169
- Upgrade to Micrometer 1.15.0-RC1 #1180
- Upgrade to Reactor 2024.0.5 #1179
- Upgrade to Spring Framework 6.2.6 #1178
❤️ Contributors
Thank you to all the contributors who worked on this release:
v1.3.5
⭐ New Features
- GraphQL Subscriptions + graphql-java-extended-validation directives throws IllegalStateException rather than validation error #1143
- GraphQlTester.Response should expose extensions #1131
🐞 Bug Fixes
- Use correct logger name in QuerydslDataFetcher #1185
- Allow non-nullable "edges" list type in GraphQL relay #1173
- Cancellation signal is not propagated from transports to reactive controller methods #1149
- HTTP request with invalid "Content-Type" header causes InvalidMimeTypeException and 500 response #1145
- GraphQlTester does not pass extensions for subscriptions #1135
📔 Documentation
- Documentation page about code generation is truncated #1188
🔨 Dependency Upgrades
- Upgrade to Context Propagation 1.1.3 #1194
- Upgrade to Micrometer 1.13.13 #1193
- Upgrade to Reactor 2023.0.17 #1192
- Upgrade to Spring Framework 6.1.19 #1191
❤️ Contributors
Thank you to all the contributors who worked on this release:
v1.4.0-M1
⭐ New Features
- Remove explicit checks in GraphQlHttpHandler if the Future is already completed #1152
- Align transports with GraphQL over HTTP specification #1117
- Introduce GraphQL response media type in spring-graphql #1110
- SchemaMappingInspector field resolution should check public fields to match PropertyFetchingImpl #1101
- Support DataLoader argument in
@EntityMapping
methods #1095 - Detect and report federated entities not covered by any
@EntityMapping
method #1088 - Support Keep-Alive for GraphQL Subscriptions over SSE with Spring WebFlux/WebMvc #1048
- Provide a WebGraphQlInterceptor that supports HTTP timeouts #450
🔨 Dependency Upgrades
- Upgrade to Apollo GraphQL Federation 5.3.0 #1161
- Upgrade to Micrometer 1.15.0-M3 and Tracing 1.5.0-M3 #1158
- Upgrade to Netflix GraphQL CodeGen 7.0.3 #1162
- Upgrade to Reactor 2024.0.4 #1157
- Upgrade to Spring Boot 3.4.x #1108
- Upgrade to Spring Data 2025.0.0-M2 #1159
- Upgrade to Spring Framework 6.2.3 #1156
- Upgrade to Spring Security 6.5.0-M3 #1160
❤️ Contributors
Thank you to all the contributors who worked on this release:
v1.3.4
⭐ New Features
- WebSocket handlers should log unhandled errors #1122
- Authorization key lookup in BearerTokenAuthenticationExtractor should be case insensitive #1116
- Avoid IllegalArgumentException for custom error type in ResponseMapGraphQlResponse #1115
🐞 Bug Fixes
- ExecutionGraphQlService should handle early GraphQLExceptions #1118
- WebSocketGraphQlTransport does not emit error signal if connection closed before GraphQL session is initialized #1098
- Error thrown from
@GraphQlExceptionHandler
method results in ClassCastException #1090 - Flatten nested argument maps in
QuerydslDataFetcher
#1085
📔 Documentation
- Update documentation to use
jakarta.persistence.*
for Querydsl setup #1121 - Fix links to Spring Boot in reference documentation #1097
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.13.11 #1128
- Upgrade to Reactor 2023.0.15 #1127
- Upgrade to Spring Data 2024.0.9 #1129
- Upgrade to Spring Framework 6.1.17 #1126
- Upgrade to Spring Security 6.3.6 #1130
❤️ Contributors
Thank you to all the contributors who worked on this release:
@mp911de, @salmansharifov, @sic2, and @snicoll
v1.3.3
⭐ New Features
- Allow setting timeout for SSE handling #1079
@BatchMapping
methods should pass the localContext as the BatchLoaderEnvironment's keyContexts #1066- Allow Enum type to be a source in controllers. #1059
- Lenient handling of empty representations list in EntitiesDataFetcher #1057
- Schema inspection should check actual paginated type name rather than deriving it from the Connection type name #1053
- Schema inspection reports skipped type when field is mapped to property with generic type #1037
🐞 Bug Fixes
- Ensure all Publisher errors are handled consistently in SSE handlers #1080
- NullPointerException with GraphQlSseHandler in case of async timeouts #1067
- SSE and WS handlers get into an error handling loop on disconnect #1060
- DefaultExecutionRequestObservationConvention does not produce INTERNAL_ERROR outcomes #1058
- Legacy "application/graphql" is not supported if charset is set #1036
📔 Documentation
- Document behavior when both
first
andlast
are specified for pagination #1055 - Parameterless method retrieveSync() does not exist in RequestSpec #1042
🔨 Dependency Upgrades
- Upgrade to GraphQL Java 22.3 #1044
- Upgrade to Micrometer 1.13.6 #1076
- Upgrade to Reactor 2023.0.11 #1075
- Upgrade to Spring Data 2024.0.5 #1077
- Upgrade to Spring Framework 6.1.14 #1074
- Upgrade to Spring Security 6.3.4 #1078
❤️ Contributors
Thank you to all the contributors who worked on this release:
v1.2.9
⭐ New Features
@BatchMapping
methods should pass the localContext as the BatchLoaderEnvironment's keyContexts #1071
🐞 Bug Fixes
- DefaultExecutionRequestObservationConvention does not produce INTERNAL_ERROR outcomes #1065
- Legacy "application/graphql" is not supported if charset is set #1038
🔨 Dependency Upgrades
v1.3.2
⭐ New Features
- Field mapped to Kotlin function reported as unmapped by SchemaMappingInspector #995
🐞 Bug Fixes
- DataLoader registrations via BatchLoaderRegistry not used at runtime #1020
@EntityMapping
method cannot resolve Kotlin List argument #1018- Exception not logged at DEBUG level when handled by annotated controller method #996
📔 Documentation
- Update reference doc links to Spring Boot 3.3 #1016
- Document setting up library with Spring, without using spring boot #606
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.13.2 and Tracing 1.3.2 #1030
- Upgrade to Reactor 2023.0.8 #1029
- Upgrade to Spring Data 2024.0.2 #1031
- Upgrade to Spring Framework 6.1.11 #1028
❤️ Contributors
Thank you to all the contributors who worked on this release:
v1.2.8
v1.3.1
⭐ New Features
- Support returning
Flux
of entities from@EntityMapping
methods #991 - Do not apply ContextDataFetcherDecorator to TrivialDataFetcher instances #983
- Support fragments in GraphQlTester #964
🪲 Bug Fixes
- TypeMismatchError if controller method returning
Flow
is declared without suspend keyword #988 - UNKNOWN uri value in web observations for GraphQL endpoints #987
@AuthenticationPrincipal
resolver should have precedence overPrincipal
resolver #982
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.13.1 and Tracing 1.13.1 #1010
- Upgrade to Reactor 2023.0.7 #1009
- Upgrade to Spring Data 2024.0.1 #1011
- Upgrade to Spring Framework 6.1.9 #1008
- Upgrade to Spring Security 6.3.1 #1012
❤️ Contributors
Thank you to all the contributors who worked on this release:
@github-actions[bot] and @osi
v1.2.7
⭐ New Features
- Allow use of GraphQL Java 21.x in Spring for GraphQL 1.2.x #974
- Support client requests with content-type "application/graphql" #948
🪲 Bug Fixes
@AuthenticationPrincipal
resolver should have precedence overPrincipal
resolver #990InvocableHandlerMethodSupport#adaptCallable
does not unwrapInvocationTargetException
#973
📔 Documentation
- Update documentation with advice on how to achieve schema namespacing #863
- Document how to configure custom
ExecutionStrategy
#832
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.11.12 #1005
- Upgrade to Reactor 2022.0.20 #1004
- Upgrade to Spring Data 2023.0.12 #1006
- Upgrade to Spring Framework 6.0.22 #1003
- Upgrade to Spring Security 6.1.9 #1007
❤️ Contributors
Thank you to all the contributors who worked on this release:
@github-actions[bot]