Disabled insecure default for CORS allowed origins
The default value opened up GraphQL server for javascript access from all origins with the wildcard operator. This has been disabled. Instead you need to specifically configure the allowed origins (comma separated to configure multiple domains). You could use the wildcard operator again if you really want to, but this is not recommended.
graphql.servet.cors.allowed-origins = http://some.domain.com
Allow graphql.GraphQL.Builder#doNotAddDefaultInstrumentations to be set
Instead of a specific property we've introduced an object that can be used to configure the GraphQL.Builder
just before it's used to build the GraphQL
insteance. This can be achieved by exposing a GraphQLBuilderConfigurer
bean, e.g.
@Component
class DisableDefaultInstrumentationsConfigurer implements GraphQLBuilderConfigurer {
@Override
public void configure(GraphQL.Builder builder) {
builder.doNotAddDefaultInstrumentations();
}
}
Add support for GraphiQL header editor #441
GraphiQL now supports a header editor. We've upgraded the GraphiQL version to this one to add support for it. You can still use the header configuration through properties. Those will be combined and visible in the header editor once enabled:
graphiql:
props:
variables:
headerEditorEnabled: true
For all supported GraphiQL props see: https://github.com/graphql/graphiql/tree/main/packages/graphiql#options.
Other changes
- Update graphql-java-servlet to 10.1.0: https://github.com/graphql-java-kickstart/graphql-java-servlet/releases/tag/v10.1.0
- Update graphql-java-tools to 6.3.0: https://github.com/graphql-java-kickstart/graphql-java-tools/releases/tag/6.3.0
- Upgrade bundled playground to 1.7.26
- Can't cast to dataFetchingEnvironment.getContext() to graphql.kickstart.spring.GraphQLSpringServerWebExchangeContext #426
- Migrate all tests to JUnit 5 / AssertJ #480
- Upgraded to Gradle 6.7
- No location, path, extensions When graphql.servlet.exception-handlers-enabled Set to true #478
- GraphQLTestTemplate: post() Should Be Public #475
- Feature/fix test subscription reset #472
- Update GraphQLController to use ObjectMapper to map ExecutionResult #471
- Support Async Timeout Property in GraphQLServletProperties #469
- Failed to load subscription client when CDN is enabled #463
- Add fluent API support for test template and response #443
- Provided SubscriptionExecutionStrategy is not used #430
- Add graphQL endpoint template resolve as in graphiql controller. #412
- Deprecated introspectionEnabled but new property not accepted #402
- GraphQLResponseCache support
- tracing-enabled: metrics-only fails to start #392
- Subscription does not handle properly NonNullableFieldWasNullException #378
- Bug? instrumentExecutionContext not called for subscriptions #358