Releases: gmac/graphql-stitching-ruby
Fix abstract resolver mappings
Subscriptions support
Adds support for subscription operations in #152, with a Rails example in #153. Minimally disruptive API changes:
-
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, callto_h
on the result for the raw hash. -
Stitching
Client.execute
can now be invoked with the query as a positional argument rather than aquery:
kwarg (for parity with GraphQL Ruby). The old kwarg is also still supported.
Fix planner key deduplication
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
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
Composite keys and arguments
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")
.
- old syntax:
- Regenerate all supergraph exports for latest schema formats.
- Bust all query plan caches for latest plan format.
Send consistent documents + refactors
Better support for merged types without resolvers
See #135, thanks to @thomasmarshall for the suggestion.
Improved handling of resolver types
- #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
v1.2.3 v1.2.3