Skip to content

Releases: apollographql/rover

v0.41.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:40
Immutable release. Only release title and notes can be modified.
01cb4e7

❗ BREAKING ❗

  • graph introspect --format json now returns GraphQL introspection JSON - @smyrick PR #3440

    rover graph introspect with --format json now puts the schema as a GraphQL introspection object ({ "__schema": ... }) under data.introspection_response instead of an SDL string. Default plain output remains SDL. This is a behavior change for existing --format json consumers: traverse data.introspection_response to get the introspection object (for example, jq '.data.introspection_response'). No field or value transformation is needed beyond envelope traversal.

🚀 Features

  • Add rover supergraph config expand to preview an expanded supergraph config - @SharkBaitDLS PR #3447 fixes #1579

    rover supergraph config expand --config ./supergraph.yaml prints your supergraph configuration file with all variable references (e.g. ${env.PRODUCTS_URL} and ${file.path}) expanded. This makes it easy to confirm what Rover actually resolves your config to before a composition run. Use --format json to get the expanded config under an expanded_config field.

  • Add --changelog-message to graph publish and subgraph publish - @SharkBaitDLS PR #3398 fixes #1884 #292

    rover graph publish and rover subgraph publish now accept --changelog-message <MESSAGE> to attach a note to the publish in the Studio schema changelog. The publish output has also been enriched: graph publish now reports the schema hash and total named type count and subgraph publish now includes the resulting supergraph composition hash when one is available.

  • Add rover dev --supergraph-output to control the output of the composed supergraph - @SharkBaitDLS PR #3383 fixes #1864

    rover dev can now write the supergraph schema it composes to a path of your choosing and keep it updated on every recomposition, e.g. rover dev --supergraph-output build/supergraph.graphql. Previously the composed supergraph only lived in a temp file, and the global --output/-o flag (which controls a command's own CLI output, not its artifacts) appeared to be silently ignored by dev. The global --output help text now clarifies that distinction.

  • Add rover graph-artifact tag command - @zw428 PR #3282

    Adds the rover graph-artifact tag command for Graph Artifact tagging. See rover graph-artifact tag documentation here.

  • Add rover graph-artifact untag command - @zw428 PR #3360
    Adds the rover graph-artifact untag command for Graph Artifact untagging. See rover graph-artifact untag documentation here.

  • Add rover graph-artifact list-tags command - @wendyperalta PR #3355
    Adds the rover graph-artifact list-tags command for Graph Artifact tags that lets users query which tags exist in a graph, either across all artifacts or scoped to a single artifact by digest. See rover graph-artifact list-tags documentation here.

  • Add rover graph-artifact fetch command - @zw428 PR #3359
    Use rover graph-artifact fetch to fetch metadata about a graph artifact from Apollo's OCI distribution. This command returns an artifact's content-addressed digest, the launch that produced it, and (when fetching by tag) its assignment history. See rover graph-artifact fetch documentation here.

  • Add rover persisted-queries generate command - @dotdat PR #3481

    Scans GraphQL operation files and generates a persisted query manifest, written to a file (--manifest-path) or stdout. Supports --include/--exclude glob filtering and a configurable --root-dir.

  • Add --check flag to the subgraph-publish GitHub Action - @SharkBaitDLS PR #3375

  • Add APOLLO_ROVER_SKIP_UPDATE to disable all auto-updating at once - @SharkBaitDLS PR #3378 fixes #1892

    Setting the APOLLO_ROVER_SKIP_UPDATE environment variable (to 1 or true) opts out of all of Rover's auto-updating in a single switch: it skips both the rover self-update check (the --skip-update-check flag) and the supergraph/router plugin auto-updates (the --skip-update flag), so on-the-fly plugin resolution uses an already-installed plugin instead of contacting the registry. This is aimed at tightly-controlled monorepo/CI setups that want plugin versions lockstep with CI and prod. The explicit rover install command still installs as requested.

🐛 Fixes

  • Include error cause detail in --format json output - @SharkBaitDLS PR#3408 fixes #1320

    When a command fails, its JSON output now includes a causes array carrying the same Caused by: detail that plain-text output already shows, outermost cause first.

  • Install plugins without relying on a writable system temp directory - @SharkBaitDLS PR #3385 fixes #1422

    Rover now extracts downloaded supergraph/router plugin tarballs inside its own install directory rather than the system temp dir (TMPDIR//tmp), so installations can succeed on read-only filesystems.

  • Return a clear error when composition produces no output - @SharkBaitDLS PR #3384 fixes #1904

  • Fall back to an installed plugin when the registry is unreachable - @SharkBaitDLS PR #3362 fixes #1791 #1808

    When Rover needs the latest supergraph or router plugin but can't reach the plugin registry (an outage, a network blip, or simply being offline), it now falls back to the newest compatible plugin already installed in ~/.rover/bin with a warning instead of failing outright. Exact version pins still return an error.

  • Extend the timeout for plugin downloads - @SharkBaitDLS PR #3358 #3386 fixes #1583 #1867

    Plugin downloads no longer inherit the 30s default that bounds API requests. With --client-timeout unset, downloads get a 300s default timeout (plus a 30s connection timeout so a genuinely-offline run still fails fast). When --client-timeout is provided, it still applies to downloads as before.

  • Read UTF-16 (and BOM-prefixed) schema files - @SharkBaitDLS PR #3351 fixes #653

    Fs::read_file now detects a leading byte-order mark and transcodes the file to UTF-8, so schemas saved as UTF-16 — most commonly produced by Windows PowerShell > redirects, e.g. rover graph introspect ... > schema.gql — are read instead of failing with "stream did not contain valid UTF-8". A UTF-8 BOM is stripped; files with no recognized BOM are still read as UTF-8 (preserving prior behavior), and malformed input surfaces an error rather than being silently replaced. Decoding is handled by encoding_rs.

  • Restore the "pin your federation version" warning on supergraph compose - @SharkBaitDLS PR #3347

    rover supergraph compose again warns when federation_version is not pinned to an exact version, reinstating the documented notice that future versions will require one. This nudge was added in #1524 and inadvertently dropped in v0.27.2 (#2411) during the supergraph-config resolution rewrite; composing against a floating 1/2 (or omitting the key) now once again warns and recommends pinning, to avoid pulling in breaking changes when a new federation release ships. rover dev and the language server remain silent. Fixes #1510.

  • Report a clearer error when schema-check polling fails on large schemas - @SharkBaitDLS PR #3349

    Centralizes the poll loop between graph/subgraph check, and surfaces a more helpful error when a check likely failed because the schema was too large to download in time. Relates to #1383.

🛠 Maintenance


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 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.41.0-rc.2

v0.41.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 18:05
Immutable release. Only release title and notes can be modified.
f559c1a

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 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.40.1-PR3430.4

v0.40.1-PR3430.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 16:32
Immutable release. Only release title and notes can be modified.

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 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.40.1-PR3430.3

v0.40.1-PR3430.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 15:23
Immutable release. Only release title and notes can be modified.

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 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.40.1-PR3430.2

v0.40.1-PR3430.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 02:04
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@github-actions github-actions released this 28 May 20:46
Immutable release. Only release title and notes can be modified.
v0.40.0
549f28d

🚀 Features

  • Add rover schema search subcommand - @dotdat PR #3315

    Wires the new rover schema search FILE TERMS... subcommand on top of the ParsedSchema::search engine added in PR #3262. Accept SDL from a file (or from stdin when FILE is -), render results as text or JSON via the standard CliOutput plumbing, and support --limit/-n and --include-deprecated.

🐛 Fixes

  • Preserve auth and other reqwest helpers in the retry tower layer - @SharkBaitDLS PR #3327 fixes #3326

    Rebuilds requests through reqwest::RequestBuilder inside the retry tower layer so the builder's helper logic (which extracts auth into headers, among other things) is preserved on retried requests. Previously the layer used reqwest::Request::try_from, which silently dropped those helpers. Also restricts retries to retriable HTTP status codes and skip gzip-decoding error responses so the underlying failure surfaces instead of manifesting as a hang.

  • Rewrite graph introspect to use apollo-compiler - @SharkBaitDLS PR #3317 fixes #3312

    Moves graph introspect off the deprecated apollo-encoder crate and onto apollo-compiler to pick up upstream SDL-encoding fixes that Rover had been missing.

  • Batch supergraph.yaml subgraph changes on hot reload - @SharkBaitDLS PR #3304

    Applies all subgraph additions and removals from a single supergraph.yaml edit as one batch before recomposing in rover dev. Previously each change was processed individually, so removing a subgraph whose fields were referenced via @external produced an intermediate composition failure that persisted as the final state without recovering.

  • Preserve --graph-ref subgraphs across hot reloads - @SharkBaitDLS PR #3288

    Re-merges remote --graph-ref subgraphs on every supergraph.yaml reload when rover dev is run with both --graph-ref and a local supergraph file. Previously the watcher only re-read the YAML and dropped the graph-ref-only subgraphs that had been merged in at startup.

  • Fix release tagging workflow - @SharkBaitDLS PR #3309

    Switches the release "refs exist" check to the exact-match GitHub tag API. Previously it used a fuzzy-matching API that incorrectly no-op'd when prior release-candidate tags existed. Also restores the original workflow names to preserve Marketplace URLs and SEO.

🛠 Maintenance

  • Retry artifact uploads in CI - @dotdat PR #3325

    Adds retries to actions/upload-artifact so transient network failures during CI uploads no longer fail builds.

  • Drop unused variant-name querying - @sirdodger PR #3320

    Removes the unused variants field from the graph query to improve performance for graphs with many variants.

  • Run cargo +nightly fmt --all at the end of mise run prep - @dotdat PR #3311

📚 Documentation

  • Add Docker image information to CI docs - @SharkBaitDLS PR #3318

    Documents the published Docker images in the CI/CD docs and aligns action names with the links already used on the docs site.


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

Choose a tag to compare

@github-actions github-actions released this 20 May 18:21
Immutable release. Only release title and notes can be modified.
4493a39

🚀 Features

New rover client extract command pulls GraphQL operations out of
client code. Includes the core extraction logic, CLI wiring, and
integration tests.

New rover client check subcommand for validating client operations
against a schema.

  • Add rover schema search - @dotdat PR #3262

    New subcommand under rover schema for searching schema contents.

  • Add --check flag to rover graph publish - @joshuaoshields95 PR
    #3203

Runs graph check and graph publish as a single unit when --check
is passed.

Allows publishing a placeholder schema without needing to provide your
own schema file. This is useful for setting up your graph structure
before your actual schemas are ready. The placeholder schema is type Query { helloWorld: String } with a routing URL of
https://example.com/.

  • Respect --insecure-accept-invalid-certs in rover init --mcp -
    @dotdat PR #3234

rover init --mcp now honors --insecure-accept-invalid-certs when
fetching templates.

🐛 Fixes

Restores no_proxy / NO_PROXY handling that was previously provided
by axios before its removal in 0.38.0.

  • Fix path and formatting issues in client check/client extract -
    @dotdat PR #3285

  • Use --root-dir in client check fixture tests for cross-platform
    compatibility - @samaanghani PR #3219

  • Don't run the automated update check in Docker - @SharkBaitDLS PR
    #3245

Skips the rover version-update check when running inside a container so
Docker users don't see spurious update prompts.

🛠 Maintenance

New companion actions under apollographql-gh-actions/* for installing
rover and wrapping common subgraph and persisted-queries subcommands.

  • Bump apollo-language-server to 0.8.0 - PR #3251

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 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.39.1-rc.3

v0.39.1-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 May 21:11
Immutable release. Only release title and notes can be modified.
e1591ac

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 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.39.1-rc.2

v0.39.1-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 May 16:41
Immutable release. Only release title and notes can be modified.
18772d5

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 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.39.1-rc.1

v0.39.1-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 May 14:09
Immutable release. Only release title and notes can be modified.
6424a10

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