Skip to content

Releases: gmac/graphql-stitching-ruby

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.

GraphQL v2.3.0 compatibility

06 Apr 02:20
159eafc
Compare
Choose a tag to compare