Skip to content

Commit 177e837

Browse files
committed
Merge branch 'dev' into geal/merge-dev-in-staging-perf
2 parents 737dc05 + d50aed1 commit 177e837

File tree

58 files changed

+743
-149
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+743
-149
lines changed

.changesets/config_extra_labels_tpl.md

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
### Improve handling of deferred response errors from rhai scripts ([Issue #2935](https://github.com/apollographql/router/issues/2935)) ([Issue #2936](https://github.com/apollographql/router/issues/2936))
2+
3+
4+
Whilst processing a deferred response; if a rhai script errors in rhai the router ignores the error and returns None in the stream of results. This has two unfortunate aspects:
5+
6+
- the error is not propagated to the client
7+
- the stream is terminated (silently)
8+
9+
The fix captures the error and propagates the response to the client.
10+
11+
This fix also adds support for the `is_primary()` method which may be invoked on both supergraph_service() and execution_service() responses. It may be used to avoid implementing exception handling for header interactions and to determine if a response `is_primary()` (i.e.: first) or not.
12+
13+
e.g.:
14+
15+
```
16+
if response.is_primary() {
17+
print(`all response headers: ${response.headers}`);
18+
} else {
19+
print(`don't try to access headers`);
20+
}
21+
```
22+
23+
vs
24+
25+
```
26+
try {
27+
print(`all response headers: ${response.headers}`);
28+
}
29+
catch(err) {
30+
if err == "cannot access headers on a deferred response" {
31+
print(`don't try to access headers`);
32+
}
33+
}
34+
```
35+
Note: This is a minimal example for purposes of illustration. A real exception handler would handle all error conditions.
36+
37+
38+
By [@garypen](https://github.com/garypen) in https://github.com/apollographql/router/pull/2945

.changesets/fix_geal_update_h2.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### Update the h2 dependency to fix a Denial of Service vulnerability
2+
3+
Fixes https://rustsec.org/advisories/RUSTSEC-2023-0034
4+
5+
By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/2982
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
### fix: Traffic shaping configuration fallback for experimental_enable_http2
2+
3+
Fix a bug where experimental_enable_http2 wouldn't properly apply when a global configuration was set.
4+
5+
Huge thanks to @westhechiang, @leggomuhgreggo @vecchp and @davidvasandani for discovering the issue and finding a reproducible testcase!
6+
7+
By [@o0Ignition0o](https://github.com/o0Ignition0o) in https://github.com/apollographql/router/pull/2976
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
### Rate limit errors emitted from open telemetry ([Issue #2953](https://github.com/apollographql/router/issues/2953))
2+
3+
When a batch span exporter is unable to send accept a span because the buffer is full it will emit an error.
4+
These errors can be very frequent and could potentially impact performance.
5+
6+
Otel errors are now rate limited to one every ten seconds per error type.
7+
8+
By [@bryncooke](https://github.com/bryncooke) in https://github.com/apollographql/router/pull/2954
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### Add support of operationCountByType for apollo studio ([PR #2979](https://github.com/apollographql/router/pull/2979))
2+
3+
Add more details about the operation type for apollo studio usage reporting.
4+
5+
By [@bnjjj](https://github.com/bnjjj) in https://github.com/apollographql/router/pull/2979

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,50 @@ All notable changes to Router will be documented in this file.
44

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

7+
# [1.15.1] - 2023-04-18
8+
9+
## 🐛 Fixes
10+
11+
### Resolve Docker `unrecognized subcommand` error ([Issue #2966](https://github.com/apollographql/router/issues/2966))
12+
13+
We've repaired the Docker build of the v1.15.0 release which broke due to the introduction of syntax in the Dockerfile which can only be used by the the `docker buildx` tooling [which leverages Moby BuildKit](https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/).
14+
15+
Furthermore, the change didn't apply to the `diy` ("do-it-yourself") image, and we'd like to prevent the two Dockerfiles from deviating more than necessary.
16+
17+
Overall, this reverts [apollographql/router#2925](https://github.com/apollographql/router/pull/2925).
18+
19+
By [@abernix](https://github.com/abernix) in https://github.com/apollographql/router/pull/2968
20+
21+
### Helm Chart `extraContainers`
22+
23+
This is another iteration on the functionality for supporting side-cars within Helm charts, which is quite useful for [coprocessor](https://www.apollographql.com/docs/router/customizations/coprocessor/) configurations.
24+
25+
By [@pcarrier](https://github.com/pcarrier) in https://github.com/apollographql/router/pull/2967
26+
27+
## 📃 Configuration
28+
29+
### Treat Helm `extraLabels` as templates
30+
31+
It is now possible to use data from Helm's `Values` or `Chart` objects to add additional labels to Kubernetes Deployments of Pods.
32+
33+
As of this release, the following example:
34+
35+
```yaml
36+
extraLabels:
37+
env: {{ .Chart.AppVersion }}
38+
```
39+
40+
... will now result in:
41+
42+
```yaml
43+
labels:
44+
env: "v1.2.3"
45+
```
46+
47+
Previously, this would have resulted in merely emitting the untemplatized `{{ .Chart.AppVersion }}` value, resulting in an invalid label.
48+
49+
By [@gscheibel](https://github.com/gscheibel) in https://github.com/apollographql/router/pull/2962
50+
751
# [1.15.0] - 2023-04-17
852

953
## 🚀 Features

Cargo.lock

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -272,10 +272,9 @@ dependencies = [
272272

273273
[[package]]
274274
name = "apollo-router"
275-
version = "1.15.0"
275+
version = "1.15.1"
276276
dependencies = [
277277
"access-json",
278-
"ansi_term",
279278
"anyhow",
280279
"apollo-compiler",
281280
"apollo-parser 0.5.1",
@@ -334,6 +333,7 @@ dependencies = [
334333
"multer",
335334
"multimap",
336335
"notify",
336+
"nu-ansi-term 0.47.0",
337337
"once_cell",
338338
"opentelemetry",
339339
"opentelemetry-datadog",
@@ -407,7 +407,7 @@ dependencies = [
407407

408408
[[package]]
409409
name = "apollo-router-benchmarks"
410-
version = "1.15.0"
410+
version = "1.15.1"
411411
dependencies = [
412412
"apollo-parser 0.4.1",
413413
"apollo-router",
@@ -423,7 +423,7 @@ dependencies = [
423423

424424
[[package]]
425425
name = "apollo-router-scaffold"
426-
version = "1.15.0"
426+
version = "1.15.1"
427427
dependencies = [
428428
"anyhow",
429429
"cargo-scaffold",
@@ -2530,9 +2530,9 @@ dependencies = [
25302530

25312531
[[package]]
25322532
name = "h2"
2533-
version = "0.3.16"
2533+
version = "0.3.18"
25342534
source = "registry+https://github.com/rust-lang/crates.io-index"
2535-
checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
2535+
checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21"
25362536
dependencies = [
25372537
"bytes",
25382538
"fnv",
@@ -3538,6 +3538,15 @@ dependencies = [
35383538
"winapi 0.3.9",
35393539
]
35403540

3541+
[[package]]
3542+
name = "nu-ansi-term"
3543+
version = "0.47.0"
3544+
source = "registry+https://github.com/rust-lang/crates.io-index"
3545+
checksum = "1df031e117bca634c262e9bd3173776844b6c17a90b3741c9163663b4385af76"
3546+
dependencies = [
3547+
"windows-sys 0.45.0",
3548+
]
3549+
35413550
[[package]]
35423551
name = "num"
35433552
version = "0.4.0"
@@ -6298,7 +6307,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
62986307
checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
62996308
dependencies = [
63006309
"matchers",
6301-
"nu-ansi-term",
6310+
"nu-ansi-term 0.46.0",
63026311
"once_cell",
63036312
"regex",
63046313
"serde",

apollo-router-benchmarks/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "apollo-router-benchmarks"
3-
version = "1.15.0"
3+
version = "1.15.1"
44
authors = ["Apollo Graph, Inc. <[email protected]>"]
55
edition = "2021"
66
license = "Elastic-2.0"

apollo-router-scaffold/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "apollo-router-scaffold"
3-
version = "1.15.0"
3+
version = "1.15.1"
44
authors = ["Apollo Graph, Inc. <[email protected]>"]
55
edition = "2021"
66
license = "Elastic-2.0"

0 commit comments

Comments
 (0)