Conversation
<!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. -->
Fixes #2213 Ran in a tight loop 1000 times would fail pretty much immediately on the single threaded runtime. Completed 1000 runs successfully when changed to multithreaded.
#2218) Fixes #2213 Ran in a tight loop 1000 times would fail pretty much immediately on the single threaded runtime. Completed 1000 runs successfully when changed to multithreaded. <!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. -->
`@defer` spec updates mandate that a deferred response should not be sent if its path points to an element of the response that was nullified. It is also possible to cancel the execution of those deferred tasks
[ctor](https://crates.io/crates/ctor) is completely replaced with [linkme](https://crates.io/crates/linkme). pros: - no code executes before main. - simplified plugin registration/management cons: - increased public footprint by exposing PLUGINS, etc... This gives us a more stable foundation for plugin loading/registration and we could (in future, not this PR) add mechanisms to exclude plugins or re-order them or ... The main benefit is in reducing the risk of UB creeping in to the codebase in future via plugin registration. I believe the change is fundamentally a compatible change.
…2191) We spawn a detached thread currently. That's probably not a good idea since the router may terminate before the thread terminates and that will likely cause spans to be lost. Let's wait for the shutdown for up to 5 seconds in the `drop` and then print a warning message if there is an issue. The figure of 5 seconds is not configurable, but could be made so in future if required.
The router can now be talked about as a first-class way to operationalize supergraph runtime -- we no longer need to compare it to the legacy Gateway. We also don't need people worrying about what language the router is implemented in as part of their initial exploration.
Fixes #2158 <!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. --> Co-authored-by: bryn <bryn@apollographql.com> Co-authored-by: Geoffroy Couprie <geoffroy@apollographql.com> Co-authored-by: Jeremy Lempereur <jeremy.lempereur@iomentum.com>
This adds support for setting a header map key with an array. This causes the HeaderMap key/values to be appended() to the map, rather than inserted(). Useful when setting cookies with multiple "set-cookie" for example. fixes: #2211
Fix expected content-type error message that had hard-coded content type 'application/graphql+json', instead of 'application/graphql-response+json' that is actually expected.
Fixes #2220 <!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. --> Co-authored-by: bryn <bryn@apollographql.com>
Docs-only change to remove talking about Rust at the top of router docs. The router can now be talked about as a first-class way to operationalize supergraph runtime -- we no longer need to compare it to the legacy Gateway. We also don't need people worrying about what language the router is implemented in as part of their initial exploration.
Deal with all the changes in APIs from the OtelUpgrade and other miscellaneous improvements. Closes #1948 - [x] Update opentelemetry - [x] Refactor metrics - [x] Remove spaceport - [x] Otel config errors are only logged once. - [x] Otel traces are not sent if `tracesIgnored` is detected. Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Co-authored-by: bryn <bryn@apollographql.com> Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
…pletely disabling metrics. (#2236) It is set here: https://github.com/apollographql/router/pull/2236/files#diff-37adf9e170c9b384f17336e5b5e5bf9cd94fd1d618b8969996a5ad56b635ace6R430 <!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. --> Co-authored-by: bryn <bryn@apollographql.com>
<!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. --> Co-authored-by: bryn <bryn@apollographql.com>
Update the reports.proto file, and change the prompt to update the file with the correct new location.
Building off of @garypen's PR #2119, if the supergraphFile is set, add a label to the pods with a hash of its contents. This will force new pods to be spun up if the supergraphFile is changed so the new file will be loaded. Co-authored-by: Thomas O'Neill <toneill@new-innov.com> Co-authored-by: Gary Pennington <gary@apollographql.com>
Fix #2105 Fix #2099 When we are using `@defer`, response formatting must apply on a subset of the query (primary or deferred), that is reconstructed from information provided by the query planner: a path into the response and a subselection. Previously, the query planner did not add fragments to that path, which resulted in reconstruction issues for queries like: ```graphql query { me { ... on User { id fullName memberships { permission account { ... on Account @defer { name } } } } } } ``` we would get a deferred part with the path `/me/memberships/account` and the subselection `{ name }`. The path does not give enough information to reconstruct the query when `me` returns an interface: we cannot know which type is used. The query planner 2.2.2 introduces a fragment in the path to solve that, like `/me/... on User/memberships/account`. It also removes the 'flatten' element from deferred nodes paths, so the code has to be adapted a bit.
Fix #1818 Fix #2185 Blocked by #2109 (waiting for the router-bridge update) When errors are generated during the primary execution, some of them can be affected to deferred responses. To handle that, we need to: - transmit errors from the primary query to deferred node execution along with the primary fetches - be able to check if an error path belongs to a deferred query Since the error path may belong to a part of the response that was nullified, we need to follow the error path through the primary or deferred queries Co-authored-by: Jeremy Lempereur <jeremy.lempereur@iomentum.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@apollo/gateway](https://github.com/apollographql/federation) | [`2.2.1` -> `2.2.2`](https://renovatebot.com/diffs/npm/@apollo%2fgateway/2.2.1/2.2.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [insta](https://insta.rs/) ([source](https://github.com/mitsuhiko/insta)) | `1.22.0` -> `1.23.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | `1.0.149` -> `1.0.150` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | --- ### Release Notes <details> <summary>apollographql/federation</summary> ### [`v2.2.2`](https://github.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#​222) [Compare Source](https://github.com/apollographql/federation/compare/@apollo/gateway@2.2.1...@apollo/gateway@2.2.2) - Fix issue with path in query plan's deferred nodes [PR #​2281](https://github.com/apollographql/federation/pull/2281). </details> <details> <summary>mitsuhiko/insta</summary> ### [`v1.23.0`](https://github.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#​1230) [Compare Source](https://github.com/mitsuhiko/insta/compare/1.22.0...1.23.0) - Add a hint if snapshots might be skipped. ([#​314](https://github.com/mitsuhiko/insta/issues/314)) - Avoid extra newline in YAML snapshots. ([#​311](https://github.com/mitsuhiko/insta/issues/311)) </details> <details> <summary>serde-rs/serde</summary> ### [`v1.0.150`](https://github.com/serde-rs/serde/releases/tag/v1.0.150) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150) - Relax some trait bounds from the `Serialize` impl of `HashMap` and `BTreeMap` ([#​2334](https://github.com/serde-rs/serde/issues/2334)) - Enable `Serialize` and `Deserialize` impls of `std::sync::atomic` types on more platforms ([#​2337](https://github.com/serde-rs/serde/issues/2337), thanks [@​badboy](https://github.com/badboy)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/apollographql/router). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fixes typo in word: subgraphs Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@apollo/federation](https://github.com/apollographql/federation) | [`^0.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@apollo%2ffederation/0.37.1/0.38.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>apollographql/federation</summary> ### [`v0.38.1`](https://github.com/apollographql/federation/compare/@apollo/federation@0.37.1...@apollo/federation@0.38.1) [Compare Source](https://github.com/apollographql/federation/compare/@apollo/federation@0.37.1...@apollo/federation@0.38.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/apollographql/router). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yMS42IiwidXBkYXRlZEluVmVyIjoiMzQuMjYuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Co-authored-by: Geoffroy Couprie <geoffroy@apollographql.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@apollo/server](https://github.com/apollographql/apollo-server) | [`4.2.2` -> `4.3.0`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.2.2/4.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [paste](https://github.com/dtolnay/paste) | `1.0.9` -> `1.0.10` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | --- ### Release Notes <details> <summary>apollographql/apollo-server</summary> ### [`v4.3.0`](https://github.com/apollographql/apollo-server/blob/HEAD/packages/server/CHANGELOG.md#​430) [Compare Source](https://github.com/apollographql/apollo-server/compare/c27c2a90b92a3ffb8a12b68203ab50f552126c55...4be6c463140b4a1bc63a88c040f59925bad733bb) ##### Minor Changes - [#​7241](https://github.com/apollographql/apollo-server/pull/7241) [`d7e9b9759`](https://github.com/apollographql/apollo-server/commit/d7e9b97595b063f1e796ec4449850a16d19e8b18) Thanks [@​glasser](https://github.com/glasser)! - If the cache you provide to the `persistedQueries.cache` option is created with `PrefixingKeyValueCache.cacheDangerouslyDoesNotNeedPrefixesForIsolation` (new in `@apollo/utils.keyvaluecache@2.1.0`), the `apq:` prefix will not be added to cache keys. Providing such a cache to `new ApolloServer()` throws an error. ##### Patch Changes - [#​7232](https://github.com/apollographql/apollo-server/pull/7232) [`3a4823e0d`](https://github.com/apollographql/apollo-server/commit/3a4823e0d85afb51b7fb82a9f3a525c1957eab5d) Thanks [@​glasser](https://github.com/glasser)! - Refactor the implementation of `ApolloServerPluginDrainHttpServer`'s grace period. This is intended to be a no-op. - [#​7229](https://github.com/apollographql/apollo-server/pull/7229) [`d057e2ffc`](https://github.com/apollographql/apollo-server/commit/d057e2ffccac2afc9c3e102db64d74d895157c3d) Thanks [@​dnalborczyk](https://github.com/dnalborczyk)! - Improve compatibility with Cloudflare workers by avoiding the use of the Node `util` package. This change is intended to be a no-op. - [#​7228](https://github.com/apollographql/apollo-server/pull/7228) [`f97e55304`](https://github.com/apollographql/apollo-server/commit/f97e55304ceacc5f1586131ad3eb6a99912bc821) Thanks [@​dnalborczyk](https://github.com/dnalborczyk)! - Improve compatibility with Cloudflare workers by avoiding the use of the Node `url` package. This change is intended to be a no-op. - [#​7241](https://github.com/apollographql/apollo-server/pull/7241) [`d7e9b9759`](https://github.com/apollographql/apollo-server/commit/d7e9b97595b063f1e796ec4449850a16d19e8b18) Thanks [@​glasser](https://github.com/glasser)! - For ease of upgrade from the recommended configuration of Apollo Server v3.9+, you can now pass `new ApolloServer({ cache: 'bounded' })`, which is equivalent to not providing the `cache` option (as a bounded cache is now the default in AS4). </details> <details> <summary>dtolnay/paste</summary> ### [`v1.0.10`](https://github.com/dtolnay/paste/releases/tag/1.0.10) [Compare Source](https://github.com/dtolnay/paste/compare/1.0.9...1.0.10) - Support Literal as result of paste, as in `[<1_u $bit>]` producing `1_u32` etc. ([#​92](https://github.com/dtolnay/paste/issues/92)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/apollographql/router). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Now that the Elastic-2.0 spdx is a valid identifier in the rust ecosystem, we can update the router references.
fixes: #1071 Enough functionality to perform hot-reload on rhai scripts. It works, but some improvements are still required: - [x] reduce the quantity of reloads (too many events are processed currently) - [x] figure out the configuration story (only enable if --hot-reload is active? always enabled?) - [x] investigate if we can be "better" at detecting script compilation errors - [x] write some documentation - [x] tests --- configuration: no configuration. It's always enabled. investigate: better script error detection. defer for future enhancements. testing: all testing was manual and involved creating/removing/modifying scripts and visually observing changes in behaviour and logging.
The scaffold files were not being updated as part of the automated release Co-authored-by: bryn <bryn@apollographql.com>
close #2136 Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Co-authored-by: Bryn Cooke <BrynCooke@gmail.com>
<!-- First, 🌠 thank you 🌠 for considering a contribution to Apollo! Some of this information is also included in the /CONTRIBUTING.md file at the root of this repository. We suggest you read it! https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md Here are some important details to keep in mind: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/router/blob/HEAD/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! Documentation in the docs/ directory should be updated as necessary. Finally, a /CHANGELOG.md entry should be added. We hope you will find this to be a positive experience! Contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. --> Co-authored-by: bryn <bryn@apollographql.com>
fixes: #2255 We can't update the indexer until we release router 2.0, since that would be an incompatible change, but we can add a new function which provides access to multiple values. Here's an illustrative snippet: ``` // Create some headers to work with: response.headers["scalar"] = "value 1"; response.headers["array"] = ["value 1", "value 2", "value 3"]; // We still see scalar header keys as a single string print(`scalar: ${response.headers["scalar"]}`); // If we know we have an array use the `values` fn print(`array: ${response.headers.values("array")}`); print(`array[2]: ${response.headers.values("array")[2]}`); // If we access a multi-value header using the indexer, then: print(`array: ${response.headers["array"]}`); // we get the existing behaviour, the first value as a string ```
garypen
suggested changes
Dec 13, 2022
Contributor
garypen
left a comment
There was a problem hiding this comment.
Mainly looks good. Issues around versioning the helm/docker/k8s bits though.
Geal
approved these changes
Dec 13, 2022
bnjjj
approved these changes
Dec 13, 2022
garypen
approved these changes
Dec 13, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 1.6.0