❗ 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
# Remove a named header - remove: name: "Remove" # Was: "name"
New configuration
# Remove a named header - remove: named: "Remove" # Now: "named"
-
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 (PR #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 experimental Rhai plugin (PR #484)
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.