Releases: apollographql/rover
v0.9.2-rc.0
This release is essentially the same as v0.9.1
, except for a few things:
- This release bumps the router used in
rover dev
tov1.1.0
by default. - The installation endpoints for this release will deliver pre-built binaries to unix ARM devices. This enables the following:
- You can now run
rover
without emulation on your M1/M2 machines. However, thesupergraph
androuter
plugins will still be emulated as we cannot yet cross-compile them, and CircleCI does not provide ARM-enabled MacOS runners. - You can now run
rover
in Docker containers on M1/M2 devices as well instead of needing to build it from source.
- You can now run
You can try this release out by running curl -sSL https://rover.apollo.dev/nix/v0.9.2-rc.0 | sh
on Unix devices, and iwr https://rover.apollo.dev/win/v0.9.2-rc.0 | iex
on Windows devices.
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.
v0.9.1
🚀 Features
-
Add templates for TypeScript, Go, Kotlin, and Java - @dbanty, #1347
The
rover template
commands now include four more languages.
🐛 Fixes
-
Properly report errors when the first
rover dev
process starts up - @EverlastingBugstopper, #1342If something went wrong while starting the first
rover dev
process, it would attempt to start an attached process, which would fail with an inscrutablethe main rover dev session is no longer active
error message. Now, Rover properly reports issues with starting up the firstrover dev
session. -
Properly report plugin installation errors on
rover dev
startup - @EverlastingBugstopper, #1357If a plugin failed to install when starting
rover dev
, the error wouldn't be reported properly. Now, if something goes wrong, the error message will be printed properly. -
Replace some misleading error suggestions regarding ports with
rover dev
- @EverlastingBugstopper, #1340Some errors suggested retrying the
rover dev
command with a different--port
argument, which doesn't exist. In these cases,rover dev
will suggest that you specify a different--supergraph-port
argument instead. -
Don't exclude certain git remotes from
GitContext
- @EverlastingBugstopper, #1350 fixes #1349In v0.8.2, we started normalizing git remotes for anonymized telemetry. Unfortunately we started excluding git remotes that were not one of BitBucket, GitLab, or GitHub. We now record all of these properly.
🛠 Maintenance
-
Fix typo in
rover subgraph publish
output - @EverlastingBugstopper, #1358 fixes #1337Instead of saying "Monitor your schema delivery progresson studio",
rover subgraph publish
outputs "You can monitor this launch in Apollo Studio". -
Improve caching in CI - @EverlastingBugstopper, #1351 and #1352
In CI builds, we now cache
/target
and~/.cargo
, instead of just/target
. -
Specify all dependencies in root
Cargo.toml
- @EverlastingBugstopper, #1344All of Rover's dependencies can now be viewed and updated in the root
Cargo.toml
, rather than needing to hunt around the workspace to update crates. -
Updates dependencies - @EverlastingBugstopper, #1346
- assert_cmd 1 -> 2
- git2 0.14 -> 0.15
- online 3.0.1 -> 4.0.0
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.
v0.9.0
🚀 Features
-
rover template
command suite - @dbanty, @michael-watson, @EverlastingBugstopper, #1287Two new commands have made their way to Rover:
rover template list
androver template use
. These commands provide a similar experience tocreate-react-app
, and allow you to extract GraphQL project templates to your local machine. Check out the docs for more on this new functionality. -
rover dev
to facilitate developing a supergraph on your local machine - @EverlastingBugstopper, #1190rover dev
allows you to join multiple running subgraph servers together into a local supergraph, providing the ability to run queries and inspect query plans with Apollo Sandbox. Check out the docs for more on this new functionality. -
If E013 is thrown and
$APOLLO_KEY
is set, give a more helpful suggestion - @ptondereau, #1284, #1285If Studio fails to recognize an API key and
APOLLO_KEY
is set, recommend unsetting the environment variable to use--profile default
instead.
🐛 Fixes
- Remove useless stdout line for composition results - @ptondereau, #1124, #1291
🛠 Maintenance
-
Link directly to API Keys page in Studio - @abernix, #1202
The
rover config auth
command will now provide a link that takes you directly to the "API Keys" page where you can create a Personal API Key, rather than a page that requires you to click through to another page. -
Prefer "supergraph schema" terminology to "gateway" - @EverlastingBugstopper, #1239, #1332
rover subgraph publish
now refers to updating the "supergraph schema" as opposed to updating the "gateway," since supergraph schema consumers can be routers and/or gateways now.
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.
v0.9.0-rc.1
testing instructions
This release candidate includes rover dev
which allows you to develop a supergraph on your local machine.
help text
$ rover dev --help
rover-dev
Run your supergraph locally with a router and one or more subgraphs.
The first `rover dev` process you run starts a dev instance of the Apollo Router and connects it to
the running subgraph you specify. You can then run additional instances of `rover dev` to add more
subgraphs to your local supergraph (the same router instance is used). As you add subgraphs, `rover
dev` automatically composes all subgraph schemas into a new supergraph schema for the router.
The router instance is tied to the *first* `rover dev` process. If you terminate that process, the
router terminates. If you terminate a `rover dev` process *besides* the first process (thereby
removing a subgraph), a new supergraph schema is composed from the remaining subgraphs.
⚠️ Do not run this command in production! ⚠️ It is intended for local development.
USAGE:
rover dev [OPTIONS]
OPTIONS:
--name <SUBGRAPH_NAME>
The name of the subgraph.
This must be unique to each `rover dev` session.
-p, --supergraph-port <SUPERGRAPH_PORT>
The port the graph router should listen on.
If you start multiple `rover dev` sessions on the same port, they will communicate with
each other.
If you start multiple `rover dev` sessions with different ports, they will not
communicate with each other.
[default: 3000]
--supergraph-address <SUPERGRAPH_ADDRESS>
The address the graph router should listen on.
If you start multiple `rover dev` sessions on the same address and port, they will
communicate with each other.
[default: 127.0.0.1]
-s, --schema <SUBGRAPH_SCHEMA_PATH>
The path to a GraphQL schema file that `rover dev` will use as this subgraph's schema.
If this argument is passed, `rover dev` does not periodically introspect the running
subgraph to obtain its schema. Instead, it watches the file at the provided path and
recomposes the supergraph schema whenever changes occur.
-u, --url <SUBGRAPH_URL>
The URL that the `rover dev` router should use to communicate with this running subgraph
(e.g., http://localhost:3000).
This must be unique to each `rover dev` session and cannot be the same endpoint used by
the graph router, which are specified by the `--port` argument.
Installation
Linux/MacOS/WSL
Run the following command:
curl -sSL https://rover.apollo.dev/nix/v0.9.0-rc.1 | sh
Windows
Run the following command
iwr https://rover.apollo.dev/win/v0.9.0-rc.1 | iex
Run rover --version
and make sure that the version is equal to v0.9.0-rc.1
. If it is not, you should run npm uninstall -g @apollo/rover
, and try rover --version
again.
Usage
pre-made demo
- clone apollographql/supergraph-demo-products
- clone apollographql/supergraph-demo-pandas
- clone apollographql/supergraph-demo-users
cd supergraph-demo-products && npm i && npm run start
to start your subgraph server- open a new terminal and run
rover dev
- you should be prompted for the subgraph name and to watch the schema, just press enter twice to accept
- you may also be prompted to accept the ELv2 license - you will only have to accept that one time
- enter the subgraph URL that was output in the other terminal
- you should see that composition succeeded and that the router is now running!
- navigate to http://localhost:3000 in your browser to make queries against the
products
subgraph through the graph router
cd ../supergraph-demo-pandas && npm i && npm run start
to start your subgraph server- open a new terminal and run
rover dev
- you should be prompted for the subgraph name and to watch the schema, just press enter twice to accept
- enter the subgraph URL that was output in the other terminal
- you should see messages saying the other
rover dev
session was notified of the new schema, and the other terminal should re-compose and reload the router - navigate to http://localhost:3000 in your browser to make queries against the
products
subgraph and thepandas
subgraph through the graph router
cd ../supergraph-demo-users && npm i && npm run start
- open a new terminal and run
rover dev
- you should be prompted for the subgraph name and to watch the schema, just press enter twice to accept
- enter the subgraph URL that was output in the other terminal
- you should see messages saying the other
rover dev
session was notified of the new schema, and the other terminal should re-compose and reload the router - navigate to http://localhost:3000 in your browser to make queries against the
products
subgraph, thepandas
subgraph, and theusers
subgraph through the graph router
- you can now make changes to the source code of any of these subgraphs and the supergraph will recompose if/when the schema for a subgraph changes.
nodemon
takes care of reloading the subgraphs themselves if only logic has changed and the schema is the same.
your own subgraphs
cd
into multiple subgraph directories, start the subgraph server, and run rover dev
for each of them, one by one, and follow the prompts. you should be able to see a locally running router after your first subgraph, and it should reload with changes when you add/remove/edit other subgraphs.
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.
v0.9.0-rc.0
please see the latest release candidate
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.
v0.9.0-alpha.11
please see the latest release candidate
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.
v0.9.0-alpha.10
please see the latest release candidate
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.
v0.9.0-alpha.9
please see the latest release candidate
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.
v0.9.0-alpha.8
please see the latest release candidate
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.
v0.8.2
🚀 Features
-
Check commands exit with failure when downstream tasks fail - @sachindshinde, #1280
Historically,
rover graph check
androver subgraph check
have aggregated errors for operation checks and/or composition checks. Checks are expanding in Studio and will continue to expand over time, starting with downstream contract checks forrover subgraph check
. When these tasks fail, Rover will throw an error and link to the checks page in Studio which will contiain more information on the exact failure. -
Detect improper VS Code API key pastes on Windows - @EverlastingBugstopper, #1026, 1268
We have added new error messages and recovery suggestions for malformed API keys caused by invalid copy+pastes in VS Code on Windows.
-
Adds
--watch
tointrospect
commands - @EverlastingBugstopper, #1207If you pass the
--watch
flag torover graph introspect
orrover subgraph introspect
, the GraphQL server will be introspected once every second, printing updates to the terminal as the introspection response changes. This could be used to bootstrap development workflows when combined with--output json
and a tool likejq
.
🐛 Fixes
-
Trim double quotes in multilingual descriptions - @lrlna, #1245 fixes #1244 and #1114
rover graph introspect
no longer crashes if a field description contains cyrillic symbols. -
Fix link to ELv2 license information - @EverlastingBugstopper, #1262 fixes #1261
🛠 Maintenance
-
Link directly to API Keys page in Studio - @abernix, #1202
The
rover config auth
command will now provide a link that takes you directly to the "API Keys" page where you can create a Personal API Key, rather than a page that requires you to click through to another page. -
Skip Apollo Studio integration tests for fork PRs - @EverlastingBugstopper, #Issue #, 1216
Our CI pipeline skips Apollo Studio integration tests for forked repositories because they don't have access to the Apollo Studio organization that we use to run them.
-
Updates MacOS CI pipeline to use xcode 13.4 - @EverlastingBugstopper, #1211
-
Normalize git remote URLs for anonymized telemetry - @EverlastingBugstopper, #1279
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.