v0.24.0
❗ BREAKING ❗
-
Removed the deprecated
plainandjsonoptions for--output- @dylan-apollo PR #1804The
--outputoption is now only for specifying a file to write to. The--formatoption should be used to specify the format of the output.
🚀 Features
-
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?readyendpoint to check readiness - @nmoutschen PR #1939Previously
rover devused 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
aarch64macOS to pull correctsupergraphbinaries where available - @jonathanrainer PR #1971We recently started publishing
supergraphbinaries foraarch64, so if they are available Rover will use them in preference to x86_64 binaries.
🐛 Fixes
-
Don't panic if the telemetry client cannot be initialised - @dylan-apollo PR #1897 - Issue #1893
-
Rename
.cargo/configto.cargo/config.toml- @jonathanrainer PR #1921 -
Fix
pnpminstalls by moving the binary download location - @jonathanrainer PR #1927 - Issue #1881After we inlined the
binary-installdependency in v0.23.0 this changed where the downloaded binary was stored when usingpnpm. 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
npmthey were always stored asroverdespite 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_urlandrouting_urlare provided in a supergraph schema - @jonathanrainer PR #1948 - Issue #1782 -
Let
--outputaccept paths with missing intermediate directories - @jonathanrainer PR #1944 - Issue #1787 -
Allow
rover devto read Federation Version from supergraph schema - @jonathanrainer PR #1950 - Issue #1735The 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
glibc2.17 - @jonathanrainer PR #1953In resolving the issues with CentOS 7 we accidentally removed support for
glibc2.17, this has now been restored -
Be more lenient about
supergraphbinary versions - @dylan-apollo PR #1966In resolving #1390, we were too restrictive in what counted as a valid version. This restores the correct behaviour
-
Set
package.jsonto a stable version when testing NPM Installers - @jonathanrainer PR #1967When testing whether our NPM installers worked correctly we were trying to download the latest
roverbinary. 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 devcomposes 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.
🛠 Maintenance
-
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
-
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
eslintto v8.57.0,node.jsto v20.14.0,nodemonto v3.1.2,npmto v10.8.1 andprettierto 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
-
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 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/compatto v1.1.0,eslintto v9.5.0,graphqlto v16.8.2 andprettierto 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
eslintto v9.6.0,node.jsto v20.15.0,nodemonto v3.1.4,graphqlto v16.9.0 -
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
📚 Documentation
-
Minor update to README.md - @tratzlaff PR #1880
Fixes use of numbered lists in the README.md
-
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 publishcan 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