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.
π The Apollo Router has graduated to its Preview phase! π
β BREAKING β
CORS default Configuration (#40)
The Router will allow only the https://studio.apollographql.com origin by default, instead of any origin.
This behavior can still be tweaked in the YAML configuration
Hot reload flag (766)
The
--watch
(or-w
) flag that enables hot reload was renamed to--hr
or--hot-reload
π Features
Hot reload via en environment variable (766)
You can now use the
ROUTER_HOT_RELOAD=true
environment variable to have the router watch for configuration and schema changes and automatically reload.Container images are now available (PR #764)
We now build container images More details at:
https://github.com/apollographql/router/pkgs/container/router
You can use the images with docker, for example, as follows:
e.g.: docker pull ghcr.io/apollographql/router:v0.1.0-preview.1
The images are based on distroless which is a very constrained image, intended to be secure and small.
We'll provide release and debug images for each release. The debug image has a busybox shell which can be accessed using (for instance)
--entrypoint=sh
.For more details about these images, see the docs.
Skip and Include directives in post processing (PR #626)
The Router now understands the @skip and @include directives in queries, to add or remove fields depending on variables. It works in post processing, by filtering fields after aggregating the subgraph responses.
Add an option to deactivate introspection (PR #749)
While schema introspection is useful in development, we might not want to expose the entire schema in production,
so the router can be configured to forbid introspection queries as follows:
π Fixes
Move query dedup to an experimental
traffic_shaping
plugin (PR #753)The experimental
traffic_shaping
plugin will be a central location where we can add things such as rate limiting and retry.Remove
hasNext
from our response objects (PR #733)hasNext
is a field in the response that may be used in future to support features such as defer and stream. However, we are some way off supporting this and including it now may break clients. It has been removed.Extend Apollo uplink configurability (PR #741)
Uplink url and poll interval can now be configured via command line arg and env variable:
In addition, other existing uplink env variables are now also configurable via arg.
Make deduplication and caching more robust against cancellation PR #752
Cancelling a request could put the router in an unresponsive state where the deduplication layer or cache would make subgraph requests hang.
Relax variables selection for subgraph queries (PR #755)
Federated subgraph queries relying on partial or invalid data from previous subgraph queries could result in response failures or empty subgraph queries. The router is now more flexible when selecting data from previous queries, while still keeping a correct form for the final response
π Maintenance
π Documentation