All Versions
252
Latest Version
Avg Release Cycle
21 days
Latest Release
577 days ago

Changelog History
Page 4

  • v1.13.2 Changes

    December 15, 2021

    ๐Ÿ› Bug fixes

    • Authorization: only authorize arguments once, after they've been loaded with loads: #3782
    • Execution: always provide an Interpreter::Arguments instance as context[:current_arguments] #3783
  • v1.13.1 Changes

    December 13, 2021

    ๐Ÿ—„ Deprecations

    • .to_graphql and .graphql_definition are deprecated and will be removed in GraphQL-Ruby 2.0. All features using those legacy definitions are already removed and all behaviors should have been ported to class-based definitions. So, you should be able to remove those calls entirely. Please open an issue if you have trouble with it! #3750 #3765

    ๐Ÿ†• New features

    • context.response_extensions[...] = ... adds key-value pairs to the "extensions" => {...} hash in the final response #3770
    • Connections: node_type and edge_type accept field_options: to pass custom options to generated fields #3756
    • ๐Ÿ”ง Field extensions: Support default_argument ... configuration for adding arguments if the field doesn't already have them #3751

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  fix rails destroy graphql:install #3739
    • ActionCable subscriptions: close channel when unsubscribing from server #3737
    • Mutations: call .authorized? on arguments from input_object_class, input_type, too #3738
    • Prevent blank strings with validates: { length: ... }, allow_blank: false #3747
    • Lexer: return mutable strings when strings are empty #3741
    • Errors: don't send execution errors to schema-defined handlers from inside lazies #3749
    • Complexity: don't multiple edges and nodes fields by page size #3758
    • ๐ŸŽ Performance: fix validation performance degradation from 1.12.20 #3762
  • v1.13.0 Changes

    November 24, 2021

    โœ… Since this version, GraphQL-Ruby is tested on Ruby 2.4+ and Rails 4+ only.

    ๐Ÿ’ฅ Breaking changes

    • โšก๏ธ ActionCable Subscriptions: No update is delivered if all subscriptions return NO_UPDATE #3713
    • ๐Ÿ”ง Subscription classes: If a subscription has a scope ... configuration, then a scope: option is required in .trigger(...). Use scope ..., optional: true to get the old behavior. #3692
    • 0๏ธโƒฃ Arguments whose default values are used aren't checked for authorization #3665
    • Complexity: Connection fields have a default complexity implementation based on first/last/max_page_size #3609
    • ๐Ÿ”ง Arguments: if arguments are configured to return false for .visible?(context), their default values won't be applied

    ๐Ÿ†• New features

    • ๐Ÿ’Ž Visibility: A schema may contain multiple members with the same name. For each name, GraphQL-Ruby will use the one that returns true for .visible?(context) for each query (and raise an error if multiple objects with the same name are visible). #3651 #3716 #3725
    • โฑ Dataloader: nonblocking: true will make GraphQL::Dataloader use Fiber.scheduler to run fields and load data with sources, supporting non-blocking IO. #3482
    • ๐Ÿ”ง null: true and required: true are now default. GraphQL-Ruby includes some RuboCop cops, GraphQL/DefaultNullTrue and GraphQL/DefaultRequiredTrue, which identify and remove those needless configurations. #3612
    • Interfaces may implement ... other interfaces #3613

    ๐Ÿ› Bug fixes

    • Enum value(...) and Input Object argument(...) methods return the defined object #3727
    • When a field returns an array of mixed errors and values, the result will contain nil where there were errors in the list #3656
  • v1.12.24 Changes

    February 04, 2022

    ๐Ÿ› Bug fixes

    • ๐Ÿ“œ SDL: fix parsing schemas where types have multiple directives #3886
  • v1.12.23 Changes

    December 20, 2021

    ๐Ÿ› Bug fixes

    • FieldUsage analyzer: handle arguments that raise an error during prepare: #3795
  • v1.12.22 Changes

    December 08, 2021

    ๐Ÿ› Bug fixes

    • Static validation: fix regression and improve performance of fields_will_merge validation #3761
  • v1.12.21 Changes

    November 23, 2021

    ๐Ÿ› Bug fixes

    • Validators: Fix format:/allow_blank: true to correctly accept a blank string #3726
    • Generators: generate a correct Schema.type_error hook #3722
  • v1.12.20 Changes

    November 17, 2021

    ๐Ÿ†• New Features

    • ๐Ÿ”€ Static validation: improve error messages when fields won't merge #3698
    • Generators: improve id_from_object and type_error suggested implementations #3710
    • Connections: make the new connections module fall back to old connections #3704

    ๐Ÿ› Bug fixes

    • Dataloader: re-enqueue sources when one call to yield didn't satisfy their pending requests #3707
    • Subscriptions: Fix when JSON-typed arguments are used #3705
  • v1.12.19 Changes

    November 05, 2021

    ๐Ÿ†• New Features

    • Argument validation: Make allow_null and allow_blank work standalone #3671
    • โž• Add field and path info to Encoding errors #3697
    • โž• Add Resolver#unauthorized_object for handling loaded but unauthorized objects #3689

    ๐Ÿ› Bug fixes

    • Properly hook up Schema.validate_max_errors at runtime #3691
  • v1.12.18 Changes

    November 02, 2021

    ๐Ÿ†• New features

    • โšก๏ธ Subscriptions: Add NO_UPDATE constant for skipping subscription updates #3664
    • Validation: Add Schema.max_validation_errors(integer) for halting validation when it reaches a certain number #3683
    • Call self.load_... methods on Input objects for loading arguments #3682
    • ๐Ÿ‘‰ Use import_methods in Refinements when available #3674
    • AppsignalTracing: Add set_action_name #3659

    ๐Ÿ› Bug fixes

    • Authorize objects returned from custom def load_... methods #3682
    • ๐Ÿ›  Fix context[:current_field] when argument prepare: hooks raise an error #3666
    • ๐Ÿ”ง Raise a helpful error when a Resolver doesn't have a configured type(...) #3679
    • ๐Ÿ‘ Better error message when subscription clients are using ActionCable #3668
    • Dataloader: Fix dataloading of input object arguments #3666
    • ๐Ÿ“œ Subscriptions: Fix parsing time zones #3667
    • ๐Ÿ“œ Subscriptions: Fix parsing with non-null arguments #3620
    • Authorization: Call schema.unauthorized_field for unauthorized resolvers
    • ๐Ÿ›  Fix when literal null is used as a value for a list argument #3660