From 89fdbdc4613117a9c2f03034f116905c8ad2ebe2 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Mon, 21 Mar 2022 13:25:08 +0200 Subject: [PATCH] release: v0.1.0-alpha.10 (#704) - Bumps versions in `Cargo.toml` files (and licensing related bits in `cargo-deny.toml`) - CHANGELOG.md massaging to organize all changes since `-alpha.9` --- CHANGELOG.md | 69 +++++++++++++++++------------ Cargo.lock | 10 ++--- apollo-router-benchmarks/Cargo.toml | 2 +- apollo-router-core/Cargo.toml | 2 +- apollo-router/Cargo.toml | 2 +- apollo-spaceport/Cargo.toml | 2 +- deny.toml | 6 +-- xtask/Cargo.toml | 2 +- 8 files changed, 53 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68426a74ec..6ab861d8c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,40 +20,57 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm --> -# [vnext] 2022-XX-XX +# [v0.1.0-alpha.10] 2022-03-21 ## ❗ BREAKING ❗ -- **Header propagation remove configuration `name` to `named`** ([PR #674](https://github.com/apollographql/router/pull/674)) - Previously: -```yaml - # Remove a named header - - remove: - name: "Remove" -``` -Now: -```yaml - # Remove a named header - - remove: - named: "Remove" -``` -This is consistent with propagate. - -- **RUST_LOG / Cmd arg precedence changed** ([PR #693](https://github.com/apollographql/router/pull/693)) - Precedence has changed from ENV variable, CLI arg, default to CLI arg, ENV variable, default. +- **Header propagation `remove`'s `name` is now `named`** ([PR #674](https://github.com/apollographql/router/pull/674)) + + This merely renames the `remove` options' `name` setting to be instead `named` to be a bit more intuitively named and consistent with its partner configuration, `propagate`. + + _Previous configuration_ + + ```yaml + # Remove a named header + - remove: + name: "Remove" # Was: "name" + ``` + _New configuration_ + + ```yaml + # Remove a named header + - remove: + named: "Remove" # Now: "named" + ``` + +- **Command-line flag vs Environment variable precedence changed** ([PR #693](https://github.com/apollographql/router/pull/693)) + + For logging related verbosity overrides, the `RUST_LOG` environment variable no longer takes precedence over the command line argument. The full order of precedence is now command-line argument overrides environment variable overrides the default setting. ## 🚀 Features -- **Forbid mutations plugin** ([#641](https://github.com/apollographql/router/pull/641)) - The forbid mutations plugin allows you to configure the router so that it disallows mutations, effectively making it read only. This can come in handy when testing the router by mirroring traffic for example. +- **Forbid mutations plugin** ([PR #641](https://github.com/apollographql/router/pull/641)) + + The forbid mutations plugin allows you to configure the router so that it disallows mutations. Assuming none of your `query` requests are mutating data or changing state (they shouldn't!) this plugin can be used to effectively make your graph read-only. This can come in handy when testing the router, for example, if you are mirroring/shadowing traffic when trying to validate a Gateway to Router migration! 😸 -- **Add experimental Rhai plugin** ([PR #484](https://github.com/apollographql/router/pull/484)) - Add a plugin to be able to write plugins in [Rhai script](https://rhai.rs/). You are now able to write your own `*_service` function as you can with a Rust plugin. You have access to the context and headers directly from the RHAI script. +- **⚠️ Add experimental Rhai plugin** ([PR #484](https://github.com/apollographql/router/pull/484)) + + Add an _experimental_ core plugin to be able to extend Apollo Router functionality using [Rhai script](https://rhai.rs/). This allows users to write their own `*_service` function similar to how as you would with a native Rust plugin but without needing to compile a custom router. Rhai scripts have access to the request context and headers directly and can make simple manipulations on them. + + See our [Rhai script documentation](https://www.apollographql.com/docs/router/customizations/rhai) for examples and details! ## 🐛 Fixes -## 🛠 Maintenance + +- **Correctly set the URL path of the HTTP request in `RouterRequest`** ([Issue #699](https://github.com/apollographql/router/issues/699)) + + Previously, we were not setting the right HTTP path on the `RouterRequest` so when writing a plugin with `router_service` you always had an empty path `/` on `RouterRequest`. + ## 📚 Documentation +- **We have incorporated a substantial amount of documentation** (via many, many PRs!) + + See our improved documentation [on our website](https://www.apollographql.com/docs/router/). + # [v0.1.0-alpha.9] 2022-03-16 ## ❗ BREAKING ❗ @@ -131,15 +148,9 @@ This is consistent with propagate. - **Update to latest query planner from Federation 2** ([PR #653](https://github.com/apollographql/router/pull/653)) The Router now uses the `@apollo/query-planner@2.0.0-preview.5` query planner, bringing the most recent version of Federation 2. ->>>>>>> main - ## 🐛 Fixes -- **Take the current path of the http request and put it into the `RouterRequest`** ([Issue #699](https://github.com/apollographql/router/issues/699)) - - Previously, we were not setting the right HTTP path on the `RouterRequest` so when writing a plugin with `router_service` you always had an empty path `/` on `RouterRequest`. - - **`Content-Type` of HTTP responses is now set to `application/json`** ([Issue #639](https://github.com/apollographql/router/issues/639)) Previously, we were not setting a `content-type` on HTTP responses. While plugins can still set a different `content-type` if they'd like, we now ensure that a `content-type` of `application/json` is set when one was not already provided. diff --git a/Cargo.lock b/Cargo.lock index 6ef78eb85b..2b9afed9a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "apollo-router" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" dependencies = [ "anyhow", "apollo-parser 0.2.4 (git+https://github.com/apollographql/apollo-rs.git?rev=e707e0f78f41ace1c3ecfe69bc10f4144ffbf7ac)", @@ -176,7 +176,7 @@ dependencies = [ [[package]] name = "apollo-router-benchmarks" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" dependencies = [ "apollo-router", "apollo-router-core", @@ -193,7 +193,7 @@ dependencies = [ [[package]] name = "apollo-router-core" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" dependencies = [ "apollo-parser 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "async-trait", @@ -256,7 +256,7 @@ dependencies = [ [[package]] name = "apollo-spaceport" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" dependencies = [ "bytes", "clap 3.1.6", @@ -5391,7 +5391,7 @@ dependencies = [ [[package]] name = "xtask" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" dependencies = [ "ansi_term", "anyhow", diff --git a/apollo-router-benchmarks/Cargo.toml b/apollo-router-benchmarks/Cargo.toml index 5d42094b86..830b0b06df 100644 --- a/apollo-router-benchmarks/Cargo.toml +++ b/apollo-router-benchmarks/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apollo-router-benchmarks" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" authors = ["Apollo Graph, Inc. "] edition = "2021" license = "LicenseRef-ELv2" diff --git a/apollo-router-core/Cargo.toml b/apollo-router-core/Cargo.toml index f2db941a79..6fd3bf5efa 100644 --- a/apollo-router-core/Cargo.toml +++ b/apollo-router-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apollo-router-core" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" authors = ["Apollo Graph, Inc. "] edition = "2021" license-file = "./LICENSE" diff --git a/apollo-router/Cargo.toml b/apollo-router/Cargo.toml index 3a921eb9b2..09669cdbea 100644 --- a/apollo-router/Cargo.toml +++ b/apollo-router/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apollo-router" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" authors = ["Apollo Graph, Inc. "] edition = "2021" license-file = "./LICENSE" diff --git a/apollo-spaceport/Cargo.toml b/apollo-spaceport/Cargo.toml index eb4eb4d13f..a720c456d8 100644 --- a/apollo-spaceport/Cargo.toml +++ b/apollo-spaceport/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apollo-spaceport" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" authors = ["Apollo Graph, Inc. "] edition = "2021" license-file = "./LICENSE" diff --git a/deny.toml b/deny.toml index dc93f94625..25721d4428 100644 --- a/deny.toml +++ b/deny.toml @@ -64,13 +64,13 @@ license-files = [{ path = "LICENSE", hash = 0xbd0eed23 }] [[licenses.clarify]] name = "apollo-router" expression = "LicenseRef-ELv2" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" license-files = [{ path = "LICENSE", hash = 0xaceadac9 }] [[licenses.clarify]] name = "apollo-router-core" expression = "LicenseRef-ELv2" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" license-files = [{ path = "LICENSE", hash = 0xaceadac9 }] [[licenses.clarify]] @@ -81,7 +81,7 @@ license-files = [{ path = "router-bridge/LICENSE", hash = 0xaceadac9 }] [[licenses.clarify]] name = "apollo-spaceport" expression = "LicenseRef-ELv2" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" license-files = [{ path = "LICENSE", hash = 0xaceadac9 }] [[licenses.clarify]] diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 3f8d97f599..a5de0d989d 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xtask" -version = "0.1.0-alpha.9" +version = "0.1.0-alpha.10" authors = ["Apollo Graph, Inc. "] edition = "2021" license = "LicenseRef-ELv2"