Skip to content

Releases: ExpediaGroup/graphql-kotlin

6.2.0

16 Aug 18:57
4293777
Compare
Choose a tag to compare

Minor Changes

Patch Changes

Other Changes

6.1.0

02 Aug 03:07
96f85a8
Compare
Choose a tag to compare

Minor Changes

Patch Changes

6.0.0

27 Jul 21:22
186c46f
Compare
Choose a tag to compare

🎉 GraphQL Kotlin 6.0.0!

Automatic Coroutine Context Propagation

graphql-kotlin-server automatically populates GraphQLContext map with appropriate coroutine scope. This scope contains coroutine context that was available when processing the incoming HTTP request and is subsequently used by all data fetchers to resolve the underlying fields. Users can customize the coroutine context by providing CoroutineContext::class entry in custom GraphQL context using GraphQLContextFactory.

See #1349 for details.

Apollo Federation v2 support

Federation v2 is an evolution of the Federation spec to make it more powerful, flexible, and easier to adapt. While v1 and v2 schemas are similar in many ways, Federation v2 relaxes some of the constraints and adds additional capabilities.

See #1459 for details.

Update to graphql-java 18

Adds support for applied schema directive. In previous versions, GraphQLDirective represented both a schema definition object as well as individual instances that were applied to a schema or query element. Schema generation logic was updated to continue generating GraphQLDirective schema definitions and then create a corresponding instance of GraphQLAppliedDirective that is applied to a target element.

See #1393 for details.

Batching and deduplication of data fetchers for BatchGraphQLRequests

graphql-kotlin-server can now execute graphql queries concurrently, and because of that we added the capability to use DataLoaders for all queries being executed concurrently, we also added a new custom instrumentation that will dispatch the DataLoaderRegistry when all synchronous data fetchers where dispatched instead of doing it by level simulating what the javascript event loop does with the data loaders and solving these issues:

  1. graphql-java/graphql-java#2715
  2. graphql-java/graphql-java#1198

See #1419 for details.
More information and examples on our docs

Apollo Automatic Persisted Queries (APQ) support

APQ is a technique created by Apollo to improve GraphQL network performance with zero build-time configuration by sending smaller GraphQL HTTP requests, a smaller request payload reduces bandwidth utilization and speeds up GraphQL client loading times.

See #1474 for details.
More information and examples on our docs

Argument deserialization no longer relies on Jackson

Data fetcher argument parsing logic no longer depends on Jackson. Old logic was problematic as arguments passed to data fetchers were already coerced to appropriate type by graphql-java but since Jackson was unaware of it, it was resulting in a duplicate deserialization. This caused custom scalar inputs deserialization problems.

See #1379 for details.

5.x.x Support

Going forward we will only support the 5.x.x branch for critical security issues or urgent bug fixes.

Feedback

As with any open source project, we want to thank the community for using our library and providing valuable feedback and even pull requests. We will continue to support this library and use it in production at @ExpediaGroup, but the goal of the project is still to make GraphQL development easier for everyone. If you have a feature request or question, feel free to start a new discussion, create a new issue or reach out to our public Slack channel.

GitHub has the full list of contributors since we made the 6.0.0 cut.


Major Changes

Minor Changes

Patch Changes

Other Changes

6.0.0-alpha.6

07 Jul 17:55
f773327
Compare
Choose a tag to compare
6.0.0-alpha.6 Pre-release
Pre-release

Minor Changes

  • Update spring-server to use FlowSubscriptionSchemaGeneratorHooks (#1479) @dariuszkuc

Other Changes

6.0.0-alpha.5

20 Jun 18:03
5f09656
Compare
Choose a tag to compare
6.0.0-alpha.5 Pre-release
Pre-release

Minor Changes

Patch Changes

5.5.0

09 Jun 21:27
feac99c
Compare
Choose a tag to compare

Other Changes

  • feat: update spring-boot version to 5.3.20 (#1458) @samuelAndalon
    Forcing usage of graphql-java:17.2 since spring-boot-starter-parent:2.7.0 pulls graphql-java:18 and graphql-kotlin 5.x.x is not compatible with that version, when clients using spring-boot-starter-parent:2.7.0 and graphql-kotlin 5.x.x the build will trigger a resolution error to force them to use graphql-java:17.2

5.4.1

11 May 17:26
90f18d3
Compare
Choose a tag to compare

Minor Changes

5.4.0

09 May 18:33
5b058bf
Compare
Choose a tag to compare

Minor Changes

6.0.0-alpha.4

06 May 19:07
053bce0
Compare
Choose a tag to compare
6.0.0-alpha.4 Pre-release
Pre-release

Other Changes

  • Revert "feat(generator): avoid adding input-suffix for input-only classes" (#1438) @samuelAndalon

6.0.0-alpha.3

04 May 19:50
8da7aed
Compare
Choose a tag to compare
6.0.0-alpha.3 Pre-release
Pre-release

Major Changes

Patch Changes

  • fix: willAddGraphQLTypeToSchema needs annotations from field (#1437) @bherrmann2

Other Changes