deps: update graphqlplugin to v7 (major) #7540
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.5.6
->7.0.0
6.5.6
->7.0.0
Release Notes
ExpediaGroup/graphql-kotlin (com.expediagroup.graphql)
v7.0.0
Compare Source
🎉 GraphQL Kotlin 7.0.0!
After over a hundred PRs and numerous pre-releases, we are pleased to announce the 7.0.0 release!
Major Changes and Features
Ktor GraphQL Server Plugin
Ktor is a lightweight web framework from Jetbrains. Its built in Kotlin using Coroutines and follows a functional configuration style where we have to explicitly configure our server with the features that we want to use.
Starting with GraphQL Kotlin v7, we now provide an official Ktor Server Plugin to simplify your GraphQL Ktor server development!
Check out documentation for details.
GraphQL WS Subscription Support
Ktor and Spring GraphQL servers now provide out-of-box support for GraphQL subscriptions using GraphQL WS protocol.
Spring support for Apollo subscription transport ws was deprecated and will be removed in future releases.
GraalVM support
GraalVM is a high performance JDK distribution from Oracle that supports Ahead-of-Time (AOT) compilation. AOT allows you to build highly optimized native images that have milisecond startup times with immediate peak performance without the overhead of running JVM.
GraphQL Kotlin v7 provides out-of-box support for creating native GraalVM Ktor and Spring GraphQL servers. Maven and Gradle plugins were updated to provide new goal/task to auto-generate GraalVM reachability metadata.
Check out plugin documentation (Gradle | Maven) for more details or watch my
Supercharge your GraphQL with Ktor and GraalVM (KotlinConf 2023) talk for a live demo!
Drop support for
GraphQLContext
interfacegraphql-java
v17 introduced new GraphQL context mechanism which standardized how context should be utilized. Prior to v17, context could be of any object and it was up to the developers to decide how it should look like. This old "any" object context mechanism is currently deprecated and will be removed in future versions ofgraphql-java
. "New" GraphQLContext standardizes the approach and is a simple wrapper around a map.With GraphQL Kotlin v7 we dropped the support for old context mechanism and generic
GraphQLContext
interface is no longer available. Standardized context map is the only supported mechanism. See documentation for details.Include GraphiQL IDE
GraphiQL is the official GraphQL IDE backed by the GraphQL Foundation and is now the default IDE included with all
graphql-kotlin-server
implementations.GraphQL Playground is still available in
graphql-kotlin-spring-server
through explicit opt-in mechanism. Playground integration was deprecated and will be removed in future releases.Apollo Federation v2.5 Support
Library now defaults to Apollo Federation v2 and users have to explicitly opt-out into Federation v1 schemas. To avoid potential conflicts on imported elements, Federation logic was also updated to support namespacing and renaming of the imported types.
By default,
graphql-kotlin
will continue to apply@link
directive using latest supported federation specification but will only auto-import federation specific directives up to version 2.3 and only if they are present (i.e. applied to an element) in the schema. All new fed v2.4+ won't be included in the auto-imports and instead will be namespaced with the spec name, e.g.@federation__authenticated
.Users can provide custom
@link
information by providing a schema object with@LinkDirective
information, e.g.Will generate following schema
Java 17 and Kotlin 1.8 Baseline
We were previously targeting Java 8 byte code to match
graphql-java
target. Java 8 was released over 9 years ago and with Java 21 LTS just around the corner, many libraries started to move towards relying on newer versions of Java. Withgraphql-java
finally moving to Java 11 target and Spring Boot v3 requiring Java 17, we also updated our compilation target to Java 17.While Kotlin currently does not benefit directly from new Java features, your applications will benefit tremendously from multidue of security and performance improvements in new JVM versions.
All Changes
Full Changelog: ExpediaGroup/graphql-kotlin@c65f2a1...11c24e8
Major Changes
Minor Changes
Patch Changes
@requires
and@external
constraints (#1778) @dariuszkucOther Changes
@composeDirective
usage documentation (#1696) @dariuszkucNew Contributors
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.