3.0.0
🎉 GraphQL Kotlin 3.0.0!
Introducing GraphQL Client and Build Tool Plugins
We are proud to announce a release of a new lightweight, type-safe, GraphQL HTTP client that leverages the power of Kotlin coroutines for fully asynchronous communications. Type-safe data models are conveniently generated at build time by the provided GraphQL Kotlin Gradle and Maven plugins.
See our documentation on client, Gradle and Maven plugins for additional details.
graphql-java 15
We have updated to graphql-java version 15 in #731 which should not introduce any breaking changes to graphql-kotlin users.
Remove @GraphQLID Annotation in Favor of ID Class
We removed @GraphQLID annotation in #700 and introduced new com.expediagroup.graphql.scalars.ID class that wraps the underlying String value.
2.x.x Support
Going forward we will only support the 2.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 create a new issue or reach out to our public Slack channel.
GitHub has the full list of contributors since we made the 3.0.0 cut.
Major Changes
- [server] GraphQL Error response type should allow null locations (#677) @dariuszkuc
- Remove GraphQLID annotation for ID class (#700) @smyrick
- graphql-kotlin-types (#729) @smyrick
- Move id to scalars package (#726) @smyrick
Minor Changes
- [plugins] new gradle plugin with introspect schema task (#671) @dariuszkuc
- [plugins] new Maven plugin with introspect schema mojo (#674) @dariuszkuc
- [plugins] new download SDL task/mojo (#676) @dariuszkuc
- [client] new GraphQL Client module and code-generation logic (#683) @dariuszkuc
- [plugins] new generate client Gradle task and Maven mojo (#688) @dariuszkuc
- update to graphql-java 15.0 (#731) @dariuszkuc
- [plugins] allow specifying custom headers for introspection/downloadSDL tasks (#728) @dariuszkuc
Patch Changes
- Allow for trailing slashes on context filter (#673) @smyrick
- [generator] explicitly escape special characters in SDL (#678) @dariuszkuc
- Allow requires field set selection to be on lists (#685) @smyrick
- classgraph 4.8.78 (#686) @sullis
- Add federation directives if not defined (#702) @smyrick
- [plugin] update generated GraphQL client execute query method (#711) @dariuszkuc
- GraphQL client fixes (#709) @dariuszkuc
- [plugin] support generating graphql client test sources (#718) @dariuszkuc
- [docs] GraphQL client documentation and configuration fixes (#714) @dariuszkuc
- [plugin] fix generate client MOJO converter parameter (#713) @dariuszkuc
- [generator] allow interfaces to implement other interfaces (#732) @dariuszkuc
Non-version Changes
- Incorrect Execution Command for base-app (#679) @acidbluebriggs
- [build] dropping idea plugin as it keeps messing up my workspace (#681) @dariuszkuc
- [build] configure gradle publish plugin (#690) @dariuszkuc
- [build] explicitly disable maven-publish tasks for gradle plugin (#696) @dariuszkuc
- [build] exclude plugins directory from list of projects (#694) @dariuszkuc
- fix gradle plugin badge (#699) @dariuszkuc
- [build] update release process to publish Gradle plugin after sonatype publish (#704) @dariuszkuc
- Run CI on support branches (#703) @smyrick
- docs: add recipe for using willGenerateGraphQLType with java enums (#712) @lennyburdette
- [build] update to 3.0.0-SNAPSHOT (#708) @dariuszkuc
- [plugin] update Maven Mojo names to follow hyphen-name (#719) @dariuszkuc
- [build] publish Gradle plugin to Maven Central (#717) @dariuszkuc
- example client project (#716) @dariuszkuc
- [build] fix publishing of Gradle plugin marker (#733) @dariuszkuc
- Create SECURITY.md (#727) @smyrick
- Update codecov config (#725) @smyrick
- [plugins] Update Gradle plugin extension to separate client and schema generation (#724) @dariuszkuc
- [docs] add generate test client example documentation and cleanup invalid parameters (#720) @dariuszkuc
- [build] attempt to use default mavenJava publication for plugin (#735) @dariuszkuc
- [build] update all generated pom.xml with sonatype information (#736) @dariuszkuc