Releases: ExpediaGroup/graphql-component
Releases · ExpediaGroup/graphql-component
v2.1.3
- [FIXED] - modified automatic pruning mechanism during delegation to use parent types/parent type fields instead of getFieldDef()
v2.1.2
- [FIXED] - non-root resolvers being executed twice in certain delegate situations
- [FIXED] - resolver exclusion now works identical to type exclusion. Only root types (
Query
,Mutation
,Subscription
) and/or fields on root types can be excluded, which was not the case for resolver functions prior to this fix.
v2.1.1
- update
@apollo/federation
to^0.20.4
v2.1.0
- [FEATURE]
delegateToComponent()
- automatically prune fields from the delegated document selection set that are not defined in the schema (component) being delegated to. This will reduced potential down stream errors as well as ensures no unintended fields are forwarded and all fields forwarded can be resolved by the schema be delegated to. This feature addresses some edge cases around variable forwarding that were not addressed in prior patch releases2.0.4
and2.0.5
.
v2.0.5
- Reinstated variable passing to the sub-document created by
delegateToComponent()
. All variable values will be forwarded to the delegated operation, but only the variable definitions for input types or types that are in the target schema will be forwarded. This prevents errors in certain delegate situations while also allowing valid resolution of args passed as variables.
v2.0.4
- Fixed the error path on errors surfaced through
delegateToComponent()
calls such that error path takes into account the already traversed path and exclusions - Variables from an outer operation are no longer forwarded to the sub operation created by
delegateToComponent()
this is to avoid passing along variables for types that dont exist in the schema being delegated to.
v2.0.3
- Fixed individual field exclusions during import - individual field exclusions will no longer modify the original resolver map that is being imported.
- Fixed/tightened up argument forwarding when using
delegateToComponent()
- only arguments the target field is expecting will be extracted from the calling resolver or from theargs
object provided todelegateToComponent()
depending on the situation. Previously, there were some unintended argument leakage in certain edge cases.
v2.0.2
Fixed importing directives
v2.0.1
- Fixed error merging to iteratively consider the merge path to properly merge errors in complex situations such as lists
v1.3.6
- Fixed error merging in
execute()
to iteratively consider the merge path to properly merge errors in complex situations such as lists