Skip to content

Releases: apollographql/rover

v0.9.2-rc.0

30 Sep 21:36
Compare
Choose a tag to compare
v0.9.2-rc.0 Pre-release
Pre-release

This release is essentially the same as v0.9.1, except for a few things:

  1. This release bumps the router used in rover dev to v1.1.0 by default.
  2. 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, the supergraph and router 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 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

30 Sep 20:34
0dbeb68
Compare
Choose a tag to compare

🚀 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, #1342

    If something went wrong while starting the first rover dev process, it would attempt to start an attached process, which would fail with an inscrutable the main rover dev session is no longer active error message. Now, Rover properly reports issues with starting up the first rover dev session.

  • Properly report plugin installation errors on rover dev startup - @EverlastingBugstopper, #1357

    If 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, #1340

    Some 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 #1349

    In 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 #1337

    Instead 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, #1344

    All 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

22 Sep 20:33
Compare
Choose a tag to compare

🚀 Features

  • rover template command suite - @dbanty, @michael-watson, @EverlastingBugstopper, #1287

    Two new commands have made their way to Rover: rover template list and rover template use. These commands provide a similar experience to create-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, #1190

    rover 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, #1285

    If Studio fails to recognize an API key and APOLLO_KEY is set, recommend unsetting the environment variable to use --profile default instead.

🐛 Fixes

🛠 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

19 Sep 21:57
Compare
Choose a tag to compare
v0.9.0-rc.1 Pre-release
Pre-release

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

  1. clone apollographql/supergraph-demo-products
  2. clone apollographql/supergraph-demo-pandas
  3. clone apollographql/supergraph-demo-users
  4. cd supergraph-demo-products && npm i && npm run start to start your subgraph server
  5. 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
  6. cd ../supergraph-demo-pandas && npm i && npm run start to start your subgraph server
  7. 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 the pandas subgraph through the graph router
  8. cd ../supergraph-demo-users && npm i && npm run start
  9. 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, the pandas subgraph, and the users subgraph through the graph router
  10. 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

16 Sep 19:15
Compare
Choose a tag to compare
v0.9.0-rc.0 Pre-release
Pre-release

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

14 Sep 00:04
Compare
Choose a tag to compare
v0.9.0-alpha.11 Pre-release
Pre-release

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

12 Sep 20:29
Compare
Choose a tag to compare
v0.9.0-alpha.10 Pre-release
Pre-release

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

08 Sep 22:27
Compare
Choose a tag to compare
v0.9.0-alpha.9 Pre-release
Pre-release

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

08 Sep 16:26
Compare
Choose a tag to compare
v0.9.0-alpha.8 Pre-release
Pre-release

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

06 Sep 18:04
4d42c2e
Compare
Choose a tag to compare

🚀 Features

  • Check commands exit with failure when downstream tasks fail - @sachindshinde, #1280

    Historically, rover graph check and rover 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 for rover 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 to introspect commands - @EverlastingBugstopper, #1207

    If you pass the --watch flag to rover graph introspect or rover 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 like jq.

🐛 Fixes

🛠 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.