Skip to content

Releases: ExpediaGroup/graphql-kotlin

0.2.0

13 Feb 17:13

Choose a tag to compare

Major Changes

  • feat: update config settings for subscriptions (#160)
    • To prepare for subscriptions, we moved the order of the parameters in toSchema() so that config is first. This will allow us to easily add subscriptions as the optional final parameter. Also since we will have another option for a top level name we combined all the names into a single object

0.1.1

12 Feb 18:59
9f7cc7a

Choose a tag to compare

Minor Changes

  • feat: log a better exception on invalid argument types (#161)
    • A new GraphQLKotlinException is logged instead of a kotlin casting exception when there is an issue casting an argument type

0.1.0

29 Jan 18:01

Choose a tag to compare

Major Changes

None

Minor Changes

  • feat: do not append duplicate input suffix (#157)

    • If a class was named SearchInput, we would map that to SearchInputInput. If devs are specifically naming it an input we should not duplicate the string
    • This could have an impact on your schema if you had this conflict before this release
  • feat: rename default top level names (#156)

    • Change default top level names to TopLevelQuery -> Query and TopLevelMutation -> Mutation.

    • The schema will be affected but it should not impact clients since clients are actually calling fields underneath the Query and Mutation objects

Patch Changes

None

Non-version Changes

  • Add version number to travis commit message (#154)

0.0.34

24 Jan 18:32

Choose a tag to compare

Major Changes

  • Enable support for specifying custom DataFetchers (#152)
    • DataFetcherFactory in the config has been changed to a customDataFetcherFactoryProvider. This will allow to to specify behaviors for property and function resolvers.

Minor Changes

None

Patch Changes

None

Updates

  • build: travis commits the snapshot updates (#142)
  • test: add property builder unit tests (#147)
  • An integration test for optional results (#151)

0.0.33

14 Jan 21:39

Choose a tag to compare

Major Changes

None

Minor Changes

  • Enable coroutine support in default KotlinDataFetcher (#148)
    • Functions can now be suspend functions and will be wrapped as a CompletableFuture which we can handle like any other function that returns a CompletableFuture

Patch Change

None

0.0.32

10 Jan 02:25

Choose a tag to compare

Major Changes

  • DataFetcherExecutionPredicate is now an interface and only exposes a single function evaluate to test the value. See the comments and javadocs for more details (#138)

Patch Changes

  • fix: recursive interfaces (#143)

0.0.31

07 Jan 17:55

Choose a tag to compare

Major Changes

  • Check if query and mutation classes are public (#137)
    • We now only support public classes in the schema. If you want an interface to be ignored, mark it non-public. TopLevelObject (queries and mutation) classes now must also be public and a InvalidQueryTypeException or InvalidMutationTypeException will be thrown if they are not

Minor Changes

  • fix: simplify directive wiring (#132)
    • A refactoring but a new exception InvalidSchemaDirectiveWiringException is now thrown instead of a kotlin one on a directive wiring error
  • feat: add superclass hooks (#139)
    • There is a new hook, isValidSuperclass which allows inspection of the KClass before it is added as a graphql interface

Patch Changes

  • refactor: use input name in cache (#130)
  • test: add more hook tests (#133)

Non-code Changes

  • Update javadoc badge (#131)

0.0.30

02 Jan 19:37

Choose a tag to compare

Major Changes

  • refactor: simplify data fetcher #120
  • refactor: simplify type cache #127

Minor Changes

  • fix: label correct exception #121

Patch Changes

  • refactor: create separate top level builders #123
  • test: add unit test for scalars #124

Non-Version Changes

  • refactor: move sample into folders #122
  • doc: update README #126
  • doc: update maven central link #128

All changes: 5e9418a...6f4b189

0.0.29

28 Dec 06:01

Choose a tag to compare

Changes

  • refactor: move top level packages (#112)
  • feat: allow directive with Enums (#116)
  • feat: rename TopLevelObject (#117)

Refactoring and Internal

  • fix: remove duplicate implementation of deepName (#110)
  • build: compile example as well (#111)
  • refactor: extract simple name for better test coverage (#114)
  • build: update versions (#115)
  • fix: description of parameters (#118)

0.0.28

20 Dec 18:57

Choose a tag to compare

fix: make deepName public and move to extensions package