Skip to content

Releases: ExpediaGroup/graphql-kotlin

3.0.0-RC5

13 May 17:16
6a5bf06

Choose a tag to compare

3.0.0-RC5 Pre-release
Pre-release

NOTE : This is a pre-release that verifies whether publishing of new Gradle and Maven plugins works as expected. Final version of 3.0.0 might include other breaking changes.

Non-version Changes

  • [build] update release process to publish Gradle plugin after sonatype publish (#704) @dariuszkuc
  • Run CI on support branches (#703) @smyrick

3.0.0-RC4

12 May 22:25
e4a4aac

Choose a tag to compare

3.0.0-RC4 Pre-release
Pre-release

DID NOT RELEASE

Patch Changes

3.0.0-RC3

11 May 20:00
2f3564e

Choose a tag to compare

3.0.0-RC3 Pre-release
Pre-release

DID NOT RELEASE

Major Changes

Non-version Changes

3.0.0-RC2

07 May 21:27
119a879

Choose a tag to compare

3.0.0-RC2 Pre-release
Pre-release

NOTE : This is a pre-release that verifies whether publishing of new Gradle and Maven plugins works as expected. Final version of 3.0.0 might include other breaking changes.

Non-version Changes

  • [build] explicitly disable maven-publish tasks for gradle plugin (#696) @dariuszkuc
  • [build] exclude plugins directory from list of projects (#694) @dariuszkuc

3.0.0-RC1

07 May 16:10
77c048f

Choose a tag to compare

3.0.0-RC1 Pre-release
Pre-release

DID NOT RELEASE

NOTE : This is a pre-release that verifies whether publishing of new Gradle and Maven plugins works as expected. Final version of 3.0.0 might include other breaking changes.

Major Changes

  • [server] GraphQL Error response type should allow null locations (#677) @dariuszkuc

Minor Changes

Patch Changes

Non-version Changes

2.1.1

23 Apr 23:47
bcd047b

Choose a tag to compare

Patch Changes

  • [generator] support returning GraphQL ID scalar from functions (#669) @dariuszkuc

Non-version Changes

1.4.5

29 Apr 22:35
6d4ab8b

Choose a tag to compare

No new changes from 1.4.4 this release is just to trigger a new publish

1.4.4

23 Apr 23:49
6d4ab8b

Choose a tag to compare

Patch Changes

  • [generator] support returning GraphQL ID scalar from functions (#669) @dariuszkuc

2.1.0

10 Apr 19:31
bb7324f

Choose a tag to compare

Minor Changes

Patch Changes

  • [spring] Refactor config classes and internal functions (#656) @smyrick
  • Update dependencies to latest versions (#649) @smyrick

Non-version Changes

2.0.0

25 Mar 15:54
2806cd8

Choose a tag to compare

🎉 GraphQL Kotlin 2.0!

The team is finally ready to ship the next version of GraphQL Kotlin! We have some breaking changes in the latest version. Some were caused by dependency updates, and others were changes to the library that hopefully make it easier to use. We have the full list of all the changes below but let's review some of the more impactful changes.

New Hooks Interface

We have updated the signature for the SchemaGeneratorHooks to allow for more customization and remove duplication of the hooks.

The DataFetcherExecutionPredicate was removed in #478 and the KClass was added to some hooks in #530.

graphql-java 14

We have updated to the latest version of graphql-java in #568 which was also a breaking change for that library. One of the bigger changes was the addition of the GraphQLNamedType which means that all types do not have a name field by default.

Replace GraphQLContext annotation

We have replaced the GraphQLContext annotation with interface in #610. This puts us in line with other patterns in the library, like how you use the DataFetchingEnvironment, and means that you no longer have to annotate every single usage of your context class.

New features

We had some pending feature requests that we were also able to add to the new release. Lists can be used as input with #546, sealed classes can be used as interfaces in #645, subscriptions have their own hooks in #544, and in #598, the SchemaGenerator class and some of its methods have been made open so you can further customize the generation without having to rewrite our code.

1.x.x Support

Going forward we will only support the 1.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 server 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 2.0.0 cut.


⚠️ Major Changes

RC1

  • BREAKING CHANGE: Refactor graphQLTypeOf to top level function (#535) @smyrick
  • BREAKING CHANGE: empty complex types should fail schema generation (#541) @dariuszkuc
  • BREAKING CHANGE: Refactor schema generator to remove cyclic dependencies (#532) @smyrick
  • BREAKING CHANGE: [generator] update generator hooks to include target kclass info (#530) @dariuszkuc
  • BREAKING CHANGE: [spring-server] default data fetcher should use Jackson object mapper from spring context (#525) @dariuszkuc
  • BREAKING CHANGE: [federation] federated type resolvers should have access to environment (#473) @dariuszkuc
  • BREAKING CHANGE: Remove DataFetcherExecutionPredicate (#478) @smyrick
  • Update to next major release (#480) @dariuszkuc

RC4

RC9

  • Add additionalTypes to generateSchema (#622) @de55
    • This change is breaking from the master branch but actually removes a feature that was only added since the 2.0 cut so it is backwards compatible with 1.x
  • BREAKING CHANGE: Make the KotlinDataFetcherFactoryProvider nullable (#623) @smyrick

RC11

  • [generator] Replace GraphQLContext annotation with interface (#610) @smyrick

📋 Minor Changes

RC1

RC5

  • feat: open FunctionDataFetcher methods for extension (#582) @smyrick
  • Add Apollo Subscription Hooks (#544) @de55

RC6

RC7

RC12

2.0.0

🐞 Patch Changes

RC1

  • [federation] federated directives integration tests (#548) @dariuszkuc
  • [generator] Rename internal files (#545) @smyrick
  • Refactor federation validation unit tests (#540) @smyrick
  • Prevent starting second subscription with the same id (#520) @gklijs
  • Fix subscription caching logic (#515) @smyrick
  • Add perf tests to validate subscription performance (#514) @smyrick
  • Do not close session on subscription GQL_STOP (#513) @smyrick
  • fix subscriptions by not removing the ak subscription when one of the… (#510) @gklijs
  • Log schema with starting newline (#502) @smyrick
  • Add unit tests for renaming input type fields (#501) @smyrick
  • Allow for subscription request on the same endpoint (#487) @smyrick

RC2

RC4

  • Update dependency versions and docs (#571) @smyrick
  • [federation] Move vals and functions to internal scope (#569) @smyrick

RC6

  • [generator] deprecated directive cleanup (#591) @dariuszkuc
  • Allow additional types to be added with custom SchemaGenerator (#587) @smyrick

RC7

RC8

  • [generator] Fix issue generating nested additional types (#615) @smyrick
  • Update completable future mapping for coroutines (#613) @smyrick

RC9

RC9.1

  • Upgrade spring boot to fix security issue (#627) @smyrick
    • Please update your own included spring boot version to 2.2.5 to match this release as it included import security updates from downstream projects

RC10

RC11

RC12

RC12.1

  • Reduce number of class scanners created in tests (#646) @smyrick

📦 All Changes

There were also a number of commits that were not part of the library changes, like updating our GitHub actions and documentation. You can see a list of each commit in every release version since 2.0.0.RC1 in the release notes.

Here is the full tag compare for a single list of all changes since the last full release: 1.4.3...2.0.0