All Versions
252
Latest Version
Avg Release Cycle
21 days
Latest Release
558 days ago
Changelog History
Page 9
Changelog History
Page 9
-
v1.10.1 Changes
January 28, 2020๐ Bug fixes
- ๐ Include Interface-level
orphan_types
when building a schema #2705 - Properly re-enter selections in complexity analyzer #2595
- ๐ Fix input objects with null values #2690
- ๐ Fix default values of
{}
in.define
-based schemas #2703 - ๐ Fix field extension presence check #2689
- ๐ Make new relation connections more efficient #2697
- Don't include fields
@skip(if: true)
or@include(if: false)
in lookahead #2700
- ๐ Include Interface-level
-
v1.10.0 Changes
January 20, 2020๐ฅ Breaking Changes
- Class-based schemas using the new interpreter will now use definition classes at runtime. #2363 (Previously,
.to_graphql
methods were used to generate singletons which were used at runtime.) This means:- Methods that used to receive types at runtime will now receive classes instead of those singletons.
.name
will now callClass#name
, which will give the class name. Use.graphql_name
to get the name of a GraphQL type. (Fields, arguments and directives have.graphql_name
too, so you can use it everywhere.)- Some methods that return hashes are slow because they merge hashes according to class inheritance, for example
MySchema.types
andMyObjectType.fields
. Instead: - If you only need one item out of the Hash, use
.get_type(type_name)
or.get_field(field_name)
instead. Those methods find a match without performing Hash merges. - If you need the whole Hash, get a cached value from
context.warden
(an instance ofGraphQL::Schema::Warden
) at runtime. Those values reflect the types and fields which are permitted for the current query, and they're cached for life of the query. Check the API docs to see methods on thewarden
.
- Class-based schemas using the interpreter must add
use GraphQL::Analysis::AST
to their schema (and update their custom analyzers, see https://graphql-ruby.org/queries/ast_analysis.html) #2363 - ๐ ActiveSupport::Notifications events are correctly named in event.library format #2562
- Field and Argument
#authorized?
methods now accept three arguments (instead of 2). They now accept(obj, args, ctx)
, whereargs
is the arguments (for a field) or the argument value (for an argument). #2536 - ๐ Double-null
!!
is disallowed by the parser #2397 - (Non-interpreter only) The return value of subscription fields is passed along to execute the subscription. Return
nil
to get the previous behavior. #2536 - ๐
Schema.from_definition
builds a class-based schema from the definition string #2178 - Only integers are accepted for
Int
type #2404 - Custom scalars now call
.coerce_input
on all input values - previously this call was skipped fornull
values.
๐ Deprecations
- โฌ๏ธ
.define
is deprecated; class-based schema definitions should be used instead. If you're having trouble or you can't find information about an upgrade path, please open an issue on GitHub!
๐ New Features
- โ Add tracing events for
.authorized?
and.resolve_type
calls #2660 - ๐
Schema.from_definition
acceptsusing:
for installing plugins (equivalent touse ...
in class-based schemas) #2307 - โ Add
$
to variable names in error messages #2531 - โ Add invalid value to argument error message #2531
- Input object arguments with
loads:
get the loaded object in theirauthorized?
hook, asarg
inauthorized?(obj, args, ctx)
. #2536 GraphQL::Pagination
auto-pagination system #2143- ๐
Schema.from_definition
builds a class-based schema from the definition string #2178
๐ Bug Fixes
- ๐ Fix warnings on Ruby 2.7 #2668
- ๐ Fix Ruby keyword list to support Ruby 2.7 #2640
- โฌ๏ธ Reduce memory of class-based schema #2636
- ๐ Improve runtime performance of interpreter #2630
- ๐ Big numbers (ie, greater than Ruby's
Infinity
) no longer :boom: when being reserialized #2320 - Fix
hasNextPage
/hasPrevious
page when max_page_size limits the items returned #2608 - ๐ Return parse errors for empty documents and empty argument lists #2344
- 0๏ธโฃ Properly serialize
defaultValue
of input objects containing enum values #2439 - Don't crash when a query contains
!!
. #2397 - Resolver
loads:
assign the value to argument@loads
#2364 - Only integers are accepted for
Int
type #2404
- Class-based schemas using the new interpreter will now use definition classes at runtime. #2363 (Previously,
-
v1.10.0.pre4
January 15, 2020 -
v1.10.0.pre3
December 17, 2019 -
v1.10.0.pre2
December 04, 2019 -
v1.10.0.pre1
October 10, 2019 -
v1.9.21 Changes
June 13, 2020๐ Bug fixes
- ๐ Fix
extras:
on subscription fields #2983
- ๐ Fix
-
v1.9.20 Changes
May 20, 2020๐ Bug fixes
- ๐ Fix
default_value: {}
on Ruby 2.7
- ๐ Fix
-
v1.9.19 Changes
January 28, 2020๐ Bug Fixes
- ๐ Fix argument default value of
{}
with Ruby 2.7 argument handling #2704
- ๐ Fix argument default value of
-
v1.9.18 Changes
January 15, 2019๐ New features
- Support disabling
__type
or__schema
individually #2657 - ๐ Support Ruby 2.7, and turn on CI for it :tada: #2665
๐ Bug fixes
- ๐ Fix Ruby 2.7 warnings #2653 #2669
- ๐ Properly build camelized names for directive classes #2666
- ๐ Use schema-defined context class for SDL generation #2656
- Apply visibility checks when generating SDL #2637
- Support disabling