Skip to content

Releases: rebing/graphql-laravel

9.5.0 release

06 Mar 19:26
@mfn mfn
d486982
Compare
Choose a tag to compare

What's Changed

Full Changelog: 9.4.0...9.5.0

9.4.0 Release

04 Mar 19:58
@mfn mfn
ed5b800
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 9.3.0...9.4.0

9.3.0 Release

18 Feb 14:44
@mfn mfn
838b89e
Compare
Choose a tag to compare

Removed

  • Support for Laravel 9 & PHP 8.0 have been removed #1123 / mfn

Full Changelog: 9.2.0...9.3.0

9.2.0 Release

18 Feb 14:14
@mfn mfn
170f0d1
Compare
Choose a tag to compare

Added

Full Changelog: 9.1.0...9.2.0

9.1.0 Release

06 Aug 15:31
@mfn mfn
2a3b56d
Compare
Choose a tag to compare

Fixed

  • fix schema validation - resolve not allowed in input fields #1078 / crissi

Full Changelog: 9.0.0...9.1.0

9.0.0 is here 🎉

25 Jun 18:12
@mfn mfn
2cd3970
Compare
Choose a tag to compare

It's been 1 1/2 years since our last major release 8.0.0 😱

The library itself stays true to its roots, but we've to adapt to the evolving ecosystem (remove unsupported PHP and Laravel version) and stay compatible with other dependencies (e.g. graphql-php).

‼️ This release contains breaking changes, be sure to read through all of them ‼️

High level:

  • Support for PHP < 8.0 and Laravel < 9.0 was removed
  • Subtle breaking changes due to new major version 15.x of graphql-php
  • Removed support for GraphQL eager type load (= only lazy loading is done)
  • Removed the integration GraphiQL support in favour of a separate package

Breaking changes

Added

  • Upgrade to graphql-php 15 #953 / mfn
    This includes possible breaking changes also outside of this package, see also https://github.com/webonyx/graphql-php/releases/tag/v15.0.0
    Known breaking changes:

    • non-standard error related data keys are not included directly in
      errors.*.<non-standard error key> any more, but have been moved to
      errors.*.extensions.<non-standard error key>.
      Also new keys may appear here from upstream.
    • The errors.*.extensions.category has been removed upstream, but we try to
      keep it alive with the interface
      \Rebing\GraphQL\Error\ProvidesErrorCategory as it can be a useful
      discriminator on the client side in certain cases. But only the cases from
      this library are preserved, e.g. categories like request, graphql or
      internal are gone.
    • The \Rebing\GraphQL\Support\OperationParams has added required types due to
      its base class changes:
      • Old: public function getOriginalInput($key)
        new: public function getOriginalInput(string $key)
      • Old: public function isReadOnly()
        new: public function isReadOnly(): bool

    Some BC may happen also if you extended code originating in graphql-php,
    some examples:

    • if you implement custom types, you now have to use property types for e.g.
      $name or $description
    • If you used any \GraphQL\Validator\DocumentValidator in your code
      directly, you now need use FQCN to reference them and not the shortened
      string names.
    • ->getWrappedType(true) was replaced with ->getInnermostType()
    • the class \GraphQL\Type\Definition\FieldArgument has been renamed to
      \GraphQL\Type\Definition\Argument

Removed

  • Remove support for eager loading (=non-lazy loading) of types
    Lazy loading has been introduced in 2.0.0 (2019-08) and has been made the
    default since 8.0.0 (2021-11).
    The practical impact is that types are always going to be resolved using a
    type loader and therefore cannot use aliases anymore. Types and their type
    name have to match.
  • Remove integrated GraphiQL support in favour of https://github.com/mll-lab/laravel-graphiql #986 / mfn
  • Laravel 6 is no longer supported #967 / mfn
  • Laravel 8 is no longer supported #1049 / mfn

Changed

  • The type resolver is now able to resolve the top level types 'Query',
    'Mutation' and 'Subscription'
    If you have an existing query/mutation/type named like this, you need to
    rename it.
  • Return types were added to all methods of the commands #1005 / sforward
  • Upgrade to laragraph/utils v2 #1032 / mfn
  • The Pagination and SimplePagination helper types now enforce nonNull on their data types
  • The test suite now also runs with --prefer-lowest #1055 / mfn
    This uncovered a few issues with laragraph/utils and webonyx/graphql-php
    and thus their minimum version had to be slightly bumped to 2.0.1 and
    15.0.3 respectively.

Many thanks to all the contributors!

Full Changelog: 8.6.0...9.0.0

9.0.0-rc3

21 Jun 18:45
@mfn mfn
d2b076e
Compare
Choose a tag to compare
9.0.0-rc3 Pre-release
Pre-release

Preface

Make sure to read the release notes, which contain breaking changes ❗ , for

Highlight of 9.0.0-rc3

Full Changelog: 9.0.0-rc2...9.0.0-rc3

9.0.0-rc2

18 Jun 19:38
@mfn mfn
e1225d3
Compare
Choose a tag to compare
9.0.0-rc2 Pre-release
Pre-release

First, please make sure to make yourself familiar with the 9.0.0-rc1 release, which contains the core of breaking changes!

Highlights of 9.0.0-rc2:

Changed

  • Return types were added to all methods of the commands #1005 / sforward
  • Upgrade to laragraph/utils v2 #1032 / mfn
  • The Pagination and SimplePagination helper types now enforce nonNull on their data types #1033 / mfn

Removed

Full Changelog: 9.0.0-rc1...9.0.0-rc2

9.0.0-rc1

05 Mar 15:54
@mfn mfn
61501fa
Compare
Choose a tag to compare
9.0.0-rc1 Pre-release
Pre-release

Welcome to RC1 of the new 9.0 release cycle!

That's the good news, the "bad" news is in fact all of the changes bring breaking changes. Some induced due to transitive change updates, others directly due to feature removal / easing of maintenance.

Please carefully read through the changelog!

Breaking changes

Added

  • Upgrade to graphql-php 15 #953 / mfn
    This includes possible breaking changes also outside of this package, see also https://github.com/webonyx/graphql-php/releases/tag/v15.0.0
    Known breaking changes:

    • non-standard error related data keys are not included directly in
      errors.*.<non-standard error key> any more, but have been moved to
      errors.*.extensions.<non-standard error key>.
      Also new keys may appear here from upstream.
    • The errors.*.extensions.category has been removed upstream, but we try to
      keep it alive with the interface
      \Rebing\GraphQL\Error\ProvidesErrorCategory as it can be a useful
      discriminator on the client side in certain cases. But only the cases from
      this library are preserved, e.g. categories like request, graphql or
      internal are gone.
    • The \Rebing\GraphQL\Support\OperationParams has added required types due to
      its base class changes:
      • Old: public function getOriginalInput($key)
        new: public function getOriginalInput(string $key)
      • Old: public function isReadOnly()
        new: public function isReadOnly(): bool

    Some BC may happen also if you extended code originating in graphql-php,
    some examples:

    • if you implement custom types, you now have to use property types for e.g.
      $name or $description
    • If you used any \GraphQL\Validator\DocumentValidator in your code
      directly, you now need use FQCN to reference them and not the shortened
      string names.
    • ->getWrappedType(true) was replaced with ->getInnermostType()
    • the class \GraphQL\Type\Definition\FieldArgument has been renamed to
      \GraphQL\Type\Definition\Argument

Removed

  • Remove support for eager loading (=non-lazy loading) of types
    Lazy loading has been introduced in 2.0.0 (2019-08) and has been made the
    default since 8.0.0 (2021-11).
    The practical impact is that types are always going to be resolved using a
    type loader and therefore cannot use aliases anymore. Types and their type
    name have to match.
  • Remove integrated GraphiQL support in favour of https://github.com/mll-lab/laravel-graphiql #986 / mfn
  • Laravel 6 is no longer supported #967 / mfn

Changed

  • The type resolver is now able to resolve the top level types 'Query',
    'Mutation' and 'Subscription'

Full Changelog: 8.6.0...9.0.0-rc1

8.6.0

18 Feb 15:56
@mfn mfn
1a5faa3
Compare
Choose a tag to compare

What's Changed

Added

Full Changelog: 8.5.0...8.6.0