Releases: gmac/graphql-stitching-ruby
Skip/include fixes
API cleanups
See #176.
Does some cleanup to APIs so that the entire library can be driven using just a Client
, and completely reorganizes documentation around this theme.
Visibility controls
Adds visibility controls to a stitched schema, allowing parts of a supergraph to be hidden from select audiences without compromising stitching implementation details. This offers the capabilities of Apollo Federation's @inaccessible
directive with more flexibility atop GraphQL Ruby's Visibility system. See #173.
This is a pretty significant new feature, but has no breaking changes.
Restore `AlwaysVisible`
Restores AlwaysVisible
(for schema performance), which was previously disabled for compatibility with GraphQL Ruby v2.5.3. This version works through several more realignments that match the new GraphQL Ruby Visibility
system. See #171.
GraphQL v2.5.3 compatibility
Removes the use of GraphQL::Schema::AlwaysVisible
, which was never strictly necessary and now is broken in recent versions of the GraphQL gem.
Fix request variable validations
Fixes request variable validations that were previously missing while integrating closer with GraphQL::Query
. See #167.
GraphQL Ruby 2.4 compatibility
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
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.