Skip to content

Releases: gmac/graphql-stitching-ruby

GraphQL Ruby 2.4 compatibility

09 Feb 19:43
dadbef8
Compare
Choose a tag to compare

Mundane housekeeping to organize library and keep pace with GraphQL Ruby updates. Also fixes CI tests that were not actually running against minor versions of the GraphQL Ruby gem; drops support for GraphQL 1.13 which hasn't actually been compatible.

Fix abstract resolver mappings

19 Sep 00:33
f7861e5
Compare
Choose a tag to compare
  • Fixes a bug with expanding abstract resolvers, per #157; see #158.
  • Incorporates library version into all hashing digests; see #161.
  • Allows digest library to be customized with faster alternatives such as Blake3; see #161.
  • General library cleanup and refactoring, as tracked in #159.

Subscriptions support

25 Jul 02:32
620271f
Compare
Choose a tag to compare

Adds support for subscription operations in #152, with a Rails example in #153. Minimally disruptive API changes:

  1. Stitching now returns a GraphQL::Query::Result rather than a raw hash, just like a standard GraphQL execution. If this causes problems in a test, call to_h on the result for the raw hash.

  2. Stitching Client.execute can now be invoked with the query as a positional argument rather than a query: kwarg (for parity with GraphQL Ruby). The old kwarg is also still supported.

Fix planner key deduplication

05 Jul 02:40
3d64888
Compare
Choose a tag to compare

Small updates from #150. Fixes the new key deduplication process from v1.4.0 that isn't compatible with fragments.

Restore non-resolver key matching

03 Jul 20:30
2b2914a
Compare
Choose a tag to compare

The recent v1.4.0 release compromised key matching for outbound-only types, or, merged types without a resolver that can still provide keys. This restores the dynamic field match that made these types work. See #149.

Thanks to @thomasmarshall for the report.

Fix fragment shaping bug

03 Jul 03:25
31e997b
Compare
Choose a tag to compare

Fixes a bug with fragment shaping due to a missing typename export in the planning process. Thanks to @lish82 for the report in #147. Fixed by #148.

Composite keys and arguments

02 Jul 03:10
2d785ec
Compare
Choose a tag to compare

Large rewrite of resolver internals to support composite key selections and complex argument shapes. See #141.

⚠️ Minor breaking changes:

  • Resolver key argument aliases require a simple rewrite into arguments templates:
    • old syntax: @stitch(key: "myArg:myKey")
    • new syntax: @stitch(key: "myKey", arguments: "myArg: $.myKey").
  • Regenerate all supergraph exports for latest schema formats.
  • Bust all query plan caches for latest plan format.

Send consistent documents + refactors

04 Jun 02:15
08094c1
Compare
Choose a tag to compare

Rounds up several overdue refactors on library internals, including #134, #136, and #137.

⚠️ Minor breaking changes:

  • Regenerate supergraph SDL dumps and increment query plan caching keys while upgrading (#134).
  • Rename Supergraph.boundaries calls to Supergraph.resolvers (#136).

Better support for merged types without resolvers

31 May 13:03
c593a75
Compare
Choose a tag to compare

Improved handling of resolver types

07 Apr 04:52
72c9fe1
Compare
Choose a tag to compare
  • #130: Fixes abstract resolver definitions passing through Supergraph import/export. Thanks @thomasmarshall.
  • #131: Improvements to @stitch directive resolver mappings:
    • Multiple arguments attempt to match by name to the key used.
    • Abstract resolvers may specify a typeName to target specific types with specific keys.