apollo-codegen-flow-legacy
Advanced tools
Changelog
[0.26.0] - 2024-08-21
Important: 1 potentially breaking changes below, indicated by ❗ BREAKING ❗
The --client-timeout flag now represents the period over which we allow retries - @aaronArinder PR #2019
The documentation for this flag indicated that this was the period over which Rover would retry a command if there were retryable HTTP errors. However, this was not the case due to complexities in how the client was instantiated. This has now been corrected, so the documented behaviour matches the actual behaviour.
Make rover
operate asynchronously - @aaronArinder @Geal PR #2035
Removes the use of the reqwest
blocking client allowing rover
to operate using an asynchronous tokio
runtime. This will bring performance improvements, particularly where working with large sets of subgraphs.
Add --graph-ref
to supergraph compose
- @jonathanrainer PR #2001
Adds the same capabilities to supergraph compose
as were added to rover dev
in 0.25.0. You can now specify an existing Studio graphref and the command will run composition over the subgraphs specified in the graphref, as well as any overrides specified in a given supergraph config.
Add new rover cloud
command - @loshz PR #2008
Adds a new command to allow you to push or pull the Router config to a Cloud Router that is running in Studio
Add new rover cloud config validate
subcommand - @loshz PR #2055
Adds a new command enabling you to validate the Router config for a Cloud Router
Don't run IsFederatedGraph before running SubgraphFetchQuery - @glasser PR #2004
Previously we were checking IsFederatedGraph before running SubgraphFetch, but the same check is actually performed in SubgraphFetch anyway so the first call to IsFederatedSubgraph is unnecessary.
Allow --graph-ref
to support contract variants - @jonathanrainer PR #2036
There was a bug where using the graphref of a contract variant would cause an error about non-federated graphs. This has been resolved and now contract variant graphrefs can also be used.
Remove last reference to blocking reqwest
client - @loshz PR #2050
One reference to the blocking reqwest
client had been leftover from the move to async
operation in #2035, this was removed.
Ensure NPM installer on Windows works correctly - @jonathanrainer PR #2059
The NPM installer on Windows had been broken because it was attempt to rename a binary from rover
to its correct name, rather than from rover.exe
to its correct name. This has been corrected and extra CI and unit tests added to prevent a recurrence.
Make sure a message is returned to the user when cloud config is updated correctly - @loshz PR #2063
Fix a regression in rover dev
where it would no longer watch subgraphs correctly - @jonathanrainer PR #2065
Integrate the Smoke Tests Into Integration Test Framework To Allow Easier Extension - @jonathanrainer PR #1999
Add nicer names to GitHub actions workflow - @jonathanrainer PR #2002
Add test for subgraph introspect - @jonathanrainer PR #2003
Update node.js packages - @jonathanrainer PR #2006
Includes eslint
to v9.8.0 and node
to v20.16.0
Update Rust to v1.80.0 - @jonathanrainer PR #2007
Fix up CODEOWNERS to bring us inline with standard - @jonathanrainer PR #2016
Add E2E test for supergraph compose
- @aaronArinder PR #2005
Add E2E test for subgraph fetch
- @jonathanrainer PR #2015
Update Rust crates - @aaronArinder PR #2011
Includes apollo-parser
to v0.8 and octocrab
to v0.39.0
Update apollographql/router to v1.52.0 - @aaronArinder PR #2010
Add E2E test for supergraph compose
- @aaronArinder PR #2005
Rename a test and add a #[once]
macro to a fixture - @aaronArinder PR #2017
Add E2E tests for graph introspect
- @jonathanrainer PR #2020
Add missing inherit for secrets - @jonathanrainer PR #2021
Add E2E tests for whoami
- @jonathanrainer PR #2022
Update rstest to v0.22.0 - @jonathanrainer PR #2030
Add E2E tests for config clear
- @aaronArinder PR #2029
Add E2E tests for subgraph lint
- @aaronArinder PR #2023
Add E2E tests for subgraph publish
- @jonathanrainer PR #2031
Add E2E tests for graph fetch
- @aaronArinder PR #2026
Add E2E tests for supergraph fetch
- @aaronArinder PR #2024
Add E2E tests for subgraph list
- @aaronArinder PR #2027
Add E2E tests for graph check
and subgraph check
- @aaronArinder PR #2025
Add E2E tests for install plugin
- @aaronArinder PR #2028
Make E2E tests account for changes in #2019 - @jonathanrainer PR #2032
Deprecate the use of Emoji - @loshz PR #2034
Let E2E tests message Slack if there are nightly failures - @jonathanrainer PR #2033
Tighten up Slack Messaging for E2E tests - @jonathanrainer PR #2039
Update axios-mock-adapter
to v2.0.0 - @jonathanrainer PR #2043
Update derive-getters
to v0.5.0 - @jonathanrainer PR #2042
Update eslient
to v9.9.0 - @jonathanrainer PR #2041
Update Rust to v1.80.1 - @jonathanrainer PR #2040
Update axios to v1.7.4 - @jonathanrainer PR #2048
Update CODEONWERS - @aaronArinder PR #2052
Update termimad to v0.30.0 - @jonathanrainer PR #2054
Add step to fail workflow if matrix branch fails - @jonathanrainer PR #2044
Increase test coverage for operations/cloud/config - @loshz PR #2057
Update gh
CircleCI Orb to v2.4.0 - @jonathanrainer PR #2062
Update mockito
to v1.5.0 - @jonathanrainer PR #2061
Update dircpy
to v0.3.19 - @jonathanrainer PR #2060
--graph-ref
to supergraph compose docs - @jackonawalk PR #2037Changelog
[0.25.0] - 2024-07-22
Enable Retries For Transient Errors Connecting To Graphs/Subgraphs - @jonathanrainer PR #1936
This turns on retries at the HTTP level for connections to graphs/subgraphs to minimize connection resets and cancellations. Also, a new --subgraph-retries flag for rover dev lets you set the number of retries allowed when trying to re-establish a connection.
Add --graph-ref
flag to rover dev
- @dotdat PR #1984
Introduces subgraph mirroring to rover dev. Subgraph mirroring inherits the subgraph routing URLs and schemas from an existing Studio graphref. This makes it easy to spin up a locally running supergraph without maintaining a supergraph config. See here for more information.
Fixes issues related to passing filenames to --output
- @jonathanrainer PR #1996
An issue was raised whereby previous versions of Rover supported passing filenames to the --output
flag but this was
broken in v0.24.0. This has now been fixed and the previous functionality restored.
Expand Smoke Tests To Run On All Supported Platforms - @jonathanrainer PR #1980
Fix cron expression, so it runs only once per day - @jonathanrainer PR #1986
Ensure we always use the correct version of Federation when testing - @jonathanrainer PR #1987
Add manual Smoke test invocation and pin Windows to npm@9
for testing - @jonathanrainer PR #1989
Update apollographql/router to v1.51.0 - @jonathanrainer PR #1988
Update node.js packages - @jonathanrainer PR #1979
Includes @eslint/compat
to v1.1.1, eslint
to v9.7.0, node.js
to v20.15.1, npm
to v10.8.2 and prettier
to v3.3.3
Make sure x86 Mac Tests use 'latest' supergraph plugin version - @jonathanrainer PR #1990
Make sure homebrew runs brew update
when we use it - @jonathanrainer PR #1993
graph-ref
flag to dev subcommand docs - @jackonawalk PR #1945Changelog
[0.24.0] 2024-07-15
Important: 1 potentially breaking change below, indicated by ❗ BREAKING ❗
Removed the deprecated plain
and json
options for --output
- @dylan-apollo PR #1804
The --output
option is now only for specifying a file to write to. The --format
option should be used to specify the format of the output.
Return the name of the linting rule that is violated, as well as the code - @jonathanrainer PR #1907
Originally only the message from the linting violation was included in the response, but now it also includes the name of the specific linting rule to aid debugging
Use the Router's /health?ready
endpoint to check readiness - @nmoutschen PR #1939
Previously rover dev
used a simple query to establish readiness, but this did not allow for router customizations.
Adding architecture and OS metrics - @aaronArinder PR #1947
Allows us to track the Operating Systems and Architectures in use by our users, this will give us more information as to where to focus support efforts
Allow aarch64
macOS to pull correct supergraph
binaries where available - @jonathanrainer PR #1971
We recently started publishing supergraph
binaries for aarch64
, so if they are available Rover will use them in preference to x86_64 binaries.
Don't panic if the telemetry client cannot be initialised - @dylan-apollo PR #1897 - Issue #1893
Rename .cargo/config
to .cargo/config.toml
- @jonathanrainer PR #1921
Fix pnpm
installs by moving the binary download location - @jonathanrainer PR #1927 - Issue #1881
After we inlined the binary-install
dependency in v0.23.0 this changed where the downloaded binary was stored when using pnpm
. This caused users running the binary to enter an infinite loop. This moves the binary to a new location which avoids this.
Don't panic on file watcher errors - @nmoutschen PR #1935
Instead of panicking when errors occur watching files return those errors gracefully to the user.
Store binaries with version numbers attached so upgrades are possible - @jonathanrainer PR #1932 - Issue #1563
When downloading binaries via npm
they were always stored as rover
despite the version. As such, when a new version came out the upgrade would fail. This now doesn't happen, as binaries are stored with their versions number in the name.
Ensure correct URL is used if subgraph_url
and routing_url
are provided in a supergraph schema - @jonathanrainer PR #1948 - Issue #1782
Let --output
accept paths with missing intermediate directories - @jonathanrainer PR #1944 - Issue #1787
Allow rover dev
to read Federation Version from supergraph schema - @jonathanrainer PR #1950 - Issue #1735
The Federation version could be set in the supegraph schema but was being ignored by rover dev
. It now is taken into account, along with the overriding environment variable.
Stop .exe being printed after Federation version during composition - @jonathanrainer PR #1951 - Issue #1390
Reinstate support for glibc
2.17 - @jonathanrainer PR #1953
In resolving the issues with CentOS 7 we accidentally removed support for glibc
2.17, this has now been restored
Be more lenient about supergraph
binary versions - @dylan-apollo PR #1966
In resolving #1390, we were too restrictive in what counted as a valid version. This restores the correct behaviour
Set package.json
to a stable version when testing NPM Installers - @jonathanrainer PR #1967
When testing whether our NPM installers worked correctly we were trying to download the latest rover
binary. On release PRs, where the binary didn't yet exist, this was causing problems.
Fix mocking of calls to Orbiter in Installer tests - @jonathanrainer PR #1968
Remove noisy errors from intermediate composition states - @aaronArinder PR #1956
When rover dev
composes multiple subgraphs it does so one at a time. As such if there are dependencies there can be noisy ephemeral errors, this fixes that by waiting until all subgraphs are added before trying composition.
Update GitHub CircleCI Orb to v2.3.0 - @Geal PR #1831
Update plugins to Fed 2.7 and Router 1.43.0 - @smyrick PR #1877
Update CODEOWNERS - @dotdat PR #1890
Make Betelgeuse the primary owners of the Rover repository
Update lychee-lib to v0.15 - @dotdata PR #1902
Add tests and provide status codes as part of linter errors - @dotdat PR #1903
Add nix files to .gitignore - @aaronArinder PR #1908
Update apollographql/router to v1.47.0 - @aaronArinder PR #1841
Update apollographql/federation-rs to v2.7.8 - @aaronArinder PR #1746
Update node.js to v20 - @aaronArinder PR #1778
Update Rust to v1.76.0 and the Rust CircleCI Orb to v1.6.1 - @aaronArinder PR #1788
Update serial_test to v3 - @jonathanrainer PR #1836
Update which to v6 - @jonathanrainer PR #1835
Update apollographql/federation-rs to v2.8.0 - @aaronArinder PR #1909
Update tar to v6.2.1 - @aaronArinder PR #1888
Update tar to v7 - @aaronArinder PR #1914
Update node.js packages - @aaronArinder PR #1830
Includes eslint
to v8.57.0, node.js
to v20.14.0, nodemon
to v3.1.2, npm
to v10.8.1 and prettier
to v3.3.0
Update Rust to v1.78.0 - @aaronArinder PR #1912
Update apollographql/router to v1.48.0 - @aaronArinder PR #1917
Update zip to v2 - @jonathanrainer PR #1916
Update eslint to v9.4.0 - @dotdat PR #1913
Update hyper to v1.0 - @dotdat PR #1789
Add tests for socket names - @jonathanrainer PR #1918
In future dependency upgrades we want to ensure that behaviour around socket naming works as expected, so add a test to ensure that.
Update rust packages - @jonathanrainer PR #1755
Consolidates updates of pre-1.0 rust crates, check PR for full details of crates updated
Update notify to v6 - @jonathanrainer PR #1603
Include cargo-deny checks on PRs - @jonathanrainer PR #1910
Now we can check for licences that don't correspond to our allowed list and pick up on dependency issues live on PRs
Pin node.js dev dependencies - @aaronArinder PR #1923
Allow 0BSD licence - @aaronArinder PR #1924
Update interprocess to v2 - @dotdat PR #1915
Update apollographql/router to v1.48.1 - @dotdat PR #1926
Update Rust to v1.79.0 - @jonathanrainer PR #1931
Update git2 to v0.19 - @jonathanrainer PR #1930
Update node.js packages - @jonathanrainer PR #1929
Includes @eslint/compat
to v1.1.0, eslint
to v9.5.0, graphql
to v16.8.2 and prettier
to v3.3.2
Migrate CI to use manylinux rather than CentOS 7 - @jonathanrainer PR #1952
As CentOS 7 has now entered End-of-Life, migrate our CI to use a different Linux distribution.
Update apollographql/router to v1.49.1 - @jonathanrainer PR #1933
Update apollographql/federation-rs to v2.8.2 - @jonathanrainer PR #1934
Update node.js packages - @jonathanrainer PR #1940
Includes eslint
to v9.6.0, node.js
to v20.15.0, nodemon
to v3.1.4, graphql
to v16.9.0
Fix clippy warnings - @loshz PR #1955
Allow integration tests to accept a pre-compiled binary - @jonathanrainer PR #1957
Run macOS x86_64 integration tests in GitHub Actions - @nmoutschen PR #1958
Due to CircleCI's deprecation of x86_64 macOS executors use GitHub Actions to still run our tests on this architecture
Add smoke tests for rover dev
- @jonathanrainer PR #1961
Update apollographql/router to v1.50.0 - @jonathanrainer PR #1954
Trigger GitHub Actions from CircleCI - @nmoutschen PR #1959
Add docs team to CODEOWNERS - @aaronArinder PR #1965
Fix up Release CI and explicitly add tokio rt-multi-thread flag
- @jonathanrainer PR #1972
Add context to auth output when saving an API Key - @loshz PR #1974
Minor update to README.md - @tratzlaff PR #1880
Fixes use of numbered lists in the README.md
Remove failing/redundant links from docs - @dotdat PR #1894
Update docs style - @Meschreiber PR #1883
Update formatting and admonitions to most recent conventions.
Update frontmatter - @Meschreiber PR #1898
Updates title casing and adds metadata to subtitles
Clarify subgraph publish
can only create variants not graphs - @Meschreiber PR #1938
Make example using -
instead of filepath clearer - @aaronArinder PR #1963
Update Router terminology - @Meschreiber PR #1925
Update the uses of Apollo Router to GraphOS Router or Apollo Router Core where necessary
Update documentation to make it clear we collect CPU Architecture, per command - @aaronArinder PR #1964
Changelog
[0.23.0] - 2024-03-26
Add --no-url
shorthand to subgraph publish
- @lennyburdette PR #1809
This is slightly more convenient and less awkward than --routing-url "" --allow-invalid-routing-url
Support unix socket URLs - @geal PR #1879
Since its 1.43.0 release, the Router can now connect to subgraph over unix sockets. This removes a warning when publishing a schema with a unix://
URL.
Use task specific rayon
threadpools and not the global threadpool - @garypen PR #1872
This increases rover's reliability by executing independent tasks in different thread pools.
Prevent an infinite loop when restarting the router - @geal PR #1855
When restarting a Router on schema updates, it could happen that an internal task of Rover would go in an infinite loop and consume CPU needlessly. This is now fixed and should make rover dev
more reliable.
Use proposalCoverage`` in addition to
severityLevel`` to build correct proposal check messaging - @swcollard PR #1845
This updates the message on proposal checks depending on the proposalCoverage
field
Upgrade axios to address a security warning - @goto-bus-stop PR #1819
The vulnerability didn't affect rover, but now you won't get a warning for it!
Remove yanked online check - @dylan-apollo PR #1803
Update dev docs about which Router version is used - @smyrick PR #1822
Update warning about federation_version
in rover compose
- @smyrick, @Meschreiber PR #1806
Document how to use subgraph fetch
with proposals - @Meschreiber PR #1823
Changelog
[0.22.0] - 2023-12-13
Add offline license support - @BrynCooke PR #1796 - Issue #1793
Adds rover license fetch <graph_ref>
Output:
rover license fetch --graph-id starstuff --profile gh
Fetching license for starstuff using credentials from the gh profile.
Success!
<redacted jwt>
Handle new rate limit error - @bnjjj #1798
Update the GraphQL schema and handle the new rate limit error.
First trial use of a generator (Scaffolding code for creating a new verb for an existing noun/command) - @tapegram PR #1786
First try at taking the instructions from the readme on how to scaffold a new verb on an existing command and added plop tooling to be able to generate the scaffolding automatically.
npx plop
This is an initial exploratory PR. Later PRs will build this into the dev tooling and expand on the functionality (if we don't decide to remove it)
Move Validating client ops to Apollo CLI section - @Meschreiber #1783
This PR moves Validating client operations into the Rover > Apollo CLI section.
Use shared content component for GH action instructions - @Meschreiber #1780
This PR replaces some text with a new shared content component containing that text.
Remove note on restricted supergraph.yml expansion - @dylan-apollo #1779 - issue #1629
supergraph.yaml
files now supports environment variable expansion everywhere, not just in introspection headers.