Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: v0.1.0-preview.2 #774

Merged
merged 4 commits into from Apr 1, 2022
Merged

release: v0.1.0-preview.2 #774

merged 4 commits into from Apr 1, 2022

Conversation

BrynCooke
Copy link
Contributor

@BrynCooke BrynCooke commented Apr 1, 2022

πŸŽ‰ 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:

    server:
      introspection: false

πŸ› 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:

      --apollo-schema-config-delivery-endpoint <apollo-schema-config-delivery-endpoint>
        The endpoint polled to fetch the latest supergraph schema [env: APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT=]
    
      --apollo-schema-poll-interval <apollo-schema-poll-interval>
        The time between polls to Apollo uplink. Minimum 10s [env: APOLLO_SCHEMA_POLL_INTERVAL=]  [default: 10s]

    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

@netlify
Copy link

netlify bot commented Apr 1, 2022

βœ… Deploy Preview for apollo-router-docs canceled.

Name Link
πŸ”¨ Latest commit d56d0df
πŸ” Latest deploy log https://app.netlify.com/sites/apollo-router-docs/deploys/6246c5e0c9f8d10009ca5450

@BrynCooke BrynCooke requested review from a team, garypen and Geal and removed request for a team April 1, 2022 09:29
Copy link
Contributor

@garypen garypen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@BrynCooke BrynCooke merged commit b4ba5b5 into main Apr 1, 2022
@BrynCooke BrynCooke deleted the 0.1.0-preview.2 branch April 1, 2022 09:44
@BrynCooke BrynCooke added this to the v0.1.0-preview.2 milestone Apr 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants