This beta release is now out of date. If you previously installed this release, you should reinstall and see what's changed in the latest release.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This alpha is not intended for regular use, except for use with the Apollo VS Code extension.
Avoid misleading warning when --output is not specified - @glasser #2100
In the release of v0.26.1 logic was added to disable the output flag if the Federation version was less than 2.9, however this was being printed even when the --output flag was not supplied. This has been corrected.
Improve --graph-ref option - @glasser #2101
In the release of v0.26.0 the --graph-ref option was added to supergraph compose as well as rover dev. However, the behaviour when --graph-ref was used in conjunction with --config did not work as documented. This is now fixed. Furthermore, both rover dev and supergraph compose, when using only the --graph-ref option, respect the graph ref's Federation version.
Further improve --graph-ref option - @glasser #2105
Improves on the above by fixing some corner cases that prevented #2101 from working as intended
eslint to v9.10.0 - @jonathanrainer #2106concurrently to v9.0.0 - @jonathanrainer #2108manylinux CI Docker Image to v2024.09.09 - @jonathanrainer #2110tower for use with HTTP/GraphQL clients - @dotdat #2067This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
Respect the use of --output flag in the supergraph binary - @aaronArinder PR #2045
In testing to attempt to reduce the runtime of supergraph compose we noticed that a very large proportion of the time spent (in the case of large supergraphs) was spent printing the result to stdout. With this change we add an --output flag to the supergraph binary which means this time can be reduced significantly, leading to much faster compositions.
Add --license flag to rover dev - @loshz PR #2078
Adds the ability to pass along an offline enterprise licence to the router when running rover dev
Remove Rayon and reduce usage of Crossbeam - @jonathanrainer PR #2081
Now that rover has transitioned to using an asynchronous runtime we don't need to use Rayon any more. This also resolves a bug whereby rover dev could lock up if passed a supergraph.yaml file with lots of subgraphs in.
Introduce new print macros - @loshz PR #2090
Adds three new macros to the codebase so that we can still visually distinguish between INFO, WARNING and ERROR log lines without the use of emoji
Use new print macros in place of emoji - @loshz PR #2096
Updates the locations that previously used emoji to utilise the new macros defined in the previous PR
Stop Windows Installer failing if whitespace is accidentally passed to the rover install command - @jonathanrainer PR #1975
In some situations it was possible for whitespace to be passed to the rover install command which then caused the installer to fail. A guard has now been added to strip whitespace out before it is passed to the install command.
Move CI to using newly create Ubuntu images - @jonathanrainer PR #2080
CircleCI is removing support for older Ubuntu machine images, this brings us up to date but does not change any of our glibc support etc.
Add check for aarch-64-unknown-linux-musl to installers - @loshz PR #2079
Update node.js packages - @jonathanrainer PR #2070
Includes eslint to v9.9.1 and node to 20.17.0
Update node CircleCI orb to v5.3.0 - @jonathanrainer PR #2071
Update apollographql/federation-rs to v2.9.0 - @jonathanrainer PR #1983
Update apollographql/router to v1.52.1 - @jonathanrainer PR #2077
Update node Docker Image to v20.17.0 - @jonathanrainer PR #2072
Update apollographql/router to v1.53.0 - @jonathanrainer PR #2084
Update npm to v10.8.3 - @jonathanrainer PR #2091
Update slackapi/slack-github-action to v1.27.0 - @jonathanrainer PR #2092
Update node CircleCI orb to v6.1.0 - @jonathanrainer PR #2093
Fix some bugs in the smoke tests - @jonathanrainer PR #2094
cloud config docs - @loshz PR #2066This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This RC focusses on fix to stop rover dev exhausting threads when run with lots of subgraphs, so testing for this RC should focus on those areas, other smaller updates like dependency bumps are also here but those should have very little impact.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
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 #2037This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
Testing for this release candidate should focus on operations that query multiple subgraphs as the change made here should produce better performance in those operations.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
This beta release is now out of date. If you previously installed this release, you should reinstall and see what's changed in the latest release.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
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 #1945This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
The main feature of the release candidate is the new rover dev with graphref feature - #1984. Testing effort should focus here.
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
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
--no-url shorthand to subgraph publish - @lennyburdette PR
https://github.com/apollographql/rover/pull/1809This is slightly more convenient and less awkward than --routing-url --allow-invalid-routing-url
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.
rayon threadpools and not the global threadpool - @garypen PR https://github.com/apollographql/rover/pull/1872This increases rover's reliability by executing independent tasks in different thread pools.
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.
proposalCoverage in addition to severityLevel to build correct proposal check messaging - @swcollard PR https://github.com/apollographql/rover/pull/1845This updates the message on proposal checks depending on the proposalCoverage field
The vulnerability didn't affect rover, but now you won't get a warning for it!
Update dev docs about which Router version is used - @smyrick PR https://github.com/apollographql/rover/pull/1822
Update warning about federation_version in rover compose - @smyrick, @Meschreiber PR https://github.com/apollographql/rover/pull/1806
Document how to use subgraph fetch with proposals - @Meschreiber PR https://github.com/apollographql/rover/pull/1823
To install this specific version of Rover:
# Note the `v` prefixing the version number
curl -sSL https://rover.apollo.dev/nix/v0.23.0-rc.3 | sh
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
To install this specific version of Rover:
# Note the `v` prefixing the version number
curl -sSL https://rover.apollo.dev/nix/v0.23.0-rc.2 | sh
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
To install this specific version of Rover:
# Note the `v` prefixing the version number
curl -sSL https://rover.apollo.dev/nix/v0.23.0-rc.1 | sh
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.
To install this specific version of Rover:
# Note the `v` prefixing the version number
curl -sSL https://rover.apollo.dev/nix/v0.23.0-rc.0 | sh
<!-- changelog -->
This release was automatically created by CircleCI.
If you would like to verify that the binary you have downloaded was built from the source code in this repository, you can compute a checksum of the zipped tarball and compare it to the checksums that are included as release artifacts.
Binaries built for MacOS are signed, notarized, and automatically verified with Gatekeeper.