Skip to content

Releases: apollographql/rover

v0.1.2

20 May 20:22
acc6775
Compare
Choose a tag to compare

πŸ› Fixes

  • Fix unusable rover subgraph check - EverlastingBugstopper, issue/553 pull/555

    Rover v0.1.1 had a regression that didn't allow rover subgraph check to be run on federated graphs due to a logic error. Thanks to @setchy for reporting this so quickly!


This release was automatically created by Github Actions.

If you would like to verify that the binary you have downloaded was built from the source code
in this repository, you can compare the output of the commands below to the output of the same
commands on your machine.

MacOS

Binaries built for MacOS are signed and notarized, and are automatically verified with Gatekeeper.

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1
e7b6958ab93e2af3db0df042de0c6f0ee29224497c054fb617e3ef19498257ae

GNU Linux

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1

MUSL Linux

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1

Windows

Manual Verification:

PS> Get-Command rover

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     rover.exe                                          0.0.0.0    C:\Users\username\.rover\bin\rover.exe

PS> Get-FileHash C:\Users\username\.rover\bin\rover.exe

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          14aaa45f36f704d689a8d57008d7fb33ea399b94fc70d84cd342ef6f9a76d766       C:\Users\username\.rover\bin\rover.exe

v0.1.1

19 May 21:28
2260783
Compare
Choose a tag to compare

πŸš€ Features

  • Prebuilt binaries for Alpine Linux - EverlastingBugstopper, issue/537 pull/538

    Previously, Rover was only built for systems that had glibc >= 2.18 installed. This was due to the fact that we embed v8 into the binaries to execute the JS-powered rover supergraph compose command.

    Our CI pipeline now produces a statically-linked binary compiled with musl-libc that does not include rover supergraph compose. Our installers will check if you have a compatible version of glibc, and if you do not, it will download the new statically linked binary and warn you that it is missing some functionality.

    We hope to bring rover supergraph compose to Alpine in the future, though how soon that future will come is not yet known.

πŸ› Fixes

  • No longer panic on mistyped graph names/invalid API keys - EverlastingBugstopper, issue/548 & issue/550 pull/549

    We received some user reports of Rover crashing if a graph name or API key was invalid. In these cases, you will now receive an actionable error message.


This release was automatically created by Github Actions.

If you would like to verify that the binary you have downloaded was built from the source code
in this repository, you can compare the output of the commands below to the output of the same
commands on your machine.

MacOS

Binaries built for MacOS are signed and notarized, and are automatically verified with Gatekeeper.

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1
f54d9cb8fe06e3474ca3ad8334ece1a6f82c24706d224a8c108a2860e34a2ea6

GNU Linux

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1

MUSL Linux

Manual Verification:

$ sha256sum -b $(which rover) | cut -d ' ' -f1

Windows

Manual Verification:

PS> Get-Command rover

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     rover.exe                                          0.0.0.0    C:\Users\username\.rover\bin\rover.exe

PS> Get-FileHash C:\Users\username\.rover\bin\rover.exe

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          a07b2ca2b4a28d87b37a6bcd9df98e48fc924aabc3c3143b76ed500229842991       C:\Users\username\.rover\bin\rover.exe

v0.1.0

11 May 17:07
3929324
Compare
Choose a tag to compare

Important: 2 breaking changes below, indicated by ❗ BREAKING ❗

❗ BREAKING ❗

  • Removes -V/--version flag from subcommands - EverlastingBugstopper, pull/487

    Rover's subcommands will always be the same version as Rover, so we no longer accept -V or --version
    on Rover's subcommands.

  • Disallow all non-UTF-8 argument values - EverlastingBugstopper, pull/487

    Rover will no longer accept any argument values that cannot be properly interpreted as UTF-8.

πŸš€ Features

  • rover supergraph fetch - EverlastingBugstopper, issue/452 pull/485

    This new command allows you to fetch the latest successfully composed supergraph SDL. This can be used to bootstrap a local graph router, or to inspect the schema that is used in managed federation.

  • Adds link to the Apollo CLI -> Rover migration guide in rover docs open - EverlastingBugstopper, pull/492

  • rover supergraph compose allows for registry and introspection SDL sources - lrlna, issue/449 pull/519

    Pulls subgraphs from various sources specified in the YAML config file. A valid config can now specify schema using Apollo Registry refs (subgraph, graphref), local file references (file) and subgraph introspection (subgraph_url):

    subgraphs:
      films:
        routing_url: https://films.example.com
        schema: 
          file: ./films.graphql
      people:
        routing_url: https://example.com/people
        schema: 
          subgraph_url: https://example.com/people
      actors:
        routing_url: https://localhost:4005
        schema: 
          graphref: mygraph@current 
          subgraph: actors 
  • --routing-url is now an optional argument to rover subgraph publish - EverlastingBusgtopper, issue/169 pull/484

    When publishing a subgraph, it is important to include a routing URL for that subgraph, so your graph router
    knows where to route requests for types in a subgraph. Previously, you had to specify this argument on
    every rover subgraph publish, but now it acts as an upsert, meaning you must include it on your first
    rover subgraph publish, but subsequent publishes will retain the existing routing URL for a subgraph
    if --routing-url is not specified.

  • rover explain command added - JakeDawkins, pull/457

    When encountering most errors in Rover, there will be an error code in the format
    E### printed along with the error description. Running rover explain CODE
    will now print a more detailed description of the error along with any
    resolution steps and relevant docs links.

  • Better error messages for HTTP errors - EverlastingBugstopper, [issue/489] [pull/518]

    Previously, Rover obfuscated the information about HTTP errors that occurred. Now, if something goes wrong between your machine and any HTTP server, you'll get some more information about what exactly went wrong.

  • Add help text to --log argument - EverlastingBugstopper, pull/486

  • Updated descriptor formatting - lrlna, pull/533

    We've added some bold and extra newline spacing to the human-readable descriptors for Rover's output.

  • Trim down log verbosity - EverlastingBugstopper, pull/532

  • Display "unspecified" in rover subgraph list output instead of "N/A" - abernix, issue/483 pull/505

  • Adds rover docs open migration - EverlastingBugstopper, pull/503

    There is a new migration guide from the old Apollo CLI to Rover, and this command will open that page for you.

πŸ› Fixes

πŸ›  Maintenance

  • Removes unnecessary custom URL parser - EverlastingBugstopper, pull/493

    structopt will automatically use the FromStr implementation on the Url type, so
    we have removed the custom parser we were previously using.

  • Check for broken markdown links in CI - EverlastingBugstopper, issue/444 pull/460

    Occasionally links get out of date (or they were mistyped in the first place) - we want to
    make sure links in this repository remain functional, so we now check for broken markdown
    links in our CI jobs that run on each push.

  • Addresses clippy 1.52 warnings - EverlastingBugstopper, pull/515

  • Fix credential retrieval in rover config whoami - EverlastingBugstopper, issue/514 pull/516

    rover config whoami no longer fails if $APOLLO_KEY is set but there is no default authentication profile.

  • Point users towards issue templates instead of blank new issue page - EverlastingBugstopper, pull/509

πŸ“š Documentation


This release was automatically created by [Github Actions](./.github/wor...

Read more

v0.0.10

27 Apr 18:23
3522be8
Compare
Choose a tag to compare

πŸš€ Features

  • Prints information about opting out of anonymized usage data collection after installation - EverlastingBugstopper, pull/456

  • Report SHA-256 hash of git remote URL - EverlastingBugstopper, issue/313 pull/461

    Our anonymized usage data will now report the hash of a git remote URL if it exists to more accurately determine the number of unique projects Rover is used in.

  • Client returns an error on non-200 status codes - EverlastingBugstopper, pull/472

    Sometimes when performing HTTP requests, a non-200 status code is returned. This is now properly handled, and Rover's HTTP client will return a proper error message informing you of the bad response.

πŸ› Fixes

  • Adds a newline to all output to stdout - EverlastingBugstopper, issue/458 pull/462

    Rover no longer has the bug where it wouldn't conclude its output with a newline. Now we don't make your shells upset!

πŸ›  Maintenance

πŸ“š Documentation


SHA256 of release binaries for validation:

  • Linux: 679908058d1c352218ed4850f562bde1f64d6bb8ddb39d182469f8274a5a9ce7
  • Windows: 1b1b750aa28ded5e7bf1900343a9bdc3021fc2b0ec65865058e1f5b6084d5cb2
  • MacOS: 2bab6f2cc7d41bb881564cbd1eef72c22cec2f84c030298d6bb343b7c3128f52

v0.0.9

13 Apr 20:48
6e1c632
Compare
Choose a tag to compare

This release is a small release to fix the automated release process, and should be considered an extension of the previous (v0.0.8) release

πŸ›  Maintenance

  • Fix boolean logic in release action - EverlastingBugstopper, pull/442

    0.0.8 was released to npm as a beta by accident because of an environment variable being treated as a boolean when it's a string. This just fixes that for a new release.


SHA256 of release binaries for validation:

  • Linux: d5cdc0ff48b2c4b886e33e85b66627af31c247074393e9055fc22f40cdd3aa3d
  • Windows: 55a333a62c9295a409008b5258c91b57050b541b259bdc76bbb5ef77f6f8caa3
  • MacOS: e49f88721aec929ecf1a850e01b1460c3e987d4589faca85edf29d0bd79943ee

v0.0.8

13 Apr 18:58
7fc436a
Compare
Choose a tag to compare

[0.0.8] - 2021-04-13

πŸš€ Features

πŸ› Fixes

  • Deserialize supergraph configuration to a deterministic data structure - lrlna, issue/422 pull/423

    Previously, when Rover deserialized a supergraph configuration file, it did so using a HashMap.
    This made the results of rover supergraph compose non-deterministic, which was undesirable.
    By switching from a HashMap to a BTreeMap, rover supergraph compose is now deterministic.

πŸ›  Maintenance

  • Update telemetry URL - JakeDawkins, pull/427

    Telemetry is now routed through a Netlify function instead of a Cloudflare Worker.

πŸ“š Documentation

  • Add Apollo CLI to Rover migration guide - JakeDawkins, issue/284 pull/425

    Rover now has a migration guide for users coming from the Apollo CLI. You can see it here.


SHA256 of release binaries for validation:

  • Linux: 37718d579fa1a168924e46ab4f1a814a4fc4a85e7965b1515a90f48d189286e4
  • Windows: 1e8fea7bbc32df1a8d5e496ceef9a7dbb452865e710c67f4e667e30164efb87e
  • MacOS: 2b72c6603638ef28fc691b0a61c8147bd6d850811e25a54deb39c8cb56b63d52

v0.0.7

01 Apr 19:16
777bcf2
Compare
Choose a tag to compare

πŸ› Fixes

  • Updates URL base in Core Schema output to specs.apollo.dev - abernix, pull/418

πŸ“š Documentation


SHA256 of release binaries for validation:

  • Linux: c20c85690fa861100db23f6d230ffd5ebfbf1613d8cc027ce0417d237901a506
  • Windows: b08f2d60d7865fc630761e5c41b8bdb472dceff4b7f85dc649ed39df5e29fc85
  • MacOS: b03c5862b14cea59cbf66c676ce5b5f8e5e759335824acd213c26eda55ae477a

v0.0.6

31 Mar 17:26
f831751
Compare
Choose a tag to compare

πŸš€ Features

πŸ› Fixes

  • Change 'CSDL' to 'Core Schema' - lrlna, pull/403

    Output of rover supergraph compose is a Core Schema. Our output
    previously indicated that it was a CSDL.

  • Remove Rover binary before overwriting it - EverlastingBugstopper, issue/398 pull/400

    Updating Rover with curl required a restart on MacOS due to Apple's
    Gatekeeper not recognizing that a new package has been installed on a
    user's system. This forces the installer to remove previously Rover
    directory and its installation and do a fresh installation.

  • Adds entitlements to MacOS signed binaries - EverlastingBugstopper, issue/399 pull/405

    rover supergraph compose process has been getting killed on MacOS in
    v0.0.5 release. This was happening due to the fact that we are using
    deno-core to execute composition, a package that requires access to
    memory management. This fix adds an Entitelement when notarizing Rover that
    specifically allows for unsigned packages to have access to memory
    management.


SHA256 of release binaries for validation:

  • Linux: ef996fa6da002629a118bf3de879f66b55db4ef95692bf325424d0ab695eee95
  • Windows: a9475f5876f01e665b729634f37cce086fe592525a312b9340ecabf49ad1585c
  • MacOS: b8570cdd87c11aa304eae8f49e65e4a6222388df4178b610839b63a9022e63d8

v0.0.5

30 Mar 18:43
d08cf17
Compare
Choose a tag to compare

Important: 2 breaking changes below, indicated by ❗ BREAKING ❗

πŸš€ Features

  • Adds introspection ability for subgraphs - lrlna, issue/349 pull/377

    A new command, rover subgraph introspect has been added. This command
    runs a federated introspection query against a server which has
    implemented the requirements of the federation
    specification
    .
    This command accepts endpoint headers (-H, --header) for making the introspection
    request (if required) and outputs SDL to stdout.

  • Fallback to monochromic output in installer when tput is unavailable - abernix, issue/371 pull/372

    The tput command allows easier ANSI output using named values in rather than
    control characters.

    While we could just use control characters and maintain colored output in the
    absence of tput, it's probably also reasonable to gracefully fall back to
    monochromatic output.

❗ BREAKING ❗

  • Renames core build to supergraph compose - lrlna, pull/391

    To align with other Apollo teams on the usage of supergraph and
    composition, we are renaming core build to supergraph compose.

  • Updates [email protected] - abernix, pull/396

    Updates harmonizer to the latest version. This version now composes and
    returns a core schema instead of CSDL. CSDL was an internal implementation
    of composition and this new format is meant to bring some stability to rover supergraph compose.

πŸ› Fixes

  • Handle 400-599 HTTP responses - lrlna, issue/394 issue/187 pull/395

    Previously, Rover did not provide errors for any HTTP requests that return a status code between 400 and 599. This fix makes sure Rover checks for those errors before moving on to parsing the response body.

    This fix also does an extra check for 400 errors, as the Apollo
    Server sends additional information that we can display to users.

πŸ›  Maintenance

  • Sign and notarize MacOS binaries as part of CI - EverlastingBugstopper, pull/363

    This automates our signing and notarization process when releasing MacOS
    binaries. This is especially necessary to install and run Rover on latest
    M1s and Big Sur.

  • Test, build and release on ubuntu-16.04 - abernix, pull/381

    This pins us to Ubuntu 16.04 which ships with glib 2.19. This should allow
    us to work with a wider range of operating systems than the newer glib
    that we get with Ubuntu 20.04, which is ubuntu-latest on GitHub Actions
    Virtual Environments (which resulted in a Rover that wouldn't run on
    Ubuntu 18.04).

    Ubuntu 16.04 is LTS until April 2024, and is still receiving active
    updates through the LTS program.

  • Cache Rust artifacts in CI linter job- EverlastingBugstopper, pull/365

    The rest of our GitHub actions workflows pull from the cache to take
    advantage of Rust's incremental compilation. We now do this for clippy
    too so it finishes (and fails) faster.

  • Addresses new clippy 1.51 warning - EverlastingBugstopper, pull/364

    Addresses some stylistic problems noticed by the new version of our linter clippy

πŸ“š Documentation


SHA256 of release binaries for validation:

  • Linux: 016dc1a9cb53cac667cf52fccf120f2e6fcd7dba13991d937d49c59468a14751
  • Windows: bcdf4b8e7c41d2598b8cbe56696f0d2ad640949f4886807de62b4980984f3f03
  • MacOS: 86260f8d4171a43d228fc4beca5def5ff54d8e6c1525dbd616323a097652a13e

v0.0.4

24 Mar 20:02
7b7a821
Compare
Choose a tag to compare

Important: Two breaking changes below, indicated by ❗ BREAKING ❗

πŸš€ Features

  • Core schema building capabilities - EverlastingBugstopper, pull/340

    Adds a new command, rover core build to handle building
    core schema documents
    from multiple subgraph schemas. This also adds a new config format to support
    this command in YAML. Currently, this is only documented in pull/340.

  • Adds introspection ability for graphs - lrlna, issue/180 issue/171 pull/283

    A new command, rover graph introspect has been added, usable for introspecting
    graphs (not subgraphs). This command accepts endpoint headers for making the
    introspection request (if required) and outputs SDL to stdout.

❗ BREAKING ❗

  • Rename push to publish everywhere - JakeDawkins, issue/344 pull/347

    "Publish" is a more correct name for what these commands do. We wanted to be
    extra clear about its name matching its functionality, so any usage of push
    commands should now be publish.

  • Rename committer to author - EverlastingBugstopper, issue/338 pull/339

    Note: This is only breaking change if you were previously using the APOLLO_VCS_COMMITTER
    env variable. If so, migrate by changing that environment variable to APOLLO_VCS_AUTHOR.

    Changes the underlying git context implementation to report the author
    of a commit rather than a committer. This is primarily intended to properly
    link the real author with a commit in Apollo Studio.

πŸ› Fixes

  • Output composition errors to stderr - EverlastingBugstopper, pull/335

    There was an incorrect usage of tracing::error, causing composition errors
    to not show up when expected. This change unifies this error printing with the
    rest of the project.

πŸ›  Maintenance

  • Auto-bump versions in install scripts - EverlastingBugstopper, pull/332

    Added auto version bumping in the build script, so there's no chance the Rover
    team will miss this important step in the release process.

  • Don't print by default for automatic update checks - EverlastingBugstopper, pull/342

    When Rover automatically checks for updates every 24 hours, it no longer will
    print if there is no update available. It will still print for manual checks
    and if Rover is out of date.

  • Add metadata to Cargo.toml - EverlastingBugstopper, pull/346

    In preparation for future releases to crates.io, we've
    added relevant metadata to the Cargo.toml file for the project.

  • Linux build is now built for a GNU target - lrlna, pull/359

    Linux Rover distribution used to be built with musl. We now transitioned
    to the Tier 1 GNU target to accommodate the fact that one of our
    dependencieds, rusty_v8, does not work well with musl-libc.

πŸ“š Documentation

  • Adds APOLLO_HOME variable to docs - EverlastingBugstopper, pull/341

    APOLLO_HOME is the override variable for Rover's parent directory, where the
    binary lives. This was previously undocumented, but now it's not!

Installation Methods

Linux and MacOS curl | sh installer

curl -sSL https://raw.githubusercontent.com/apollographql/rover/v0.0.4/installers/binstall/scripts/nix/install.sh | sh

To download older versions of Rover, use the VERSION env variable when executing the installer (note: the v in the version number):

curl -sSL https://raw.githubusercontent.com/apollographql/rover/v0.0.4/installers/binstall/scripts/nix/install.sh | VERSION=v0.0.1 sh

Windows PowerShell installer

iwr 'https://raw.githubusercontent.com/apollographql/rover/v0.0.4/installers/binstall/scripts/windows/install.ps1' | iex

SHA256 of release binaries for validation:

  • Linux: 8f833805bcbe10173ba1c74cb2650647f67d47cd0a42c19032f14bf531965964
  • Windows: 50228d4d62ed486e5e0071b16d3049ea808d7109c207a7e9a1e274e3e8d0734a
  • MacOS: 186bafe5341a58b40168cc416d5e19f86695e2541ee9c1afa6d1bdbb0159c9d5