Releases: spring-projects/spring-graphql
Releases Β· spring-projects/spring-graphql
v1.1.0-RC1
v1.1.0-M1
β New Features
- Integrate with the Micrometer Context Propagation library #459
- Upgrade to GraphQL Java 19.2 #444
- Upgrade baseline to Java 17 and Jakarta APIs #426
πͺ² Bug Fixes
- Make the context propagation dependency mandatory #482
π¨ Dependency Upgrades
- Upgrade to Micrometer context-propagation 1.0 M5 #477
v1.0.2
β New Features
- Support
@Arguments
with Map #493 - Fix NPE when GraphQL argument is a list with a null element #486
- Support controller method parameter annotations on an interface #480
- Controller's with CompletableFuture return bad error messages or no error at all #479
- Support path variables for redirect to GraphiQL path #478
- Allow custom scalar, parsed to different types, to bind onto
java.lang.Object
#447 - Introspect controller methods on startup to determine if they need validation #445
- Do not ignore a DataFetcher with a DataFetcherFactories wrapper #440
πͺ² Bug Fixes
- Target collection type is not used in argument binding #485
- Java classes with Optional constructor args for GraphQL input types fail with InaccessibleObjectException #470
π Documentation
- Improve reference docs on how to find schema files acorss multiple modules #489
- Document how to customize global, request validation errors that prevent execution #487
π¨ Dependency Upgrades
- Upgrade to GraphQL Java 18.3 #456
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
v1.0.1
β New Features
- Improve handling of case where a source/parent is expected and is null #429
- Support for resolving exceptions from a subscription #398
- DataBinder using default auto grow collection limit #392
πͺ² Bug Fixes
- Auto-registration of
@GraphQlRepository
does not work for output type defined as non-null #418 @Argument
resolver fails when type coercion from a single value to SingletonList is involved #410- The GraphQL UI cannot be opened if a spring.mvc.servlet.path is configured #402
π Documentation
- Fix links to Boot "Web Endpoints" section and mention WebSocket endpoint not enabled by default #436
- Update Javadoc of
retrieve
inGraphQlClient
for decoding full data #434 - Update documentation to show setting response headers with value from
@SchemaMapping
method #428
π¨ Dependency Upgrades
- Upgrade to GraphQL Java 18.2 #446
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
v1.0.0
β New Features
- Improve handling of concurrent requests in WebSocketGraphQlClient #388
- Add start and stop methods to RSocketGraphQlClient #378
- Adjust support for "application/graphql" media type so it is used only if explicitly requested #375
- Expose map of "extensions" in GraphQlRequest #371
- Support String and Number to be injected as the parent/source #370
- Improve readability of assertion messages #361
- HttpGraphQlClientTransport should respect an existing, explicitly set Content-Type #359
- Add
@LocalContextValue
for access to attributes from the local GraphQLContext in DataFetchingEnvironment #353 - Support Callable as a return value from controller methods for asynchronous execution #316
- Add shouldPersistHeaders = true to GraphiQL options #257
πͺ² Bug Fixes
@ContextValue
does not work for Mono argument #355- FieldAccessException should include field as well as global errors in its message #348
π Documentation
- Provide advice on number of instances and connections for WebSocketGraphQlClient and RSocketGraphQlClient #368
- Slightly incorrect documentation about BatchMapping return values #360
- Fix docs for WebGraphQlTester #358
- Update minimum requirement to GraphQL Java 18.0 #357
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
v1.0.0-RC1
β New Features
- Do not include exception message for unresolved exceptions #352
- GraphQlTester created via
@GraphQlTest
should use application JSON config #345 - Support RSocket as a transport #339
- Improve configuration and defaults for document location #338
- Improve Exception Logging in ExceptionResolversExceptionHandler #336
- Refactor GraphQlSource builder to separate programmatic vs SDL way of create GraphQLSchema #312
- Support for application/graphql content type #108
πͺ² Bug Fixes
- Principal is null when executing requests over WebSocket with Spring MVC #342
π Documentation
- Improve documentation samples on access to HTTP headers from controller #350
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
v1.0.0-M6
β New Features
- Add client-side interception on GraphQlClient #332
- Revisit GraphQlTester to align with GraphQlClient #317
- Further alignment with GraphQL spec terminology #310
- Provide details when schema resource is invalid #307
- Bind zero-length nested input argument to a zero-length List instead of null #301
- Apply a multiple values argument to the same property in Querydsl #281
- Raise BindException from GraphQlArgumentBinder with binding errors #280
- Revise JSONPath options in GraphQlTester #278
- Improve server handling of WebSocket connection closing and subscription completion #276
- Add support for
@AuthenticationPrincipal
annotated method parameter #272 - Improve options to customize of ConversionService used for GraphQL argument binding #271
- Support for GraphQL over WebSocket
Ping
andPong
message types #270 - Allow binding full arguments map onto an object #258
- Check for and eliminate duplicate schema resource registrations #230
- Add a GraphQLClient #10
πͺ² Bug Fixes
- "non-public interface is not defined by the given loader " when using input Projections for Mutations #333
- Fix implementation of
containsExactly
#327 - GraphQlWebSocketHandler incorrectly turns ExecutionResult with errors into an "error" message #320
- GraphQlTester.executeAndVerify should not check for empty errors map #318
- ArgumentMethodArgumentResolver and QueryByExampleDataFetcher are not thread safe #315
- QuerydslDataFetcher: ClassCastException when using a variable with type other than String #311
- Shortcut annotations
@QueryMapping
,@MutationMapping
, and@SubscriptionMapping
should target ElementType.METHOD only #290 @Valid
arguments and aPrincipal
argument cannot both be declared on the same method #289- Incorrect arguments to Assert.isInstanceOf in AnnotatedControllerConfigurer #282
π Documentation
- Document custom type resolution strategies #334
- Document why Jackson annotations on types are not used for JSON serialization #321
- Update documentation with guidance on the use of aggregates and projections with Spring Data #264
- Add section on directives to reference documentation #262
- Improve guidance on use of projections with Querydsl and Query By Example #248
- Add section on operation caching to reference documentation #233
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
1.0.0-M1 Release
β New Features
- Support programmatic GraphQLSchema creation #4
- Testing Support #43
- Context Propagation to DataFetcher's with Spring MVC #53
- Add basic micrometer metrics support #16
- Add endpoint to print the schema #13
- Add built-in GraphiQL integration #12
- Use chained handling for web requests #49
- Flexible handling of DataFetcher exceptions #51
- Add Querydsl integration #59
- Add security classes to main spring-graphql module #82
- Add Security Configuration to Boot Starter #81
- Remove configuration key for GraphQL schema path #79
- Separate Property for GraphiQL Path #70
- Add Builder for GraphQlTester and WebGraphQlTester #66
- GraphqlTester should not have web dependencies #65
- Add Spring MVC Security Sample #58
- Support for multiple graphql schema files #56
- Reactive DataFetcherExceptionResolver #52
- Encapsulate GraphQL initialization #48
- Reactor based DataFetcher support #47
- Add GraphQL tester auto-configuration #46
- Change default schema location from root package to "graphql" #44
- Add Interface for GraphQL Request Execution #42
- Only build GraphQL once #37
- Replace WebSocket-related SimpleUrlHandlerMapping Sub-Classes #35
- Allow HTTP and WebSocket To Use The Same Path #30
- Refine GraphQL metrics #19
- Remove Spring Boot starters #17
- Support for WebInterceptor configuration #7
- Add response headers to WebOutput #6
- Make endpoint url configurable and default to "/graphql" #5
πͺ² Bug Fixes
- Failing webmvc sample with querydsl predicate executor #71
- Missing Configuration metadata in starter module #33
π Documentation
- Refine Querydsl integration documentation #83
- Write Spring GraphQL Reference Documentation #78
- fix links in doc #77
- Correct location of schema in README. #57
- Add sample application #15
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!