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.29.1 #3742

Merged
merged 4 commits into from
Sep 4, 2023
Merged

release: v1.29.1 #3742

merged 4 commits into from
Sep 4, 2023

Conversation

abernix
Copy link
Member

@abernix abernix commented Sep 4, 2023

🚀 Features

GraphOS Enterprise: Authorization (PR #3397, PR #3662)

⚠️ This is an Enterprise feature of the Apollo Router. It requires an organization with a GraphOS Enterprise plan.

If your organization doesn't currently have an Enterprise plan, you can test out this functionality by signing up for a free Enterprise trial.
We introduce two new directives, @requiresScopes and @authenticated, that define authorization policies for fields and types in the supergraph schema, composed with Federation version 2.5.3 or higher.

They are defined as follows:

scalar federation__Scope
directive @requiresScopes(scopes: [[federation__Scope!]!]!) on OBJECT | FIELD_DEFINITION | INTERFACE | SCALAR | ENUM

This directive allows granular access control through user-defined scopes.

directive @authenticated on OBJECT | FIELD_DEFINITION | INTERFACE | SCALAR | ENUM

This directive allows access to the annotated field or type for authenticated requests only.
For more information on how to use these directives, please read Apollo Router docs

By @Geal in #3397 #3662

🐛 Fixes

Subscriptions: Correct v1.28.x regression allowing panic via un-named subscription operation

Correct a regression that was introduced in Router v1.28.0 which made a Router panic possible when the following three conditions are all met:

  1. When sending an un-named (i.e., "anonymous") subscription operation (e.g., subscription { ... }); and;
  2. The Router has a subscription type defined in the Supergraph schema; and
  3. Have subscriptions enabled (they are disabled by default) in the Router's YAML configuration, either by setting enabled: true or by setting a mode within the subscriptions object (as seen in the subscriptions documentation.

By @o0Ignition0o in #3738

Update Deno to resolve Rust Docs generation failure (Issue #3305)

We've updated to the latest version of Deno (0.200) to fix errors when generating docs.rs/apollo-router.

By @o0Ignition0o in #3626

GraphQL response processing is now captured under the execution span (PR #3732)

Ensure processing is captured under the "execution" span. Previously, events would be reported under the supergraph span or — even more arbitrarily — any plugin's span (e.g., Rhai).

By @Geal in #3732

🛠 Maintenance

Apollo Uplink connections re-use the existing HTTP client (Issue #3333)

A single HTTP client will now be shared between requests of the same type when making requests to Apollo Uplink to fetch supergraphs, licenses and configuration from Studio. Previously, such requests created a new HTTP client on each periodic fetch which occasionally resulted in CPU spikes, especially on macOS.

By @BrynCooke in #3703

Remove unneeded schema parsing steps (PR #3547)

Access to a parsed schema is required in various parts of the Router. Previously were were parsing the schema multiple times, but this is now fixed.

By @Geal in #3547

o0Ignition0o and others added 3 commits September 4, 2023 16:35
… subscription operation (#3738)

### Subscriptions: Correct v1.28.x regression allowing panic via un-named subscription operation

Correct a regression that was introduced in Router v1.28.0 which made a Router **panic** possible when the following _three_ conditions are _all_ met:

1. When sending an un-named (i.e., "anonymous") `subscription` operation (e.g., `subscription { ... }`); **and**;
2. The Router has a `subscription` type defined in the Supergraph schema; **and**
3. Have subscriptions enabled (they are disabled by default) in the Router's YAML configuration, either by setting `enabled: true` _or_ by setting a `mode` within the `subscriptions` object (as seen in [the subscriptions documentation]
@router-perf
Copy link

router-perf bot commented Sep 4, 2023

CI performance tests

  • step - Basic stress test that steps up the number of users over time
  • events_without_dedup - Stress test for events with a lot of users and deduplication DISABLED
  • xlarge-request - Stress test with 10 MB request payload
  • xxlarge-request - Stress test with 100 MB request payload
  • events_big_cap_high_rate - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity
  • const - Basic stress test that runs with a constant number of users
  • reload - Reload test over a long period of time at a constant rate of users
  • large-request - Stress test with a 1 MB request payload
  • events - Stress test for events with a lot of users and deduplication ENABLED
  • step-jemalloc-tuning - Clone of the basic stress test for jemalloc tuning
  • no-graphos - Basic stress test, no GraphOS.

@abernix abernix marked this pull request as ready for review September 4, 2023 16:52
@abernix abernix requested a review from a team as a code owner September 4, 2023 16:52
@abernix abernix merged commit 891d41e into main Sep 4, 2023
@abernix abernix deleted the 1.29.1 branch September 4, 2023 16:56
@abernix abernix added the release label Sep 7, 2023
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.

3 participants