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: v1.0.0-alpha.1 #1689

Merged
merged 15 commits into from
Sep 2, 2022
Merged

release: v1.0.0-alpha.1 #1689

merged 15 commits into from
Sep 2, 2022

Conversation

abernix
Copy link
Member

@abernix abernix commented Sep 2, 2022

👋 We're getting closer to our release candidate stages so there are far less breaking changes to the API in this version, rather changes to configuration. We'll have a bit more in the next release, but nothing as bad as the bumps from 0.15.x, through 0.16.0 and on to v1.0.0-alpha.0

❗ BREAKING ❗

Preserve plugin response Vary headers(PR #1660)

It is now possible to set a Vary header in a client response from a plugin.

Note: This is a breaking change because the prior behaviour provided three default Vary headers and we've had to drop those to enable this change. If, after all plugin processing, there is no Vary header, the router will add one with a value of "origin", as is best-practice for cache control headers with CORS.

By @garypen in #1660

Fix the supported defer specification version to 20220824 (PR #1652)

Since the router will ship before the @defer specification is done, we add a parameter to the Accept and Content-Type headers to indicate which specification version is accepted.

The specification is fixed to graphql/graphql-spec@01d7b98

The router will now return a response with the status code 406 Not Acceptable if the Accept header does not match.

By @Geal in #1652

Change default enablement and promote experimental_defer_support to preview_defer_support (PR #1673)

Following up on a tremendous amount of work tracked in #80 - which brought various stages of @defer support to the Router - this changes our designation of its status from "Experimental" to "Preview". It's worth noting that the @defer specification has just graduated to "Stage 2 (Draft)" mode in the GraphQL Working Group, so changes may still be expected and there are two stages ahead. To help things progress:

  • We've lifted the previous requirement that users opt into defer support by setting experimental_defer_support: true in the server section of their configuration. It is now on by default.

  • The option is now called preview_defer_support and it can be set to false to specifically opt out of it existing at all. This might be desired if you would prefer that it not even show up in introspection or be possible to use even if a client requests it.

  • Using @defer support requires clients set the appropriate HTTP accept header to use it. This puts the burden of understanding the risks of an early-preview on the clients who will need to consume the Router's responses. This is particularly important for clients who have long-lived support requirements (like native mobile apps).

    To see which headers are required, see indicate the supported defer specification version in Accept and Content-Type #1648.

By @abernix in #1685

🚀 Features

Return an error when nullifying a non-null field (Issue #1304)

Nullability rules may remove parts of the response without indicating why. Error messages now indicate which part of the response triggered nullability rules.
showing which part of the response triggered nullability rules.

By @Geal in #1537

router now provides TraceId (PR #1663)

If you need a reliable way to link together the various stages of pipeline processing, you can now use

apollo_router::tracer::TraceId::new()

By @garypen in #1663

🐛 Fixes

Docker images: Use absolute path for ENTRYPOINT (PR #1684)

This restores the absolute path in ENTRYPOINT in our Dockerfiles (and published images) to allow users to change their working directory without consequence (and without needing to change it back to /dist or override the entrypoint).

By @110y in #1684

Update our helm documentation to illustrate how to use our registry (#1643)

Updated documentation for helm charts to point to Apollo OCI registry.

By @garypen in #1649

Update router-bridge to query-planner v2.1.1 (PR #1650 PR #1672)

The 2.1.0 release of the query planner comes with fixes to fragment interpretation and reduced memory usage.
The 2.1.1 release of the query planner fixes an issue with the @defer directive's if argument being ignored.

By @Geal in #1650 and #1672

Do not nullify the entire query if the root operation is not present (PR #1674)

If a root field was not returned by the subgraph (e.g., when there's an error) the entire data object should not be nullified. Instead, the root field that should be null (unless it is non nullable).

By @Geal in #1674

Propagate graphql response regardless of the subgraph HTTP status code. (#1664)

Subgraph service calls used to return an error when the received HTTP status code isn't 200. There's, however, no mention in the GraphQL specification that leads us to assume any intent behind the HTTP status code returned by a GraphQL server since the GraphQL specification is transport agnostic.

This commit removes our HTTP status code check in the subgraph_service.

By @o0Ignition0o in #1664

🛠 Maintenance

Remove cache layer (PR #1647)

We removed ServiceBuilderExt::cache in v0.16.0. That was the only consumer of the cache layer. This completes the removal by deleting the cache layer.

By @garypen in #1647

Refactor SupergraphService (PR #1615)

The SupergraphService code became too complex, so much that rustfmt could not modify it anymore.
This breaks up the code in more manageable functions.

By @Geal in #1615

Conditionally use HorizontalPodAutoscaler api version autoscaling/v2 (PR #1635)

The helm chart HorizontalPodAutoscaler resource now will use API version autoscaling/v2 on Kubernetes hosts greater than 1.23 when the version is available. Fallback to version autoscaling/v2beta1 will still be utilised when this version is unavailable

By @damienpontifex in #1635

@github-actions

This comment has been minimized.

@abernix abernix added the release label Sep 2, 2022
@abernix
Copy link
Member Author

abernix commented Sep 2, 2022

@abernix your pull request is missing a changelog!

That's correct, @apollo-bot2. 😉

(I'm waiting for a couple more PRs to land before I move NEXT_CHANGELOG.md over.)

@abernix abernix self-assigned this Sep 2, 2022
@abernix abernix added this to the v1.0.0-alpha.1 milestone Sep 2, 2022
@abernix abernix marked this pull request as ready for review September 2, 2022 11:16
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
o0Ignition0o and others added 5 commits September 2, 2022 13:28
Co-authored-by: Bryn Cooke <[email protected]>
Co-authored-by: Bryn Cooke <[email protected]>
Co-authored-by: Bryn Cooke <[email protected]>
Co-authored-by: Bryn Cooke <[email protected]>
Co-authored-by: Bryn Cooke <[email protected]>
@o0Ignition0o o0Ignition0o enabled auto-merge (squash) September 2, 2022 12:30
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
Co-authored-by: Bryn Cooke <[email protected]>
o0Ignition0o and others added 2 commits September 2, 2022 13:36
Co-authored-by: Bryn Cooke <[email protected]>
Co-authored-by: Bryn Cooke <[email protected]>
@@ -24,124 +24,9 @@ By [@USERNAME](https://github.com/USERNAME) in https://github.com/apollographql/
-->

# [x.x.x] (unreleased) - 2022-mm-dd

> Important: X breaking changes below, indicated by **❗ BREAKING ❗**
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a new addition to the NEXT_CHANGELOG.md?

Copy link
Member Author

Choose a reason for hiding this comment

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

i just copied it from the top. we can remove it.

helm/chart/router/Chart.yaml Show resolved Hide resolved
helm/chart/router/README.md Show resolved Hide resolved
@abernix abernix enabled auto-merge (squash) September 2, 2022 13:15
@abernix abernix merged commit b79d915 into main Sep 2, 2022
@abernix abernix deleted the 1.0.0-alpha.1 branch September 2, 2022 13:26
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.

4 participants