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.
❗ BREAKING ❗
Header propagation
remove
'sname
is nownamed
(PR #674)This merely renames the
remove
options'name
setting to be insteadnamed
to be a bit more intuitively named and consistent with its partner configuration,propagate
.Previous configuration
New configuration
Command-line flag vs Environment variable precedence changed (PR #693)
For logging related verbosity overrides, the
RUST_LOG
environment variable no longer takes precedence over the command line argument. The full order of precedence is now command-line argument overrides environment variable overrides the default setting.🚀 Features
Forbid mutations plugin (#641)
The forbid mutations plugin allows you to configure the router so that it disallows mutations. Assuming none of your
query
requests are mutating data or changing state (they shouldn't!) this plugin can be used to effectively make your graph read-only. This can come in handy when testing the router, for example, if you are mirroring/shadowing traffic when trying to validate a Gateway to Router migration! 😸Add an experimental core plugin to be able to extend Apollo Router functionality using Rhai script. This allows users to write their own
*_service
function similar to how as you would with a native Rust plugin but without needing to compile a custom router. Rhai scripts have access to the request context and headers directly and can make simple manipulations on them.See our Rhai script documentation for examples and details!
🐛 Fixes
Correctly set the URL path of the HTTP request in
RouterRequest
(Issue #699)Previously, we were not setting the right HTTP path on the
RouterRequest
so when writing a plugin withrouter_service
you always had an empty path/
onRouterRequest
.📚 Documentation
We have incorporated a substantial amount of documentation (via many, many PRs!)
See our improved documentation on our website.