@OlegIlyenko OlegIlyenko released this Dec 3, 2017 · 137 commits to master since this release

Assets 2
  • Added support for string-based descriptions in SDL and implement most recent SDL-related changes (#303, #304, #305) (spec change). Breaking change for all SDL users. The type, field and enum value descriptions are now handled differently in the SDL.

    Old format (comment-based):

    # This is a description
    # of the `Foo` type.
    type Foo implements Bar {
    
      # another description
      one: Type
    }

    New format (string-based):

    """
    This is a description
    of the `Foo` type.
    """
    type Foo implements Bar {
      "another description"
      one: Type
    }

    Migration path: by default (and after the update) only new description format is used. The old comment-based format still will be supported for several versions. In order to enable description handling in the old format, please override DefaultAstSchemaBuilder.useLegacyCommentDescriptions or use AstSchemaBuilder.defaultWithLegacyCommentDescriptions.

  • Added block string support (#260, #301) (spec change). Here is an example of the new multi-line string syntax:

    mutation {
      sendEmail(message: """
        Hello,
          World!
    
        Yours,
          GraphQL.
      """)
    }
  • Added relOnly and relOnlyCaching methods to Fetcher (#293). Thanks to @kuppuswamy for this contribution!

  • Fixed a validation of nested InputObjectType with same property names (#292).

  • Improved performance of Document.hashCode which had a big influence on performance of the AST-based schema builder.