Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
2264e10
feat: default to Apollo reporting over OTel (#5741)
lennyburdette Jul 31, 2024
95e0863
prep release: v2.0.0-alpha.1
abernix Jul 31, 2024
2201d94
Merge remote-tracking branch 'origin/dev' into lb/next/merge-dev
lennyburdette Jul 31, 2024
038239f
carryover join__directive(name: link)
lennyburdette Jul 31, 2024
282bbe2
Remove tracing-fluent-assertions dependency (#5752)
Jul 31, 2024
a0f14ac
merge dev into next (#5755)
abernix Aug 1, 2024
03659c6
Fix connector span test (#5760)
Aug 1, 2024
d99d145
Remove clone of deferred fetches map (#5756)
Aug 1, 2024
5463970
Remove changes to FetchNode::response_at_path (#5761)
Aug 5, 2024
0ff326a
Minor connectors fixes from code review (#5774)
Aug 5, 2024
f6c2026
Fix race condition when adding debug data to connector context (#5767)
Aug 7, 2024
4040d79
Merge branch 'dev' into lb/next/merge-dev
lennyburdette Aug 12, 2024
8a23f68
merge dev (#5801)
lennyburdette Aug 12, 2024
0507d69
connectors: expand JSONSelection in transport body (#5799)
nicholascioli Aug 13, 2024
c9b75e2
validate empty selections (selection: and http: { body: }) (#5810)
lennyburdette Aug 13, 2024
638da7b
Normalize subgraph names when generating expanded enum values (#5814)
dylan-apollo Aug 14, 2024
623e759
Connectors request limit (#5798)
Aug 14, 2024
67cc499
Add ability to reference $config in header values (#5822)
Aug 14, 2024
e87b2e8
Upgrade to new visitor traits in validation (#5812)
dylan-apollo Aug 15, 2024
698191f
Report connectors errors as fetch errors (#5829)
Aug 15, 2024
119b71c
Add missing docs for connectors modules (#5833)
Aug 16, 2024
7be82c5
updating with `dev`
tayrrible Aug 16, 2024
dbeae5c
Update next with dev (#5837)
dylan-apollo Aug 16, 2024
8885909
prep release: v2.0.0-alpha.2
tayrrible Aug 16, 2024
5848fb4
disabling `test_updated` in ci
tayrrible Aug 16, 2024
241c351
re-enabling test_updated
tayrrible Aug 16, 2024
12b3f39
Merge branch 'refs/heads/dev' into next
dylan-apollo Aug 19, 2024
ed82ca9
Revert some IndexMap/Set changes that break `--release` builds for x8…
dylan-apollo Aug 19, 2024
cbe91c6
prep release: v2.0.0-alpha.3
dylan-apollo Aug 19, 2024
d6fe7aa
Fix panic when running from performance test (#5843)
Aug 19, 2024
95e6aae
Revert "Revert some IndexMap/Set changes that break `--release` build…
dylan-apollo Aug 20, 2024
d7dc894
Merge branch 'refs/heads/dev' into dylan/merge-dev-into-next
dylan-apollo Aug 20, 2024
4e4b7f9
Update snapshots
dylan-apollo Aug 20, 2024
c89effb
Merge dev into next (#5857)
dylan-apollo Aug 20, 2024
e8646fc
disallow direct circular references (#5849)
lennyburdette Aug 20, 2024
947578d
refactor: apply_selection once per connector (#5862)
lennyburdette Aug 21, 2024
391e85b
Refactor subscriptions to go through FetchService (#5879)
Aug 26, 2024
64f4a60
support application/x-www-form-urlencoded request bodies (#5869)
lennyburdette Aug 26, 2024
c68d56a
expand fixes (#5885)
lennyburdette Aug 27, 2024
3be6892
Add ability to reference request context values in headers
Aug 27, 2024
c0196d0
Change $context to $request.context
Aug 27, 2024
fa411c9
[JSONSelection] Support `->` method syntax for inline data transforms…
benjamn Aug 27, 2024
f072ab5
Update snapshot test for `PathSelection { path: PathList }` changes.
benjamn Aug 27, 2024
bc641bb
Update more PathSelection snapshots within apollo-router crate.
benjamn Aug 27, 2024
ca5d0b9
Revert "Change $context to $request.context"
Aug 27, 2024
af5702c
connectors: always expand inputs (#5899)
nicholascioli Aug 27, 2024
7d75b7b
fix: use default values on arguments (#5896)
lennyburdette Aug 27, 2024
53a9098
Merge branch 'dev' into pubmodmatt/next/merge-dev
Aug 27, 2024
c87df52
Ignore failing rustdoc examples in fallible_iterator.rs
Aug 27, 2024
9c79325
Merge dev into next (#5903)
Aug 28, 2024
41de897
connectors: fix JSONSelection pretty printing (#5913)
nicholascioli Aug 29, 2024
695d8e4
Merge remote-tracking branch 'origin/dev' into next
nicholascioli Aug 29, 2024
0f1b7f5
connectors: merge dev into next release (#5920)
nicholascioli Aug 29, 2024
22f1a62
add connectors to CODEOWNERS (#5916)
lennyburdette Aug 29, 2024
aecc9d6
prep release: v2.0.0-alpha.4
nicholascioli Aug 29, 2024
07f00df
validate fields selected (#5915)
lennyburdette Aug 30, 2024
c8d8e11
disallow fields with arguments if they're not connectors (#5923)
lennyburdette Sep 3, 2024
036cab8
Merge branch 'dev' into lb/connectors/merge-dev
lennyburdette Sep 3, 2024
0b67964
Add ability to reference request context values in headers (#5891)
Sep 3, 2024
21a05d7
try upgrading xcode to 15.4.0
lennyburdette Sep 3, 2024
f822648
Replace internal connectors subgraph name in errors
Sep 3, 2024
5477c6a
Replace internal connectors subgraph name in errors (#5947)
Sep 3, 2024
6a89ffb
merge dev (#5940)
lennyburdette Sep 3, 2024
789fd95
Add support for include_subgraph_errors to connectors
Sep 4, 2024
fa77f1d
Add unit tests
Sep 4, 2024
38cca4b
Address PR feedback
Sep 4, 2024
616dcd9
Add support for include_subgraph_errors to connectors (#5956)
Sep 4, 2024
e8c46e3
De-nest test data (#5964)
dylan-apollo Sep 6, 2024
66444bc
pretty-print validation snapshots (#5970)
lennyburdette Sep 6, 2024
13b0ed7
Merge branch 'refs/heads/dev' into next
dylan-apollo Sep 6, 2024
77ecedb
Merge dev to next (#5971)
dylan-apollo Sep 6, 2024
910db0e
prep release: v2.0.0-alpha.5
nicholascioli Sep 6, 2024
db83104
fix: validate each @connect on a field (#5973)
lennyburdette Sep 7, 2024
ecc8888
connectors: add debug cli for expansion (#5966)
nicholascioli Sep 9, 2024
0ffa356
enabling connectors debugging via embed (#5931)
tayrrible Sep 10, 2024
de5f377
fix debug concurrency (#5985)
lennyburdette Sep 10, 2024
08fb41b
Switch expansion to insta globbing mechanism (same as validation) (#5…
dylan-apollo Sep 11, 2024
a52e556
Merge dev into next
Sep 11, 2024
79ca3da
Merge dev into next (#5993)
Sep 11, 2024
b563b68
prep release: v2.0.0-alpha.6
Sep 11, 2024
7447061
Validate connector entity resolver arguments (#5984)
Sep 12, 2024
c199e4a
connectors: track $this usage in selection (#5988)
nicholascioli Sep 12, 2024
8daeb07
Validate URL templates (#5991)
dylan-apollo Sep 12, 2024
9a34ca3
[JSONSelection] Track location information for parsed structures (#5987)
benjamn Sep 12, 2024
0e8caa1
composition fixes (#5949)
lennyburdette Sep 16, 2024
245a2e3
Allow resolvable key fields to have no connect directive (#6010)
Sep 17, 2024
b53510b
[JSONSelection] Support `$(...)` syntax to simplify expression inject…
benjamn Sep 17, 2024
1e38729
Fix outdated comments.
benjamn Sep 17, 2024
8be062e
[JSONSelection] Remove `&mut errors` from `apply_to_path` signatures …
benjamn Sep 17, 2024
45a900c
rest: * (#5969)
lennyburdette Sep 18, 2024
dd700f8
fix: group mapping errors (#6020)
lennyburdette Sep 18, 2024
b4e8a43
More URL validations (#6026)
dylan-apollo Sep 19, 2024
c8142f9
Merge branch 'dev' into lb/next/merge-dev
lennyburdette Sep 23, 2024
9199749
update validation snapshots
lennyburdette Sep 23, 2024
7bbc346
merge dev (#6039)
lennyburdette Sep 23, 2024
047a21d
prep release: v2.0.0-alpha.7
lennyburdette Sep 23, 2024
c5aff1c
Merge branch 'dev' into next
lennyburdette Sep 25, 2024
3ac1a72
fix for new apollo-compiler api
lennyburdette Sep 25, 2024
aa20f76
merge dev after 1.55 (#6058)
lennyburdette Sep 25, 2024
3d7044a
Better locations for URL strings (#6031)
dylan-apollo Sep 25, 2024
f294afe
Fix small merge conflict between #6031 and #6058 (#6066)
benjamn Sep 26, 2024
7566197
fix: emit connectors debugging log only once (#6062)
lennyburdette Sep 27, 2024
f680543
Update default config for Apollo telemetry (#5975)
bonnici Sep 30, 2024
fe9f7d2
promote experimental_otlp_tracing_sampler from experimental (#6070)
Sep 30, 2024
d322bc2
[JSONSelection] Allow `NamedSelection ::= Path SubSelection` without …
benjamn Sep 30, 2024
21f7c7a
[JSONSelection] Forbid single-`.key` paths, requiring `$.key` instead…
benjamn Sep 30, 2024
26deefc
Merge branch 'dev' into lb/merge-dev-20241001
lennyburdette Oct 1, 2024
68c41fd
[JSONSelection] Fix validations to accommodate inline `NamedSelection…
benjamn Oct 1, 2024
2d6cb03
fix lints
lennyburdette Oct 1, 2024
5eb175f
Use more specific locations for JSONSelection when available (#6088)
dylan-apollo Oct 1, 2024
824bf91
Merge branch 'next' into lb/merge-dev-20241001
lennyburdette Oct 1, 2024
2e7a415
Merge branch 'dev' into lb/merge-dev-20241001
lennyburdette Oct 1, 2024
a0338b9
fix: redundant backticks in connector validation
lennyburdette Oct 1, 2024
c56d52d
fix test after incorrect merge
lennyburdette Oct 1, 2024
a43f08a
fix: mark some unused as cfg(test)
lennyburdette Oct 1, 2024
a68f52f
merge dev (#6091)
lennyburdette Oct 1, 2024
86fb18d
prep release: v2.0.0-preview.0
lennyburdette Oct 1, 2024
79c64a6
prep release: v2.0.0-preview.0 (#6102)
lennyburdette Oct 1, 2024
6c70ba6
router next documentation (#6045)
Oct 2, 2024
613d058
connectors integration tests (#6000)
Geal Oct 4, 2024
9e3219c
changelog for router 2.0.0-preview.0 (#6130)
lennyburdette Oct 9, 2024
ce71c17
Implement HTTP metrics for Connectors (#6067)
Oct 15, 2024
408ac64
Set OTEL_STATUS_CODE for connector spans (#6133)
Oct 15, 2024
c850e91
fix: visit rest: * selections (#6156)
lennyburdette Oct 16, 2024
445534b
Add router metrics for Connectors telemetry configuration (#6155)
Oct 17, 2024
4f7931d
fix: support fragments from fetch nodes in connectors (#6166)
lennyburdette Oct 17, 2024
d57de3e
fix: add backticks around incorrect variable name (#6171)
lennyburdette Oct 21, 2024
82e262b
[JSONSelection] Remove `rest: * { a b }` star selection syntax (#6185)
benjamn Oct 23, 2024
4d74880
Add the ability to use $args and $this in headers (#6193)
Oct 24, 2024
a066d0a
AWS SigV4 signing for Apollo Connectors (#6144)
Oct 28, 2024
5086157
Update connectors code owners (#6202)
dylan-apollo Oct 28, 2024
c2ff2ec
Merge branch 'dev' into dylan/merge-dev
dylan-apollo Oct 28, 2024
d4657f0
Regenerate expansion supergraphs (#6201)
dylan-apollo Oct 29, 2024
4e151c8
Remove reference to now-obselete `experimental_introspection_mode` in…
dylan-apollo Oct 29, 2024
145cca7
Merge branch 'next' into dylan/merge-dev
dylan-apollo Oct 29, 2024
1eafe2f
Add fields referenced only in entity arguments to split subgraphs (#6…
dylan-apollo Oct 29, 2024
cd5f732
Remove more references to now-obselete `experimental_introspection_mo…
dylan-apollo Oct 29, 2024
12c042b
Merge branch 'next' into dylan/merge-dev
dylan-apollo Oct 29, 2024
db5a792
Mention Router 1.57/1.56 distinction in experimental QP docs
dylan-apollo Oct 29, 2024
ab9b5c8
Update min router version for "Optimize native query planner"
dylan-apollo Oct 29, 2024
11eacb4
feat(telemetry): add ability to set span attributes on connector span…
bnjjj Oct 30, 2024
8f76f46
Merge dev into next (#6204)
dylan-apollo Oct 31, 2024
23a2efd
make source name validation consistent with subgraph name validation …
lennyburdette Nov 4, 2024
e12af36
[JSONSelection] Report better parsing error messages using `LocatedSp…
benjamn Nov 4, 2024
7ae593d
add list of subgraphs/sources to context (#6215)
lennyburdette Nov 4, 2024
725b07d
add content-length header to requests as appropriate (#6226)
lennyburdette Nov 5, 2024
54a4963
fix JSONSelection::parse signature (#6230)
lennyburdette Nov 5, 2024
216e5a4
$status var in responses (#6225)
lennyburdette Nov 5, 2024
ac21378
Merge branch 'dev' into lb/next/merge-dev-1.57
lennyburdette Nov 5, 2024
28e232a
merge dev 1.57 (#6233)
lennyburdette Nov 6, 2024
1e83e68
Fix fake selection for nested fields in expansion (#6232)
dylan-apollo Nov 6, 2024
fb49332
fix: return graphql errors when unable to deserialize response body (…
lennyburdette Nov 6, 2024
103365a
Add metrics for preview_connectors configuration (#6240)
Nov 7, 2024
6cf67ed
fix: correctly record invalid request for debugging (#6245)
lennyburdette Nov 7, 2024
6ff695e
Provide single-character locations for `selection` parse errors (#6241)
dylan-apollo Nov 7, 2024
ed04aca
prep release: v2.0.0-preview.1 (#6246)
lennyburdette Nov 7, 2024
21061cb
Allow mixing implicit and explicit connectors keys (#6220)
dylan-apollo Nov 8, 2024
6a0a156
Reusable variable validation (#6258)
Nov 15, 2024
763bd9d
Merge branch 'dev' into garypen/merge-dev-to-next
Nov 18, 2024
c53214d
Merge branch dev into next (#6271)
Nov 18, 2024
0def3e6
merge rs fixes (#6261)
lennyburdette Nov 18, 2024
88bb4a0
docs: v2 migration (#6275)
shorgi Nov 18, 2024
22ee12f
Consolidate & expand connectors headers validations (#6278)
dylan-apollo Nov 19, 2024
5c26268
Add usage metrics for connectors (#6262)
Nov 19, 2024
46b9fca
fix: emit debug extension for each response chunk (#6300)
lennyburdette Nov 20, 2024
ac9594e
Validate variables in JSON selection (#6297)
Nov 21, 2024
fda8254
fix: don't validate unused fields if a json selection fails to parse …
lennyburdette Nov 21, 2024
0543104
Remove a couple redundant codeowner rules (#6317)
dylan-apollo Nov 21, 2024
85a7450
finish support for @interfaceObject in connectors schemas (#6296)
lennyburdette Nov 21, 2024
d392d30
fix(cors): don't ignore invalid configuration (#6292)
bnjjj Nov 22, 2024
5b4d688
Remove --apollo-uplink-poll-interval (#6268)
goto-bus-stop Nov 22, 2024
9d947dd
Remove support for scaffold (#6274)
Nov 22, 2024
4bdef22
Remove experimental_when_header feature (#6285)
bnjjj Nov 22, 2024
a7e8687
make $context available everywhere with variable optimizations (#6318)
lennyburdette Nov 22, 2024
24da9c5
Implement planned breaking changes for URI templates (#6321)
dylan-apollo Nov 22, 2024
e4cb2c1
docs: note for upgrade guide (#6336)
abernix Nov 28, 2024
68e328c
Merge branch 'dev' into garypen/dev-merge
Dec 3, 2024
e503fa3
fix merge
Dec 3, 2024
2d25fec
regular merge of dev into next (#6382)
Dec 3, 2024
a7a629e
Regenerate the runtime test cases for connectors and provide some ins…
dylan-apollo Dec 3, 2024
8f21de8
Move Code::to_string to apollo-federation from apollo-composition. (#…
dylan-apollo Dec 3, 2024
a7d9918
Handle escape sequences in GraphQL strings (#6390)
Dec 4, 2024
697641e
Fix bug where URL variable parsing was not all-consuming (#6400)
Dec 4, 2024
3ab3a59
Remove deprecated metrics (#6361)
bnjjj Dec 5, 2024
2dc865d
Merge branch 'dev' into garypen/merge-dev
Dec 9, 2024
7c8cc3f
Merge branch 'dev' into garypen/merge-dev
Dec 9, 2024
7523ec3
Move the parser check back to the right place
Dec 9, 2024
12d02b0
Make connectors tests use the legacy QP
Dec 9, 2024
451a11b
Lock the version of libfuzzer to 0.4.7
Dec 9, 2024
467ba22
We seem to be running out of memory during test links
Dec 9, 2024
56df946
Remember to pin to 0.4.7
Dec 9, 2024
3f1025b
Remember to check in Cargo.lock
Dec 9, 2024
8b7b31e
merge dev into next (#6416)
Dec 9, 2024
ccc036b
prep release: v2.0.0-preview.3 (#6422)
Dec 9, 2024
6a65579
fix cargo about (#6423)
bnjjj Dec 10, 2024
926fe20
fix cargo about (#6423) (#6428)
Dec 10, 2024
c72a180
validation for explicit `@key`s (#6401)
lennyburdette Dec 10, 2024
1616b10
update tests for native QP (#6430)
lennyburdette Dec 10, 2024
d03acb9
fix: add debug data to each response chunk (#6435)
lennyburdette Dec 11, 2024
8e87cfd
refactor: simplify __typename handling in connectors code (#6439)
lennyburdette Dec 11, 2024
d4ea048
Move result handling to initial async block (#6451)
Dec 13, 2024
dac74b6
include paths in errors (#6452)
lennyburdette Dec 15, 2024
31e7367
Hyper upgrade staging (#6339)
Dec 16, 2024
bf03ba7
Make `->` method registration more flexible and type-safe (#6455)
benjamn Dec 16, 2024
9a11786
HTTP snapshot server (#6032)
Dec 16, 2024
a856bd6
disable insecure ws semgrep signature (#6462)
peakematt Dec 16, 2024
ca30b92
Revert "HTTP snapshot server (#6032)" (#6465)
Dec 16, 2024
cb215eb
pre-GA connector error cleanup (#6461)
lennyburdette Dec 17, 2024
9eeb028
Merge branch 'dev' into garypen/merge-dev-into-next
Dec 17, 2024
36a3bab
Reimplement HTTP snapshot server on hyper 1.x (#6468)
Dec 17, 2024
b1d294c
fix(fleet_detector): fix fleet_detector for hyper 1.0 (#6474)
nmoutschen Dec 17, 2024
8cd9257
More tweaking and removing warnings.
Dec 17, 2024
57c6d49
Fix various compiler warnings and test failures
Dec 17, 2024
7e220be
Remove code that we don't need
Dec 17, 2024
70653ae
Merge branch 'next' into garypen/merge-dev-into-next
Dec 17, 2024
4b55cdf
Add back cmake on Windows
Dec 17, 2024
bfbb31b
merge dev into next (#6473)
Dec 17, 2024
ef62b19
Merge branch 'dev' into garypen/merge-dev-into-next
Dec 18, 2024
dde067c
merge dev into next (again) (#6479)
Dec 18, 2024
752bda7
Improve performance of flatten_keys (#6482)
Dec 18, 2024
ed1dc93
wrap http client errors in an error type we control (#6484)
lennyburdette Dec 19, 2024
b0b2bc1
connectors: keep schema in validation (#6454)
nicholascioli Dec 19, 2024
2fc80c7
fix: allow setting `accept` header (#6496)
lennyburdette Dec 20, 2024
3a88624
Merge branch 'dev' into garypen/merge-dev
Jan 6, 2025
c5e0a82
fix feature discussions json
Jan 6, 2025
e32452f
Remove feature discussions which don't exist in next
Jan 6, 2025
f420458
Fixup the snapshot now that the old experimental feature is no more
Jan 6, 2025
b0f3cb6
merge dev into next (#6511)
Jan 7, 2025
affe462
fix: include mutation root type definition in connectors (#6516)
lennyburdette Jan 7, 2025
ea377f0
connectors debugging snapshot test (#6518)
lennyburdette Jan 8, 2025
4f9f70c
fix: ignore @external types when validating resolvablility (#6524)
lennyburdette Jan 8, 2025
d7c0b45
Merge branch 'dev' into garypen/merge-dev
Jan 13, 2025
204deb9
Upgrade to axum 0.8 (#6530)
tninesling Jan 13, 2025
9a87ae1
merge dev into next (#6537)
Jan 13, 2025
9aaee6e
Prework for `JSONSelection::compute_output_shape` and URI type checki…
benjamn Jan 13, 2025
93b0d0f
Generic prework for PR #6458.
benjamn Oct 28, 2024
a8b50c8
Implement `ApplyToInternal::compute_output_shape` trait method.
benjamn Nov 18, 2024
a805338
Update snapshots.
benjamn Jan 14, 2025
32dafac
Support JSONSelection in URIs and Header values (#6513)
dylan-apollo Jan 14, 2025
1263404
Implement `ApplyToInternal::compute_output_shape` returning `shape::S…
benjamn Jan 14, 2025
caac1e5
`->jsonStringify` method (#6519)
lennyburdette Jan 14, 2025
3b62455
Add decompression failure tests (#6541)
tninesling Jan 15, 2025
1599e56
prep release: v2.0.0-preview.4 (#6551)
nicholascioli Jan 15, 2025
be6736b
update CircleCI base image (#6553)
nicholascioli Jan 16, 2025
e9f746d
Revert "fix(router, only 1.x): fix the `apollo_router_session_count_t…
SimonSapin Jan 17, 2025
ccda54c
Merge branch 'simon/nextnext' into renee/merge-dev
goto-bus-stop Jan 17, 2025
ba8b138
fix(deps): update apollo-compiler JsonMap import
goto-bus-stop Jan 20, 2025
8ebb8bb
merge dev into next (#6571)
goto-bus-stop Jan 20, 2025
4562cd3
Merge branch 'dev' into renee/merge-dev
goto-bus-stop Jan 20, 2025
ab33ab0
merge dev into next (#6579)
goto-bus-stop Jan 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .changesets/breaking_lb_next_apollo_otel_default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
### Default to Apollo reporting over OTel ([PR #5741](https://github.com/apollographql/router/pull/5741))

BREAKING CHANGE: This change will cause traces in Apollo Studio to appear differently


By [@lennyburdette](https://github.com/lennyburdette) in https://github.com/apollographql/router/pull/5741
7 changes: 7 additions & 0 deletions .changesets/config_apollo_reporting_defaults.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### Changed Apollo reporting defaults ([PR #5975](https://github.com/apollographql/router/pull/5975))

Changed the defaults of the Apollo metrics reporting defaults.
* `telemetry.apollo.signature_normalization_algorithm` now defaults to `enhanced`
* `telemetry.apollo.metrics_reference_mode` now defaults to `extended`

By [@bonnici](https://github.com/bonnici) in https://github.com/apollographql/router/pull/5975
11 changes: 11 additions & 0 deletions .changesets/config_garypen_promote_otel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### promote experimental_otlp_tracing_sampler from experimental ([PR #6070](https://github.com/apollographql/router/pull/6070))

The router's otlp tracing sampler feature that was previously [experimental](https://www.apollographql.com/docs/resources/product-launch-stages/#experimental-features) is now [generally available](https://www.apollographql.com/docs/resources/product-launch-stages/#general-availability).

If you used its experimental configuration, you should migrate to the new configuration option:

* `telemetry.apollo.experimental_otlp_tracing_sampler` is now `telemetry.apollo.otlp_tracing_sampler`

The experimental configuration option is now deprecated. It remains functional but will log warnings.

By [@garypen](https://github.com/garypen) in https://github.com/apollographql/router/pull/6070
33 changes: 33 additions & 0 deletions .changesets/fix_error_locations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
### Gracefully handle subgraph response with `-1` values inside error locations ([PR #5633](https://github.com/apollographql/router/pull/5633))

[GraphQL specification requires](https://spec.graphql.org/draft/#sel-GAPHRPFCCaCGX5zM) that both "line" and "column" are positive numbers.
However GraphQL Java and GraphQL Kotlin use `{ "line": -1, "column": -1 }` value if they can't determine error location inside query.

This change makes Router to gracefully handle such responses by ignoring such invalid locations.

As an example, if subgraph respond with:
```json
{
"data": { "topProducts": null },
"errors": [{
"message":"Some error on subgraph",
"locations": [
{ "line": -1, "column": -1 },
],
"path":["topProducts"]
}]
}
```

Router will return following to a client:
```json
{
"data": { "topProducts": null },
"errors": [{
"message":"Some error on subgraph",
"path":["topProducts"]
}]
}
```

By [@IvanGoncharov](https://github.com/IvanGoncharov) in https://github.com/apollographql/router/pull/5633
5 changes: 5 additions & 0 deletions .changesets/maint_renee_migrate_metrics_histograms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Migrate histogram metrics to `{f,u}64_histogram!` ([PR #6356](https://github.com/apollographql/router/pull/6356))

Updates histogram metrics using the legacy `tracing::info!(histogram.*)` syntax to the new metrics macros.

By [@goto-bus-stop](https://github.com/goto-bus-stop) in https://github.com/apollographql/router/pull/6356
6 changes: 3 additions & 3 deletions .changesets/maint_renee_migrate_metrics_values.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
### Migrate various metrics to OTel instruments ([PR #6476](https://github.com/apollographql/router/pull/6476), [PR #6356](https://github.com/apollographql/router/pull/6356), [PR #6539](https://github.com/apollographql/router/pull/6539))
### Migrate gauge metrics to OTel instruments ([PR #6476](https://github.com/apollographql/router/pull/6476))

Various metrics using our legacy mechanism based on the `tracing` crate are migrated to OTel instruments.
Updates gauge metrics using the legacy `tracing::info!(value.*)` syntax to OTel instruments.

By [@goto-bus-stop](https://github.com/goto-bus-stop) in https://github.com/apollographql/router/pull/6476, https://github.com/apollographql/router/pull/6356, https://github.com/apollographql/router/pull/6539
By [@goto-bus-stop](https://github.com/goto-bus-stop) in https://github.com/apollographql/router/pull/6476
57 changes: 43 additions & 14 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,34 @@ orbs:
executors:
amd_linux_build: &amd_linux_build_executor
docker:
- image: cimg/base:stable
- image: cimg/base:current
resource_class: xlarge
environment:
CARGO_BUILD_JOBS: 4
RUST_TEST_THREADS: 6
amd_linux_helm: &amd_linux_helm_executor
docker:
- image: cimg/base:stable
- image: cimg/base:current
resource_class: small
amd_linux_test: &amd_linux_test_executor
docker:
- image: cimg/base:stable
- image: cimg/base:current
- image: cimg/redis:7.4.1
- image: jaegertracing/all-in-one:1.54.0
- image: openzipkin/zipkin:3.4.3
- image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.17.0
resource_class: xlarge
resource_class: 2xlarge
environment:
CARGO_BUILD_JOBS: 4
arm_linux_build: &arm_linux_build_executor
machine:
image: ubuntu-2004:2024.01.1
docker:
- image: cimg/base:current
resource_class: arm.large
environment:
CARGO_BUILD_JOBS: 8
arm_linux_test: &arm_linux_test_executor
machine:
image: ubuntu-2004:2024.01.1
docker:
- image: cimg/base:current
resource_class: arm.xlarge
environment:
CARGO_BUILD_JOBS: 8
Expand Down Expand Up @@ -82,6 +82,10 @@ parameters:
protoc_version:
type: string
default: "21.8"
# note the cmake version is only used for manual installs, not for installs from a package manager like apt or homebrew
cmake_version:
type: string
default: "3.31.1"
nightly:
type: boolean
default: false
Expand Down Expand Up @@ -233,9 +237,29 @@ commands:
command: |
if [[ ! -d "$HOME/.deb" ]]; then
mkdir $HOME/.deb
sudo apt-get --download-only -o Dir::Cache="$HOME/.deb" -o Dir::Cache::archives="$HOME/.deb" install libssl-dev libdw-dev
sudo apt-get update
sudo apt-get --download-only -o Dir::Cache="$HOME/.deb" -o Dir::Cache::archives="$HOME/.deb" install build-essential libssl-dev libdw-dev
fi
sudo dpkg -i $HOME/.deb/*.deb

- when:
condition:
or:
- equal: [ *windows_build_executor, << parameters.platform >> ]
- equal: [ *windows_test_executor, << parameters.platform >> ]
steps:
- run:
name: Install CMake
command: |
mkdir -p "$HOME/.local"
if [[ ! -f "$HOME/.local/bin/cmake" ]]; then
curl -L https://github.com/Kitware/CMake/releases/download/v<< pipeline.parameters.cmake_version >>/cmake-<< pipeline.parameters.cmake_version >>-windows-x86_64.zip --output cmake.zip
# The zip file has a root directory, so we put it somewhere else first before placing the files in .local
unzip cmake.zip -d /tmp > /dev/null
cp /tmp/cmake-<< pipeline.parameters.cmake_version >>-windows-x86_64/* -R "$HOME/.local"
fi

cmake --version
install_protoc:
parameters:
platform:
Expand Down Expand Up @@ -483,7 +507,11 @@ commands:
environment:
# Use the settings from the "ci" profile in nextest configuration.
NEXTEST_PROFILE: ci
command: xtask test --workspace --locked --features ci,hyper_header_limits
# Temporary disable lib backtrace since it crashing on MacOS
# TODO: remove this workaround once we update to Xcode >= 15.1.0
# See: https://github.com/apollographql/router/pull/5462
RUST_LIB_BACKTRACE: 0
command: xtask test --workspace --locked --features ci,snapshot
- run:
name: Delete large files from cache
command: |
Expand Down Expand Up @@ -696,10 +724,10 @@ jobs:
- run: cargo xtask release prepare nightly
- run:
command: >
cargo xtask dist --target aarch64-apple-darwin --features hyper_header_limits
cargo xtask dist --target aarch64-apple-darwin
- run:
command: >
cargo xtask dist --target x86_64-apple-darwin --features hyper_header_limits
cargo xtask dist --target x86_64-apple-darwin
- run:
command: >
mkdir -p artifacts
Expand Down Expand Up @@ -759,7 +787,7 @@ jobs:
- run: cargo xtask release prepare nightly
- run:
command: >
cargo xtask dist --features hyper_header_limits
cargo xtask dist
- run:
command: >
mkdir -p artifacts
Expand Down Expand Up @@ -902,7 +930,7 @@ jobs:

publish_github_release:
docker:
- image: cimg/base:stable
- image: cimg/base:current
resource_class: small
environment:
<<: *common_job_environment
Expand Down Expand Up @@ -1192,3 +1220,4 @@ workflows:
- secops-oidc
- github-orb
git-base-revision: <<#pipeline.git.base_revision>><<pipeline.git.base_revision>><</pipeline.git.base_revision >>
disabled-signatures: "rules.providers.semgrep.security.javascript.lang.security.detect-insecure-websocket"
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
/docs/ @apollographql/docs
/.changesets/ @apollographql/docs
/apollo-federation/ @dariuszkuc @sachindshinde @goto-bus-stop @SimonSapin @lrlna @TylerBloom @duckki
/apollo-federation/src/sources/connect/json_selection @benjamn
/apollo-federation/src/sources/connect @apollographql/connectors
/apollo-router/ @apollographql/polaris @apollographql/atlas
/apollo-router/src/plugins/connectors @apollographql/connectors
/apollo-router-benchmarks/ @apollographql/polaris @apollographql/atlas
/apollo-router-scaffold/ @apollographql/polaris @apollographql/atlas
/examples/ @apollographql/polaris @apollographql/atlas
Expand Down
46 changes: 41 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,47 @@ 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).

# [2.0.0-preview.0] - 2024-10-01

Learn more about [migrating from 1.x to 2.0](https://www.apollographql.com/docs/graphos/reference/migration/from-router-v1).

## 🚀 Features

### Apollo Connectors Public Preview

[Apollo Connectors](https://go.apollo.dev/connectors) are a new declarative programming model for GraphQL, allowing you to plug your existing REST services directly into your graph.

```graphql
type Query {
posts(first: Int): [Post]
@connect(
http: { GET: "https://my.api/posts?limit={$args.first}" }
selection: "$.results { id title body }"
)
}
```

Apollo Connectors are available for Enterprise and free GraphOS Trial accounts. Get started with the [Connectors Quickstart](https://go.apollo.dev/connectors/quickstart) and visit the ["connectors" tag on the community forums](https://community.apollographql.com/tag/connectors) to leave feedback during the preview.

### Apollo operation usage reporting via OTLP

The router supports reporting operation usage metrics to GraphOS via OpenTelemetry Protocol (OTLP).

Prior to version 1.49.0 of the router, all GraphOS reporting was performed using a private tracing format. In v1.49.0, we introduced support for using OTEL to perform this reporting. In v1.x, this is controlled using the experimental_otlp_tracing_sampler flag, and it's disabled by default.

Now in v2.x, this flag is renamed to otlp_tracing_sampler, and it's enabled by default.

Learn more about configuring [usage reporting via OTLP](https://www.apollographql.com/docs/graphos/routing/graphos-reporting#usage-reporting-via-opentelemetry-protocol-otlp).

## 📃 Configuration

### Metrics reporting defaults

Default values of some GraphOS reporting metrics have been changed from v1.x to the following in v2.x:

* `telemetry.apollo.signature_normalization_algorithm` now defaults to `enhanced`. (In v1.x the default is `legacy`.)
* `telemetry.apollo.metrics_reference_mode` now defaults to `extended`. (In v1.x the default is `standard`.)

# [1.59.1] - 2025-01-08

## 🐛 Fixes
Expand Down Expand Up @@ -321,7 +362,6 @@ The deprecated metrics will continue to work in the 1.x release line.
By [@goto-bus-stop](https://github.com/goto-bus-stop) in https://github.com/apollographql/router/pull/6350



# [1.58.1] - 2024-12-05

> [!IMPORTANT]
Expand All @@ -344,8 +384,6 @@ The native query planner now correctly sets two experimental configuration optio

By [@goto-bus-stop](https://github.com/goto-bus-stop) in https://github.com/apollographql/router/pull/6316



# [1.58.0] - 2024-11-27

> [!IMPORTANT]
Expand Down Expand Up @@ -652,8 +690,6 @@ This fixes an issue in progressive override where the override labels were not t

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



# [1.57.0] - 2024-10-22

> [!IMPORTANT]
Expand Down
Loading