UNCLASSIFIED - NO CUI

Skip to content

Update dependency graphql to v2

This MR contains the following updates:

Package Type Update Change
graphql (source, changelog) ironbank-rubygems major 1.13.20 -> 2.1.7

Release Notes

rmosolgo/graphql-ruby (graphql)

v2.1.7

Compare Source

New features
  • Make NullContext inherit from Context, to make typechecking easier #​4709
  • Accept a custom Schema.query_class to use for executing queries #​4679
Bug fixes
  • Default reauthorize_scoped_objects to false #​4720
  • Fix subscriptions.trigger with custom enum values #​4713
  • Fix backtrace: true with GraphQL-Pro @defer #​4708
  • Omit to_h from Input Object validation error message #​4701
  • When trimming whitespace from block strings, remove first and last lines that contain only whitespace #​4704

v2.1.6

Compare Source

Breaking Changes
  • The parser cache is now opt-in. Add config.graphql.parser_cache = true to your Rails environment setup to enable it. #​4648
New features
Bug fixes
  • Trace: fix custom trace mode inheritance #​4693

v2.1.5

Compare Source

Bug fixes
  • Logger: Fix Schema.default_logger when Rails is present but doesn't have a logger #​4686

v2.1.4

Compare Source

New features
  • Add Query#logger #​4674
  • Lookahead: Add with_alias: option #​2912
  • Improve support for load_application_object_failed #​4667
Bug fixes
  • Execution: Fix runtime loop in some cases with fragments #​4684
  • Fix Connection#initialize outside of execution #​4675
  • Fix ParseError in Subscriptions#trigger #​4673
  • Mongo: don't load all records in hasNextPage #​4671
  • Interfaces: fix definition_methods when interfaces implement other interfaces #​4670
  • Migrate NullContext to use the built-in Singleton module #​4669
  • Speed up type lookup #​4664
  • Fix ScopeExtension#after_resolve outside of execution #​4685
  • Speed up one_of? checks #​4680

v2.1.3

Compare Source

Bug fixes
  • Tracing: fix legacy tracers added to GraphQL::Schema #​4663
  • Add racc as a dependency because it's not included by default in Ruby 3.3 #​4661

v2.1.2

Compare Source

New features
  • Depth: accept count_introspection_fields: false #​4658
  • Dataloader: add get_fiber_variables and set_fiber_variables #​4593
  • Trace: Add Schema.default_trace_mode #​4642
Bug fixes
  • Fix merging results after calling directives #​4639 #​4660
  • Visibility: don't reveal implementors of hidden abstract types #​4589
  • Bump required Ruby version to 2.7 since numbered block arguments are used #​4659
  • hash_key:: use the configured hash key when the underlying Hash has a default value Proc #​4656

v2.1.1

Compare Source

New features
  • Mutations: HasSingleInput provides Relay Classic-like input: ... argument behavior #​4581
  • Add @specifiedBy default directive #​4633
  • Analysis: support visit? hook to skip visit but still return a value
  • Add context.scoped for a long-lived reference to the current scoped context #​4605
Bug fixes
  • Sanitized printer: Correctly print enum variable defaults #​4652
  • Schema printer: use extend schema when the schema has directives #​4647
  • Performance: pass runtime state through interpreter code #​4621
  • Performance: add StaticVisitor for faster AST visits #​4645
  • Performance: faster field lookup #​4626
  • Improve generator templates #​4627
  • Dataloader: clear cache between root mutation fields #​4617
  • Performance: Improve argument checks #​4622
  • Remove unused legacy connection code #​4606

v2.1.0

Compare Source

Breaking changes
  • Visitor: legacy-style proc-based visitors are no longer supported #​4577 #​4583
  • Deprecated GraphQL::Filter is removed #​4325
  • Language::Printer has been re-written to append to a buffer; custom printers will need to be updated #​4394
New features
  • Authorization: Items in a list can skip object-level .authorized? checks if the type is configured with reauthorize_scoped_objects(false) #​3994
  • Subscriptions: unsubscribe(...) accepts a value to be used to return a result along with unsubscribing #​4283
  • Language::Printer is much faster #​4394

v2.0.27

Compare Source

New features
  • Validators: Support %{value} in custom messages #​4601
Bug fixes
  • Resolvers: Support return false, nil from ready? and authorized? #​4585
  • Enums: properly load directives from Schema IDL #​4596
  • Language: faster scanner #​4576
  • Language: support fields and arguments named "null" #​4586
  • Language: fix block string quote unescaping #​4580
  • Generator: use generated node type in Relay-related fields #​4598

v2.0.26

Compare Source

Bug fixes
  • Datadog Tracing: fix LocalJumpError #​4579

v2.0.25

Compare Source

New features
  • Tracing: add trace modes #​4571
  • Dataloader: add Source#result_key_for for customizing cache keys in sources #​4569
Bug fixes
  • Tracing: Support multiple tracing platforms at once #​4543

v2.0.24

Compare Source

New features
  • Schema::Object.wrap can be used to customize how objects are (or aren't) wrapped by GraphQL::Schema::Object instances at runtime #​4524
  • Query: accept a static_validator: option in #initialize to use instead of the default validation configuration.
Bug fixes
  • Performance: Reduce memory usage when adding types to a schema #​4533
  • Performance, Dataloader: when loading specific keys, only run dataloader until those specific keys are resolved #​4519

v2.0.23

Compare Source

New features
  • Printer: print extensions in SDL #​4516
  • Trace: accept trace instances during query execution #​4497
  • AlwaysVisible: Make a way to bypass type visibility #​4442, #​4491
Bug fixes
  • Tests: fix assertion for Ruby 3.3.0-dev #​4515
  • Performance: improve fragment possible type lookup #​4506
  • Docs: document Timeout can handle floats #​4505
  • Performance: use a dedicated object for field extension state #​4401
  • Backtrace: fix backtrace: true with other trace modules #​4505
  • Handle context.warden being nil #​4503
  • Dev: disable Minitest::Reporters for RubyMin #​4494
  • Trace: fix compatibility with inheritance #​4487
  • Context: fix NullContext compatibility with fetch, dig and key? #​4483

v2.0.22

Compare Source

New features
  • Warden: manually instantiating doesn't require a filter instance #​4462
Bug fixes
  • Enum: fix procs for enum values #​4474
  • Lexer: force UTF-8 encoding #​4467
  • Trace: inherit superclass trace_options #​4470
  • Dataloader: properly run mutations in sequence #​4461
  • NotificationsTrace: Add execute_multiplex.graphql event #​4460
  • Fix Context#dig when called with one key #​4458
  • Performance: Use a plain hash for selection sets at runtime #​4453
  • Performance: Memoize current trace #​4450, #​4452
  • Performance: Pass is_non_null to runtime check #​4449
  • Performance: Use compare_by_identity on some runtime caches
  • Properly support nested queries (fix Thread.current clash) #​4445

v2.0.21

Compare Source

Deprecations
  • Deprecate GraphQL::Filter (use visible? methods instead) #​4424
New features
  • PrometheusTracing: support histograms #​4418
Bug fixes
  • Backtrace: improve compatibility with trace_with #​4437
  • Consolidate internally-used empty value constants #​4434
  • Fix some warnings #​4422
  • Performance: improve runtime speed #​4436 #​4433 #​4428 #​4430 #​4427 #​4399
  • Validation: fix inline fragment selection on scalar #​4429
  • @oneOf: print definition in the SDL when it's used
  • SDL: load schema directives when they're used
  • Appsignal tracing: Fix resolve_type definition

v2.0.20

Compare Source

Bug fixes
  • .resolve_type: fix returning [Type, false] from resolve_type #​4412
  • Parsing: improve usage of GraphQL.default_parser #​4411
  • AppsignalTrace: implement missing methods #​4390
  • Runtime: Fix current_depth method in some lazy lists #​4386
  • Performance: improve Object object shape #​4365
  • Tracing: return execution errors raised from field resolution to execute_field hooks #​4398

v2.0.19

Compare Source

Bug fixes
  • Scoped context: fix context.scoped_context.current_path #​4376
  • Tracing: fix tracer inheritance in Schema classes #​4379
  • Timeout: fix Timeout plugin when other tracers are used #​4383
  • Performance: use Arrays instead of GraphQL::Language::Tokens when scanning #​4366

v2.0.18

Compare Source

Breaking Changes
  • Tracing: "execute_field" events on fields defined on interface types will now receive the interface type as data[:owner] instead of the current object type. To get the old behavior, use data[:object].class instead. #​4292
New features
Bug fixes
  • Tracing: use the interface type as data[:owner] instead of the object type #​4292
  • Performance: improve Shape compatibility of GraphQL::Schema::Field #​4360
  • Performance: improve Shape compatibility of GraphQL::Schema::Warden #​4361
  • Performance: rewrite the token scanner in plain Ruby #​4369
  • Performance: make deprecation_reason faster #​4356
  • Performance: improve lazy value resolution in execution #​4333
  • Performance: create current_path only when the application needs it #​4342
  • Performance: add GraphQL::Tracing::Trace as a lower-overhead tracing API #​4344
  • Connections: fix hasNextPage for already-loaded ActiveRecord Relations #​4349

v2.0.17.2

Compare Source

Bug fixes
  • Unions and Interfaces: support returning [type_module, false] from resolve_type #​4413

v2.0.17.1

Compare Source

Bug fixes
  • Tracing: restore behavior returning execution errors raised during field resolution #​4402

v2.0.17

Compare Source

Bug fixes
  • Unions and Interfaces: support returning [type_module, false] from resolve_type #​4413

v2.0.16

Compare Source

Breaking changes
  • Union: Only accept Object types in possible_types (previously, other types were also accepted, but this was against the spec) #​4269
New features
  • Rake: support introspection query options in the RakeTask #​4247
  • Subscriptions: Merge .trigger(... context: { ... }) into the query context when running updates #​4242
Bug fixes
  • Make BaseEdge and subclasses return true for .default_relay? #​4272
  • Validation: return a proper error for duplicate-named fragments when used indirectly #​4268
  • Don't re-apply scope_items to nodes { ... } or edges { ... } arrays #​4263
  • Fix Concurrent::Map initialization to prevent race conditions
  • Speed up scoped context lookup #​4245
  • Support overriding built-in context keys #​4239
  • Context: properly dig into :current_arguments #​4249

v2.0.15

Compare Source

New features
  • SDL: support extensions on the schema itself #​4203
  • SDL: recognize .graphqls files in .from_definition #​4204
  • Schema: add a reader method of TypeMembership#options #​4209
Bug fixes
  • Node Behaviors: call the id-from-object hook with the type definition, not the type instance #​4233
  • RelayClassicMutation: add a period to the generated description of the payload type #​4229
  • Dataloader: make scoped context work with Dataloader #​4220
  • SDL: fix parsing repeatable directives #​4218
  • Lookahead: reduce more allocations in .selects? #​4212
  • Introspection Query: strip blank lines from generated query strings #​4208
  • Enums: Add error handling to result coercion #​4206
  • Lookahead: add selected_type: to .selects? #​4194
  • Lookahead: fix .selects? on unions #​4193
  • Fields: use field-local connection: config over resolver config #​4191

v2.0.14

Compare Source

New features
  • Input Objects: support one_of for input objects that allow exactly one argument #​4184
  • Dataloader: add source.merge({ ... }) for adding objects to dataloader source caches #​4186
  • Validation: generate new schemas with a suggested validate_max_errors of 100 #​4179
Bug fixes
  • Lookahead: improve performance when field names are given as symbols #​4189
  • Runtime: simplify some internal code #​4183
  • Datadog tracing: remove deprecated options #​4159

v2.0.13

Compare Source

New features
  • Fields: add configuration methods for default_value and prepare #​4156
  • Static validation: merge directive errors when they're on the same location or directive
Bug fixes
  • Subscriptions: properly use the given .trigger(... context: ) for determining subscription root field visibility #​4160
  • Fix fields that use hash_key: and have a falsy value for that key #​4132
  • Variable validation: respect validate_max_error limit
  • Performance: use Array#+ to add objects during execution #​4142

v2.0.12

Compare Source

New features
  • Support returning [Type, nil] from resolve_type #​4130
Bug fixes
  • SDL: Don't print empty braces for input objects with no arguments #​4138
  • Arguments: always call prepare before loading objects based on ID (loads:) #​4128
  • Don't support re-assigning Query#validate= after validation has run #​4127

v2.0.11

Compare Source

New features
Bug fixes
  • Subscriptions: support overriding subscriptions in subclasses #​4108
  • Schema: support types with duplicate names and cyclical references #​4107
  • Connections: don't exceed application-applied LIMIT with max_page_size #​4104
  • Field: add Field#relay_nodes_field config reader #​4103
  • Remove partial opentelementry implementation, oops #​4086
  • Remove unused method Lazy.resolve

v2.0.9

Compare Source

New features
  • Connections: use Schema.default_page_size, Field#default_page_size, or Resolver.default_page_size when one of them is available and no first or last is given #​4081
  • Tracing: Add OpenTelementryTracing #​4077
Bug fixes
  • Field usage analyzer: don't crash on null input objects #​4078
  • Complexity: properly handle ExecutionErrors raised in prepare: hooks #​4079

v2.0.8

Compare Source

New Features
  • Fields: return fallback_value: when method or hash key field resolution fails #​4069
  • Support hash_key: lookups on Hash-like objects #​4072
  • Datadog tracing: support prepare_span hook for adding custom tags #​4067
Bug fixes
  • Fields: When hash_key: is given, populate #method_str based on it #​4072
  • Errors: rescue errors raised when calling .each on list values #​4052
  • Date type: continue accepting dates without hyphens #​4061
  • Parser: properly parse empty type definitions #​4046

v2.0.7

Compare Source

New Features
  • Subscriptions: support validate_update: false to disable validation when running subscription updates #​4039
  • Expose duplicated name on DuplicateNamesError #​4022
Bug Fixes
  • Datadog: improve tracer #​4038
  • hash_key: try stringified hash key when resolving fields (this restores previous behavior) #​4043
  • Printer: Don't print empty field set when types have no fields ({\n}) #​4042
  • Dataloader: improve handoff between lazy resolution and dataloader resolution #​4036
  • Remove unused Lazy::Resolve module from legacy execution code #​4035

v2.0.6

Compare Source

Bug fixes
  • Dataloader: make multiplexes use custom dataloaders #​4026
  • ISO8601Date: properly accept nil as input #​4025
  • Mutation: fix error message when ready? returns an invalid result #​4029
  • ISO8601 scalars: add specified_by_url configs #​4014
  • Array connection: don't return all items when before is the first cursor #​4012
  • Introspection: fix typo specifiedByUrl -> specifiedByURL
  • Fields: fix hash_key to take priority over method lookup #​4015

v2.0.5

Compare Source

Bug Fixes
  • Resolvers: fix inheriting arguments when parent classes aren't hooked up directly to the schema #​4006

v2.0.4

Compare Source

Bug fixes
  • Fields: make sure null: config overrides a default from a resolver #​4000

v2.0.3

Compare Source

Bug fixes
  • Fields: make sure field configs override resolver defaults #​3975
  • Fix Field#scoped? when the field uses a resolver #​3990
  • Allow schema members to have multiple of repeatable directives #​3986
  • Remove some legacy code #​3979 #​9995
  • SDL: fix indirect interface implementation when loading a schema #​3982
  • Datadog tracing: Support ddtrace 1.0 #​3978
  • Fix Node implementation when connection types include built-in behavior modules #​3967
  • Small stack trace size reduction #​3957

v2.0.2

Compare Source

New features
  • Validators: Support %{value} in custom messages #​4601
Bug fixes
  • Resolvers: Support return false, nil from ready? and authorized? #​4585
  • Enums: properly load directives from Schema IDL #​4596
  • Language: faster scanner #​4576
  • Language: support fields and arguments named "null" #​4586
  • Language: fix block string quote unescaping #​4580
  • Generator: use generated node type in Relay-related fields #​4598

v2.0.1

Compare Source

Bug fixes
  • Scoped context: fix context.scoped_context.current_path #​4376
  • Tracing: fix tracer inheritance in Schema classes #​4379
  • Timeout: fix Timeout plugin when other tracers are used #​4383
  • Performance: use Arrays instead of GraphQL::Language::Tokens when scanning #​4366

v2.0.0

Compare Source

Breaking Changes
  • None, ideally. If you have an application that ran without warnings on v1.13, you should be able to update to 2.0.0 without a hitch. If this isn't the case, please open an issue and let me know what happened! I plan to maintain 1.13 for a while in order to ensure a smooth transition.
  • But, many legacy code components were removed, so if there are any more references to those, there will be name errors! See #​3729 for a list of removed components.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports