Merged
Conversation
BrynCooke
approved these changes
Aug 29, 2022
o0Ignition0o
approved these changes
Aug 29, 2022
Geal
approved these changes
Aug 29, 2022
|
|
||
| ### Re-organize our release steps checklist ([PR #1605](https://github.com/apollographql/router/pull/1605)) | ||
|
|
||
| We've got a lot of manual steps we need to do in order to release the Router binarys, but we can at least organize them meaningfuly for ourselves to follow! This is only a Router-team concern today! |
Contributor
There was a problem hiding this comment.
Suggested change
| We've got a lot of manual steps we need to do in order to release the Router binarys, but we can at least organize them meaningfuly for ourselves to follow! This is only a Router-team concern today! | |
| We've got a lot of manual steps we need to do in order to release the Router binaries, but we can at least organize them meaningfully for ourselves to follow! This is only a Router-team concern today! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
❗ BREAKING ❗
Move
corsconfiguration fromserverto root-level (PR #1586)The
corsconfiguration is now located at the root-level of the configuration file, rather than insideserver.For example:
By @garypen in #1586
Exit the router after logging panic details (PR #1602)
The Router will now terminate in the (unlikely) case where it panics.
By @garypen in #1602
Rename the
endpointparameter tographql_path(#1606)The
endpointparameter within theserverportion of the YAML configuration has been renamed tographql_pathto more accurately reflect its behavior.If you used this option, the necessary change would look like:
By @abernix in #1609
Remove
activate()from the plugin API (PR #1569)Recent changes to configuration reloading means that the only known consumer of this API, telemetry, is no longer using it.
Let's remove it since it's simple to add back if later required.
By @garypen in #1569
Rename TestHarness methods (PR #1579)
Some methods of
apollo_router::TestHarnesswere renamed:extra_supergraph_plugin→supergraph_hookextra_execution_plugin→execution_hookextra_subgraph_plugin→subgraph_hookBy @SimonSapin in #1579
RequestandResponsetypes fromapollo_router::http_extare private (Issue #1589)These types were wrappers around the
RequestandResponsetypes from thehttpcrate.Now the latter are used directly instead.
By @SimonSapin in #1589
Changes to
IntoHeaderNameandIntoHeaderValue(PR #1607)apollo_router::http_exttoapollo_router::servicesTryIntoHeaderNameandTryIntoHeaderValueFrom<T: Display>conversion with multiple specific conversionsthat are implemented by
http::headers::Header{Name,Value}.By @SimonSapin in #1607
QueryPlan::usage_reportingandQueryPlannerContentare private (Issue #1556)These items have been removed from the public API of
apollo_router::services::execution.By @SimonSapin in #1568
Insert the full target triplet in the package name, and prefix with
v(Issue #1385)The release tarballs now contain the full target triplet in their name along with a
vprefix to be consistent with our other packaging techniques (e.g., Rover).For example:
router-0.16.0-x86_64-linux.tar.gzbecomesrouter-v0.16.0-x86_64-unknown-linux-gnu.tar.gzrouter-0.16.0-x86_64-macos.tar.gzbecomesrouter-v0.16.0-x86_64-apple-darwin.tar.gzrouter-0.16.0-x86_64-windows.tar.gzbecomesrouter-v0.16.0-x86_64-pc-windows-msvc.tar.gzBy @abernix and @Geal in #1433 (which re-lands work done in #1393)
Many structs and enums are now
#[non_exhaustive](Issue #1550)This means we may adjust
structfields orenumvariants in additive ways in the future without breaking changes. To prepare for that eventuality:use
..to allow further fields:match error { ApolloRouterError::StartupError => "StartupError", ApolloRouterError::HttpServerLifecycleError => "HttpServerLifecycleError", ApolloRouterError::NoConfiguration => "NoConfiguration", ApolloRouterError::NoSchema => "NoSchema", ApolloRouterError::ServiceCreationError(_) => "ServiceCreationError", ApolloRouterError::ServerCreationError(_) => "ServerCreationError", + _ => "other error", }By @SimonSapin in #1614
Some error enums or variants were removed (Issue #81)
They were not used anymore in the public API (or at all).
By @SimonSapin in #1621
🚀 Features
Instrument the rhai plugin with a tracing span (PR #1598)
If you have an active rhai script in your router, you will now see a "rhai plugin" span in tracing.
By @garypen in #1598
🐛 Fixes
Only send one report for a response with deferred responses (PR #1576)
The router was sending one report per response (even deferred ones), while Studio was expecting one report for the entire
response. The router now sends one report which is inclusive of the latency of the entire operation.
By @Geal in #1576
Include formatted query plan when exposing the query plan (#1557)
Move the location of the
textfield when exposing the query plan and fill it with a formatted query plan.By @bnjjj in #1557
Change state machine log messages to
trace(#1578)We no longer show internal state machine log events at the
infolevel since they are unnecessary during normal operation. They are instead emitted at thetracelevel and can be enabled selectively using the--log traceflag.By @abernix in #1597
Formatting problem fix of scalar fields selected several times (PR #1583)
Fixed a bug where querying scalar fields several times would put
nulls instead of expected values.By @eole1712 in #1585
Fix typo on HTTP errors from subgraph (#1593)
Remove the closed parenthesis at the end of error messages resulting from HTTP errors from subgraphs.
By @nmoutschen in #1593
Only send one report for a response with deferred responses (PR #1596)
Deferred responses come as
multipart/mixedelements and are sent as individual HTTP response chunks. When a client receives one chunk,that chunk should contain the next delimiter. This gives the client the ability to start processing the response instead of waiting for the
next chunk just for the delimiter.
By @Geal in #1596
Patch
async-compressionto compress responses in streaming (PR #1604)The
async-compressioncrate is a dependency used for HTTP response compression. Its implementation accumulates the entire compressed response in memory before sending it. However, this created problems for@deferresponses since we want those responses to come as soon aspossible, rather than waiting until the entire total response has been received and compressed.
By @Geal in #1604
Queries with
@defermust have theaccept: multipart/mixedheader (PR #1610)Since deferred responses can come back as multipart responses, we must check that the client supports that
content-type.This will allow older clients to show a meaningful error message instead of a parsing error if the
@deferdirective isused but they don't support it.
By @Geal in #1610
🛠 Maintenance
Depend on published
router-bridge(PR #1613)The
router-bridgepackage is now published which means therouterrepository no longer depends on having Node.js installed to build.By @o0Ignition0o in #1613
Re-organize our release steps checklist (PR #1605)
We've got a lot of manual steps we need to do in order to release the Router binarys, but we can at least organize them meaningfuly for ourselves to follow! This is only a Router-team concern today!
By @abernix in #1605)