Skip to content

Commit

Permalink
release: v1.36.0
Browse files Browse the repository at this point in the history
  • Loading branch information
abernix authored Jan 2, 2024
2 parents ca4ff40 + eb5afe9 commit 77059f6
Show file tree
Hide file tree
Showing 142 changed files with 7,062 additions and 1,655 deletions.
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,59 @@ All notable changes to Router will be documented in this file.

This project adheres to [Semantic Versioning v2.0.0](https://semver.org/spec/v2.0.0.html).

# [1.36.0] - 2024-01-02

## 🚀 Features

### Run new (non-load-bearing) Rust validation out-of-band to help identify deltas ([Issue#4159](https://github.com/apollographql/router/issues/4159))

As part of the process to replace JavaScript validation with a more performant Rust validation in the router, we are enabling the router to run both validations as a default. This allows us to definitively assess reliability and stability of Rust validation before completely removing JavaScript validation. As before, it's possible to toggle between implementations using the `experimental_graphql_validation_mode` config key. Possible values are: `new` (runs only Rust-based validation), `legacy` (runs only JS-based validation), `both` (runs both in comparison, logging errors if a difference arises).

The `both` mode is now the default, which will result in **no client-facing impact** but will output errors to the Router's logs if a discrepancy is recorded. If you discover discrepancies in your logs, please open an issue.

By [@lrlna](https://github.com/lrlna) in https://github.com/apollographql/router/pull/4161

## 🐛 Fixes

### Fix fragment usage with `@interfaceObject` ([Issue #3855](https://github.com/apollographql/router/issues/3855))

When requesting `__typename` under a fragment under an interface, from a subgraph adding fields to that interface with the `@interfaceObject` directive, the router was returning the interface name instead of the concrete type name. This is now fixed at the query planner level.

By [@geal](https://github.com/geal) in https://github.com/apollographql/router/pull/4363

### TLS client configuration override for Redis ([Issue #3551](https://github.com/apollographql/router/issues/3551))

It is now possible to set up a client certificate or override the root certificate authority list for Redis connections, through the `tls` section under Redis configuration. Options follow the same format as [subgraph TLS configuration](https://www.apollographql.com/docs/router/configuration/overview/#tls):

```yaml
apq:
router:
cache:
redis:
urls: [ "redis://localhost:6379" ]
tls:
certificate_authorities: ""
client_authentication:
certificate_chain:
key:
```

By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/4304

### `span_mode: spec_compliant` not applied correctly ([Issue #4335](https://github.com/apollographql/router/issues/4335))

Previously, `telemetry.instrumentation.spans.span_mode.spec_compliant` was not being correctly applied. This resulted in extra request spans that should not have been present in spec compliant mode, where `router.supergraph.subgraph` was incorrectly output as `request.router.supergraph.subgraph`. This has been fixed in this release.

By [@BrynCooke](https://github.com/BrynCooke) in https://github.com/apollographql/router/pull/4341

## 🛠 Maintenance

### chore: Update zerocopy dependency ([PR #4403](https://github.com/apollographql/router/pull/4403))

This changeset updates zerocopy to 0.7.31, which has a fix for https://rustsec.org/advisories/RUSTSEC-2023-0074.

By [@o0Ignition0o](https://github.com/o0Ignition0o) in https://github.com/apollographql/router/pull/4403

# [1.35.0] - 2023-12-01

## 🚀 Features
Expand Down
110 changes: 43 additions & 67 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ dependencies = [

[[package]]
name = "aes-gcm"
version = "0.10.2"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237"
checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
dependencies = [
"aead",
"aes",
Expand Down Expand Up @@ -201,76 +201,50 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"

[[package]]
name = "apollo-compiler"
version = "0.11.3"
version = "1.0.0-beta.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb2436eb22464134efc641e508b33229361b27a3d5b6f03242b66b170ab8786c"
checksum = "e2f12a04dc5164646affc9ef40f519741321b59d3503d0ca06719ce750741594"
dependencies = [
"apollo-parser 0.6.3",
"ariadne",
"indexmap 2.1.0",
"ordered-float 4.1.0",
"rowan",
"salsa",
"serde",
"thiserror",
"uuid",
]

[[package]]
name = "apollo-compiler"
version = "1.0.0-beta.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ae76a91725ab7ecd35d552db3fb3d3b3f534a4520330920a58a39892174b7ae"
dependencies = [
"apollo-parser 0.7.4",
"apollo-parser",
"ariadne",
"indexmap 2.1.0",
"rowan",
"salsa",
"serde",
"sptr",
"thiserror",
"triomphe",
"uuid",
]

[[package]]
name = "apollo-encoder"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b323dfc43b95a8806a401aed913e84db297162c6295bca620c0f57956cdb52cf"
checksum = "ee9f27b20841d14923dd5f0714a79f86360b23492d2f98ab5d1651471a56b7a4"
dependencies = [
"apollo-compiler 0.11.3",
"apollo-parser 0.6.3",
"apollo-parser",
"thiserror",
]

[[package]]
name = "apollo-federation"
version = "0.0.3"
version = "0.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6deb778a0fbd1448bffb6ebf8d33d8719ffda3f785482ddd7c26d0c72fc243d2"
checksum = "1e1f1a447ab0e78b150b076fa53fd0ac0a58563a493c9e588f447db842c18486"
dependencies = [
"apollo-compiler 1.0.0-beta.5",
"apollo-compiler",
"derive_more",
"indexmap 2.1.0",
"lazy_static",
"petgraph",
"salsa",
"strum",
"strum_macros",
"thiserror",
"url",
]

[[package]]
name = "apollo-parser"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b3cd0ce63c32c83e035757af12e3ae30566ce5d1ae183c02a2dd089a0df65aa"
dependencies = [
"memchr",
"rowan",
"thiserror",
]

[[package]]
name = "apollo-parser"
version = "0.7.4"
Expand All @@ -284,11 +258,11 @@ dependencies = [

[[package]]
name = "apollo-router"
version = "1.35.0"
version = "1.36.0"
dependencies = [
"access-json",
"anyhow",
"apollo-compiler 1.0.0-beta.5",
"apollo-compiler",
"apollo-federation",
"arc-swap",
"askama",
Expand All @@ -306,6 +280,7 @@ dependencies = [
"bytes",
"ci_info",
"clap 4.4.8",
"console 0.15.7",
"console-subscriber",
"dashmap",
"derivative",
Expand Down Expand Up @@ -392,6 +367,7 @@ dependencies = [
"sha1",
"sha2",
"shellexpand",
"similar",
"static_assertions",
"strum_macros",
"sys-info",
Expand Down Expand Up @@ -435,9 +411,9 @@ dependencies = [

[[package]]
name = "apollo-router-benchmarks"
version = "1.35.0"
version = "1.36.0"
dependencies = [
"apollo-parser 0.6.3",
"apollo-parser",
"apollo-router",
"apollo-smith",
"arbitrary",
Expand All @@ -451,7 +427,7 @@ dependencies = [

[[package]]
name = "apollo-router-scaffold"
version = "1.35.0"
version = "1.36.0"
dependencies = [
"anyhow",
"cargo-scaffold",
Expand All @@ -465,12 +441,12 @@ dependencies = [

[[package]]
name = "apollo-smith"
version = "0.4.0"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13ed94bb9de9f24da12ca2122b8eeaa7484d17b090dc84daaaba6b6ac2bee89b"
checksum = "441a51f1055d2eebcda41b55066de925502e11c97097c6d1bab0da5bdeb5c70f"
dependencies = [
"apollo-encoder",
"apollo-parser 0.6.3",
"apollo-parser",
"arbitrary",
"once_cell",
"thiserror",
Expand Down Expand Up @@ -3361,6 +3337,9 @@ name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
dependencies = [
"serde",
]

[[package]]
name = "hkdf"
Expand Down Expand Up @@ -4712,15 +4691,6 @@ dependencies = [
"num-traits",
]

[[package]]
name = "ordered-float"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a540f3e3b3d7929c884e46d093d344e4e5bdeed54d08bf007df50c93cc85d5"
dependencies = [
"num-traits",
]

[[package]]
name = "outref"
version = "0.5.1"
Expand Down Expand Up @@ -5762,9 +5732,9 @@ dependencies = [

[[package]]
name = "router-bridge"
version = "0.5.10+v2.6.1"
version = "0.5.11+v2.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c1846644b2195e6ec12a089ec5f8af17dee8b78807c1cb450d61720b83d58e0"
checksum = "46ea051e9f888ea68f9a977a5a49c145ec037277dd94dd89a18bbf7892eec2f6"
dependencies = [
"anyhow",
"async-channel 1.9.0",
Expand All @@ -5789,7 +5759,7 @@ dependencies = [
name = "router-fuzz"
version = "0.0.0"
dependencies = [
"apollo-parser 0.6.3",
"apollo-parser",
"apollo-smith",
"env_logger",
"libfuzzer-sys",
Expand Down Expand Up @@ -6399,9 +6369,9 @@ dependencies = [

[[package]]
name = "similar"
version = "2.2.1"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"

[[package]]
name = "simple_asn1"
Expand Down Expand Up @@ -6519,6 +6489,12 @@ dependencies = [
"der 0.7.8",
]

[[package]]
name = "sptr"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"

[[package]]
name = "stable_deref_trait"
version = "1.2.0"
Expand Down Expand Up @@ -6610,7 +6586,7 @@ name = "supergraph_sdl"
version = "0.1.0"
dependencies = [
"anyhow",
"apollo-compiler 1.0.0-beta.5",
"apollo-compiler",
"apollo-router",
"async-trait",
"tower",
Expand Down Expand Up @@ -8248,18 +8224,18 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"

[[package]]
name = "zerocopy"
version = "0.7.26"
version = "0.7.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d"
dependencies = [
"zerocopy-derive",
]

[[package]]
name = "zerocopy-derive"
version = "0.7.26"
version = "0.7.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a"
dependencies = [
"proc-macro2 1.0.66",
"quote 1.0.33",
Expand Down
6 changes: 3 additions & 3 deletions 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 = "1.35.0"
version = "1.36.0"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license = "Elastic-2.0"
Expand All @@ -18,8 +18,8 @@ tokio = { version = "1", features = ["full"] }
tower = "0.4"

[build-dependencies]
apollo-smith = { version = "0.4.0", features = ["parser-impl"] }
apollo-parser = "0.6.2"
apollo-smith = { version = "0.5.0", features = ["parser-impl"] }
apollo-parser = "0.7.4"
arbitrary = "1.3.2"

[[bench]]
Expand Down
2 changes: 1 addition & 1 deletion apollo-router-scaffold/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apollo-router-scaffold"
version = "1.35.0"
version = "1.36.0"
authors = ["Apollo Graph, Inc. <[email protected]>"]
edition = "2021"
license = "Elastic-2.0"
Expand Down
2 changes: 1 addition & 1 deletion apollo-router-scaffold/templates/base/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ apollo-router = { path ="{{integration_test}}apollo-router" }
apollo-router = { git="https://github.com/apollographql/router.git", branch="{{branch}}" }
{{else}}
# Note if you update these dependencies then also update xtask/Cargo.toml
apollo-router = "1.35.0"
apollo-router = "1.36.0"
{{/if}}
{{/if}}
async-trait = "0.1.52"
Expand Down
2 changes: 1 addition & 1 deletion apollo-router-scaffold/templates/base/xtask/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ apollo-router-scaffold = { path ="{{integration_test}}apollo-router-scaffold" }
{{#if branch}}
apollo-router-scaffold = { git="https://github.com/apollographql/router.git", branch="{{branch}}" }
{{else}}
apollo-router-scaffold = { git = "https://github.com/apollographql/router.git", tag = "v1.35.0" }
apollo-router-scaffold = { git = "https://github.com/apollographql/router.git", tag = "v1.36.0" }
{{/if}}
{{/if}}
anyhow = "1.0.58"
Expand Down
Loading

0 comments on commit 77059f6

Please sign in to comment.