Skip to content

Commit

Permalink
release: v0.1.0-alpha.8 (#597)
Browse files Browse the repository at this point in the history
- Adds `CHANGELOG.md` entries for everything since `v0.1.0-alpha.7`
- Bumps versions in `Cargo.toml` files (and licensing related bits in
  `cargo-deny.toml`)
  • Loading branch information
abernix authored Mar 8, 2022
1 parent 190afe1 commit 5ee4e4b
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 24 deletions.
38 changes: 27 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,44 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
-->

# [v0.1.0-alpha.8] Not yet released
# [v0.1.0-alpha.8] 2022-03-08

## :sparkles: Features

- **Add opentracing support** ([PR #548](https://github.com/apollographql/router/pull/548))
Opentracing support has been added into the reporting plugin. You're know able to have span propagation via headers with 2 different formats supported by opentracing (`zipkin_b3` and `jaeger`).
- **Request lifecycle checkpoints** ([PR #558](https://github.com/apollographql/router/pull/548) and [PR #580](https://github.com/apollographql/router/pull/548))

Checkpoints in the request pipeline now allow plugin authors (which includes us!) to check conditions during a request's lifecycle and circumvent further execution if desired.

Using `Step` return types within the checkpoint it's possible to influence what happens (including changing things like the HTTP status code, etc.). A caching layer, for example, could return `Step::Return(response)` if a cache "hit" occurred and `Step::Continue(request)` (to allow normal processing to continue) in the event of a cache "miss".

These can be either synchronous or asynchronous. To see examples, see:

- A [synchronous example](https://github.com/apollographql/router/tree/190afe181bf2c50be1761b522fcbdcc82b81d6ca/examples/forbid-anonymous-operations)
- An [asynchronous example](https://github.com/apollographql/router/tree/190afe181bf2c50be1761b522fcbdcc82b81d6ca/examples/async-allow-client-id)

- **Contracts support** ([PR #573](https://github.com/apollographql/router/pull/573))

The Apollo Router now supports [Apollo Studio Contracts](https://www.apollographql.com/docs/studio/contracts/)!

- **Add OpenTracing support** ([PR #548](https://github.com/apollographql/router/pull/548))

OpenTracing support has been added into the reporting plugin. You're now able to have span propagation (via headers) via two common formats supported by the `opentracing` crate: `zipkin_b3` and `jaeger`.

- **Sync and async checkpoints** ([PR #558](https://github.com/apollographql/router/pull/548) and [PR #580](https://github.com/apollographql/router/pull/548))
You can now write plugins that can act as check points in the services! Checkpoints allow you to make checks, and either return early with a Response, or forward a Request down the query pipeline.

## :bug: Fixes

- **Configuration no longer requires `router_url`** ([PR #553](https://github.com/apollographql/router/pull/553))

When using Managed Federation or directly providing a Supergraph file, it is no longer necessary to provide a `routing_url` value. Instead, the values provided by the Supergraph or Studio will be used and the `routing_url` can be used only to override specific URLs for specific subgraphs.

- **Fix plugin ordering** ([PR #559](https://github.com/apollographql/router/issues/559))
Plugins need to execute in sequence of declaration *except* for certain "core" plugins (for instance, Reporting) which must execute early in the plugin sequence to make sure they are in place as soon as possible in the router lifecycle. This change now ensures that Reporting plugin executes first and that all other plugins are executed in the order of declaration in configuration.

- **Propagate router query lifecycle errors**([PR #537](https://github.com/apollographql/router/issues/537))
Our recent extension rework was missing a key part: Error propagation and handling! This change makes sure errors that occured during query planning and query execution will be displayed as graphql errors, instead of an empty payload.
Plugins need to execute in sequence of declaration *except* for certain "core" plugins (e.g., reporting) which must execute early in the plugin sequence to make sure they are in place as soon as possible in the Router lifecycle. This change now ensures that the reporting plugin executes first and that all other plugins are executed in the order of declaration in configuration.

## :nail_care: Improvements
- **Propagate Router operation lifecycle errors** ([PR #537](https://github.com/apollographql/router/issues/537))

Our recent extension rework was missing a key part: Error propagation and handling! This change makes sure errors that occurred during query planning and query execution will be displayed as GraphQL errors instead of an empty payload.

- **Introduce Checkpoint and Step** ([PR #558](https://github.com/apollographql/router/pull/558))
Layers and Extensions writers (which includes us!) now have a mechanism that allows them to let the service orchestrator know whether a service call should be propagated further down the service stack, or it has been fullfilled already and it can bail out. A caching layer for example could return Step::Return(response) if the cache hit was successful, and Step::Continue(request) if the cache missed.

# [v0.1.0-alpha.7] 2022-02-25

Expand Down
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apollo-router-benchmarks/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apollo-router-benchmarks"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license = "LicenseRef-ELv2"
Expand Down
2 changes: 1 addition & 1 deletion apollo-router-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apollo-router-core"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license-file = "./LICENSE"
Expand Down
2 changes: 1 addition & 1 deletion apollo-router/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apollo-router"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license-file = "./LICENSE"
Expand Down
2 changes: 1 addition & 1 deletion apollo-spaceport/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apollo-spaceport"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license-file = "./LICENSE"
Expand Down
6 changes: 3 additions & 3 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ license-files = [{ path = "LICENSE", hash = 0xbd0eed23 }]
[[licenses.clarify]]
name = "apollo-router"
expression = "LicenseRef-ELv2"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
license-files = [{ path = "LICENSE", hash = 0xaceadac9 }]

[[licenses.clarify]]
name = "apollo-router-core"
expression = "LicenseRef-ELv2"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
license-files = [{ path = "LICENSE", hash = 0xaceadac9 }]

[[licenses.clarify]]
Expand All @@ -80,7 +80,7 @@ license-files = [{ path = "router-bridge/LICENSE", hash = 0xaceadac9 }]
[[licenses.clarify]]
name = "apollo-spaceport"
expression = "LicenseRef-ELv2"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
license-files = [{ path = "LICENSE", hash = 0xaceadac9 }]

[[licenses.clarify]]
Expand Down
2 changes: 1 addition & 1 deletion xtask/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xtask"
version = "0.1.0-alpha.7"
version = "0.1.0-alpha.8"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license = "LicenseRef-ELv2"
Expand Down

0 comments on commit 5ee4e4b

Please sign in to comment.