Skip to content

Sync fork with upstream wundergraph/graphql-go-tools up to v2.0.0-rc.261#3

Merged
yokazawa merged 14 commits intomasterfrom
copilot/update-upstream-changes
Mar 7, 2026
Merged

Sync fork with upstream wundergraph/graphql-go-tools up to v2.0.0-rc.261#3
yokazawa merged 14 commits intomasterfrom
copilot/update-upstream-changes

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 7, 2026

Merges 11 upstream commits (v2.0.0-rc.257 → v2.0.0-rc.261) from wundergraph/graphql-go-tools into this fork.

Bug fixes merged

Refactoring merged

Original prompt

upstreamの変更を取り込みたい


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Noroth and others added 12 commits February 25, 2026 13:06
…raph#1407)

When sanitizing the fields in the error extensions, we did not keep the
order. This made the response rather non-deterministic. This PR makes
sure that the order of fields are retained.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Improvements**
* Improved GraphQL error JSON handling and marshaling for more reliable,
order-preserving error payloads
* Made error-extension filtering order-agnostic so only allowed fields
propagate from subgraph errors
* Exposed additional downstream error context (reason, response code,
and downstream errors) for richer responses

* **Tests**
* Added tests validating allowed extension field propagation in error
flows
* Added test helper to run post-evaluation assertions with configurable
resolver options
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

- [ ] I have discussed my proposed changes in an issue and have received
approval to proceed.
- [ ] I have followed the coding standards of the project.
- [ ] Tests or benchmarks have been added or updated.

<!--
Please add any additional information or context regarding your changes
here.
-->
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-rc.257](wundergraph/graphql-go-tools@v2.0.0-rc.256...v2.0.0-rc.257)
(2026-02-25)


### Bug Fixes

* keep order of error extension fields after sanitization
([wundergraph#1407](wundergraph#1407))
([e974cd3](wundergraph@e974cd3))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed an issue where the order of error extension fields could be lost
during sanitization in v2.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
They have grown and will grow some more.
It is better to have them separated.

Updates ENG-8739
…lan (wundergraph#1411)

When a GraphQL operation contains complex types inside an inline
fragment for gRPC subgraphs the fields of that complex type never get
populated with the data of the subgraphs response and hence are becoming
null, even if there actually was is data. This is because the gRPC
execution visitors don't create the expected response for complex types
inside inline fragments. This is because the visitor doesn't account for
inline fragments when traversing through selection sets and tries to
place the response message at `currentResponse.Fields` rather than
`currentResponse.FieldSelectionSet`. This is fixed by ensuring the
latter fields are populated in this case.

---------

Co-authored-by: Ludwig Bedacht <ludwig.bedacht@gmail.com>
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-rc.258](wundergraph/graphql-go-tools@v2.0.0-rc.257...v2.0.0-rc.258)
(2026-03-05)


### Bug Fixes

* handle complex types inside inline fragments in gRPC execution plan
([wundergraph#1411](wundergraph#1411))
([3b4dbcb](wundergraph@3b4dbcb))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed an issue with handling complex types in inline fragments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…h#1413)

Field resolvers should not be called when we are unable to resolve any
data to invoke the resolver RPC.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added nullable nullMetrics field to Category.
  * relatedCategory resolver now accepts an optional include parameter.

* **Improvements**
* Engine avoids invoking nested field resolvers when parent data or
context is absent, returning nulls and reducing unnecessary remote
calls.

* **Tests**
* Added unit and integration-style tests (including an in-process spy)
validating nullMetrics behavior and non-invocation of nested resolvers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

- [ ] I have discussed my proposed changes in an issue and have received
approval to proceed.
- [ ] I have followed the coding standards of the project.
- [ ] Tests or benchmarks have been added or updated.

<!--
Please add any additional information or context regarding your changes
here.
-->
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-rc.259](wundergraph/graphql-go-tools@v2.0.0-rc.258...v2.0.0-rc.259)
(2026-03-05)


### Bug Fixes

* skip invocation for empty context in field resolvers
([wundergraph#1413](wundergraph#1413))
([5885c48](wundergraph@5885c48))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
When resolving scalar value data from non list types in the context we
can run into a panic. This PR adds additional checks to ensure we don't
resolve data from an invalid context.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a top-level category query and featuredCategory resolution for
subcategories to fetch single categories and featured relations.

* **Bug Fixes**
* Improved robustness by short-circuiting on invalid/null messages and
adding explicit error for missing object fields.

* **Tests**
* Added tests and tracing to verify category query behavior and that
field resolvers are not invoked for null category results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

- [ ] I have discussed my proposed changes in an issue and have received
approval to proceed.
- [ ] I have followed the coding standards of the project.
- [ ] Tests or benchmarks have been added or updated.

<!--
Please add any additional information or context regarding your changes
here.
-->
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-rc.260](wundergraph/graphql-go-tools@v2.0.0-rc.259...v2.0.0-rc.260)
(2026-03-05)


### Bug Fixes

* invalid data resolution for null parent types
([wundergraph#1428](wundergraph#1428))
([b7863be](wundergraph@b7863be))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed invalid data resolution when handling null parent types.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--
Important: Before developing new features, please open an issue to
discuss your ideas with the maintainers. This ensures project alignment
and helps avoid unnecessary work for you.

Thank you for your contribution! Please provide a detailed description
below and ensure you've met all the requirements.

Squashed commit messages must follow the [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard to
facilitate changelog generation.

Please ensure your PR title follows the Conventional Commits
specification, using the appropriate type (e.g., feat, fix, docs) and
scope.

Examples of good PR titles:

- 💥feat!: change implementation in an non-backward compatible way
- ✨feat(auth): add support for OAuth2 login
- 🐞fix(router): add support for custom metrics
- 📚docs(README): update installation instructions
- 🧹chore(deps): bump dependencies to latest versions
-->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Enhanced federation test coverage with comprehensive multi-subgraph
scenario testing, including abstract types and cross-subgraph field
resolution patterns.

* **Bug Fixes**
* Improved parent node selection logic in federated queries to prevent
unnecessary traversal in certain external field scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

- [ ] I have discussed my proposed changes in an issue and have received
approval to proceed.
- [ ] I have followed the coding standards of the project.
- [ ] Tests or benchmarks have been added or updated.

<!--
Please add any additional information or context regarding your changes
here.
-->
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-rc.261](wundergraph/graphql-go-tools@v2.0.0-rc.260...v2.0.0-rc.261)
(2026-03-06)


### Bug Fixes

* fix selecting parent of unique nodes
([wundergraph#1430](wundergraph#1430))
([fd0e06a](wundergraph@fd0e06a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed an issue with selecting parent of unique nodes

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Copilot AI and others added 2 commits March 7, 2026 00:31
Co-authored-by: yokazawa <95338339+yokazawa@users.noreply.github.com>
Copilot AI changed the title [WIP] Update branch with upstream changes Sync fork with upstream wundergraph/graphql-go-tools up to v2.0.0-rc.261 Mar 7, 2026
@yokazawa yokazawa marked this pull request as ready for review March 7, 2026 00:39
@yokazawa yokazawa merged commit 5a79936 into master Mar 7, 2026
@yokazawa yokazawa deleted the copilot/update-upstream-changes branch March 7, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants