Releases: spring-projects/spring-graphql
Releases · spring-projects/spring-graphql
v1.1.2
⭐ New Features
- Allow configuring ExecutionInput in ExecutionGraphQlServiceTester #615
- ContextDataFetcherDecorator ignores subscriptions when "subscription" type is renamed #590
- Support
@Validated
on method parameter #571
🪲 Bug Fixes
- Observation instrumentation incorrectly manages parent observations #611
📔 Documentation
- Improve discoverability of starter documentation by adding a dedicate Boot Starter section in the reference #598
- Document Micrometer Observability support #595
- Update reference documentation with a link to "GraphQL Server" Getting Started Guide #551
🔨 Dependency Upgrades
v1.1.1
⭐ New Features
- Displaying the number of loaded schema files on boot #566
- Adapt to official media type changes in GraphQL over HTTP spec #563
- Introduce DataFetcher builder customizers for Querydsl and Query by Example repositories #559
- Relax generic type checks when
@Argument
binding to a map with an undeclared value type #554 - Allow custom
ExecutionStrategy
to useDataFetcherExceptionResolver
chain #552 - Refine ProjectedPayload argument handling for an optional input argument #550
🪲 Bug Fixes
- GraphQlClient query documents and test documents are missing from native image #575
- RSocket client fails in native when using the WebSocket transport #574
@ContextValue
resolver cannot determine method parameter name on@BatchMapping
methods #562- Native websocket applications fail on GraphQlWebSocketMessage reflection #560
- Align observation convention with Micrometer best practices #558
- ArgumentValue incorrectly returns false from isOmitted() for an omitted argument #553
- Tracing support fails with NullPointerException when propagation information is missing #547
📔 Documentation
- Document GraalVM Native support in reference documentation #581
- Use ClientResponseField instead of ResponseField in documentation samples #573
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.10.2 #556
- Upgrade to Reactor 2022.0.1 #586
- Upgrade to Spring Framework 6.0.3 #555
- Upgrade to Spring Security 6.0.1 #587
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v1.1.0
⭐ New Features
- Improve support for GraphQLSchema transformation #536
- Refine
null
handling fortoEntity
andtoEntityList
inClientResponseField
#525 - Support default
DataLoaderOptions
inDefaultBatchLoaderRegistry
#522 - Add maxBatchSize attribute to
@BatchMapping
#520 - Support checks if GraphQL argument was set to
null
or omitted entirely #518 - Replace use of DataBinder for binding GraphQL arguments #516
- Ahead Of Time support #495
- Cannot use
Set
as property in GraphQL argument input object #394 - Cannot use GraphQL argument object whose generic type is declared on
@SchemaMapping
method #349
🔨 Dependency Upgrades
v1.0.3
⭐ New Features
- Add actual elements to message of
containsAll
#507 - Wrapping a projected payload in optional returns IllegalStateException #506
- Adds the option to use a pre configured RSocketRequester #498
@Argument
doesn't supportMap
as a target type at any level #449
🪲 Bug Fixes
- GraphQlClient#retrieve does not raise FieldAccessException for failures at a path nested below the target field #499
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
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!