Add offline license support - @BrynCooke PR #1796 - Issue #1793
Adds rover license fetch <graph_ref>
Output:
rover license fetch --graph-id starstuff --profile gh
Fetching license for starstuff using credentials from the gh profile.
Success!
<redacted jwt>
Handle new rate limit error - @bnjjj #1798
Update the GraphQL schema and handle the new rate limit error.
First trial use of a generator (Scaffolding code for creating a new verb for an existing noun/command) - @tapegram PR #1786
First try at taking the instructions from the readme on how to scaffold a new verb on an existing command and added plop tooling to be able to generate the scaffolding automatically.
npx plop
This is an initial exploratory PR. Later PRs will build this into the dev tooling and expand on the functionality (if we don't decide to remove it)
Move Validating client ops to Apollo CLI section - @Meschreiber #1783
This PR moves Validating client operations into the Rover > Apollo CLI section.
Use shared content component for GH action instructions - @Meschreiber #1780
This PR replaces some text with a new shared content component containing that text.
Remove note on restricted supergraph.yml expansion - @dylan-apollo #1779 - issue #1629
supergraph.yaml files now supports environment variable expansion everywhere, not just in introspection headers.
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.
Add C# as a language in rover template - @dylan-apollo, #1769
This means you can now filter templates with --language c-sharp. Check out the first C# template by running rover template use subgraph-csharp-hotchocolate-annotation!
Display proposal check task results in rover subgraph check - @swcollard, #1768
When running rover subgraph check, proposal check task results will be displayed in Rover. "Proposals" are a GraphOS feature currently in private preview that allow proposing subgraph schema changes before implementation. Integrating them with checks allows subgraph teams to ensure they have properly implemented a proposed schema change. This change will not affect you if your organization has not been granted preview access by Apollo.
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.
Persisted Queries is now GA - @glasser, #1756
The rover persisted-queries publish command is now out of the public preview phase and has entered general availability. Check out the documentation for this enterprise feature.
Better message for a subgraph published with no changes - @bonnici, #1757
rover subgraph publish now logs a message to stdout when a subgraph was published and there were no changes to the schema.
Don't log username/password if APOLLO_ROVER_DOWNLOAD_HOST includes authentication in the URL - @EverlastingBugstopper, #1758
Previously, when using the APOLLO_ROVER_DOWNLOAD_HOST environment variable to override the download location of a plugin binary, Rover would log the entire URL to stdout, potentially leaking username and password authentication details if they were included in the URL. Now, Rover strips that information from the URLs before printing the download location. If Rover is not able to strip that information (likely due to an invalid URL), then it doesn't try to print the sanitized URL at all.
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.
Fix diagnostic highlighting in rover {sub}graph lint for schemas with Unicode - @goto-bus-stop, #1750
Previously, Rover would incorrectly highlight GraphQL syntax in a schema that contained Unicode characters due to the byte offsets reported by Apollo GraphOS. Now, Rover correctly maps byte offsets to character widths and highlights the correct portion of the GraphQL syntax.
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.
Publish persisted queries generated by the Relay compiler - @EverlastingBugstopper, #1727
The rover persisted-queries publish command now accepts the --manifest-format relay argument which allows publishing persisted queries generated by the Relay compiler to Apollo GraphOS. See the documentation for more information on this feature.
Make checks more resilient by retrying failures - @swcollard, #1740
Rover will now retry requests for the status of a check workflow. If the retries don't succeed after five minutes, the requests fail, and any intermittent errors are logged.
Don't issue HEAD request to determine latest versions when the exact version is known - @EverlastingBugstopper, #1743 and #1744
This change should make it easier to integrate Rover with custom binary mirrors as they do not need to be configured to return an X-Version header when responding to installation requests.
Move introspector-gadget crate code back into Rover - @EverlastingBugstopper, #1736
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.
Adds support for APOLLO_ROVER_DOWNLOAD_HOST when downloading router and federation plugins - @LongLiveCHIEF, #1713
The default host for downloading the router and federation plugins is rover.apollo.dev - this can now be overridden via the APOLLO_ROVER_DOWNLOAD_HOST environment variable to enable downloads from binary mirrors.
Relaxes requirements for --allow-invalid-routing-url flag for rover subgraph publish - @EverlastingBugstopper, #1712
rover subgraph publish now accepts the --allow-invalid-routing-url flag without requiring a --routing-url to be passed as well.
Improve error message for empty file - @krachwal, #1724 fixes #1723
When reading an empty file from disk, Rover now prints the path to that empty file rather than the (always empty) contents of that file.
Install Volta via chocolatey in CI instead of the flaky MSI installer - @EverlastingBugstopper, #1718
CI jobs have been flaky on Windows due to Volta's MSI installer, the switch to installing via chocolatey should improve this.
Updates dependencies - @EverlastingBugstopper, #1709 and #1710
apollo-parser: 0.5 -> 0.6
termimad: 0.23 -> 0.24
tokio: 1.29 -> 1.31
eslint: 8.46.0 -> 8.47.0
node: 18.17.0 -> 18.17.1
Updates recommended suggested value for disabling telemetry - @LongLiveCHIEF, #1715 fixes #1714
Rover now recommends setting APOLLO_TELEMETRY_DISABLED=true instead of APOLLO_TELEMETRY_DISABLED=1 to match the behavior of the Router. APOLLO_TELEMETRY_DISABLED=1 will continue to work as expected.
Document the API token roles that work with rover pq publish - @glasser, #1720
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 change below, indicated by ❗ BREAKING ❗
Prevent publishing unparsable routing URLs by default - @EverlastingBugstopper, #1706 fixes #1689
rover subgraph publish now validates the --routing-url argument with a full URL parse to prevent the router from failing to start up due to an invalid subgraph URL. This means that passing an invalid routing URL or publishing a subgraph schema update that contains an invalid routing URL in the GraphOS registry will return an error. This error can be ignored by passing the --allow-invalid-routing-url option.
Return error E043 during check failures instead of the inaccurate E042 - @david-castaneda, #1705
Error E043 is now returned when any step in a check fails.
Small updates to the linter step produced by checks - @david-castaneda, #1701
start_byte_offset field to the correct start_line field in the JSON outputLinter instead of LintFixes GitLab CI documentation - @frederik, #1704
Removes Alpine package installation instructions in favor of Ubuntu package installation instructions.
Documents the persisted-queries command suite - @meschreiber, #1698
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.
Support binary mirrors via the npm installer - @LongLiveCHIEF, #1675
When installing Rover via npm, you can override the base URL where Rover binaries are downloaded from in one of two ways:
APOLLO_ROVER_DOWNLOAD_HOST environment variable.npmrc:apollo_rover_download_host=https://your.mirror.com/repository
This enables installing Rover when https://rover.apollo.dev is unavailable, for example, in a private network.
persisted-queries publish - @dbanty, #1697routing_url is optional when using a graph ref with rover dev - @smyrick, #1683This 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.
Remove preview phase message from rover persisted-queries publish - @glasser, #1686
rover persisted-queries publish no longer unconditionally prints a message stating that this preview-phase feature must be enabled on your GraphOS account. (If the feature has not yet been enabled on your account, the command will still fail with an error explaining the situation.)
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 change below, indicated by ❗ BREAKING ❗
Changes the default Router port of rover dev to 4000 - @dbanty, #1671 fixes #1550
Previously, the default port of rover dev (when not overridden by --supergraph-port or --router-config) was 3000, this has been changed to 4000 to match the router's default.
Enable graphref and sdl schemas in rover dev --supergraph-config - @dbanty, #1673 closes #1663
rover dev can now accept every variant of the supergraph YAML file that supergraph compose can—specifically allowing GraphOS and hard-coded SDLs as subgraph schema sources. These two new sources will not be polled for updates (as introspection and files are), but will contribute to the initial composition.
Pass configured credentials to the Router when using rover dev - @dbanty, #1674
Until now, in order to unlock Enterprise features when using rover dev, you had to pass both APOLLO_KEY and APOLLO_GRAPH_REF as environment variables to Rover. Now, if APOLLO_GRAPH_REF is set, Rover can pass along credentials that have been configured with rover config auth. This also respects the --profile argument. The configured key still needs to be a graph API key. Note that the APOLLO_KEY environment variable still works and will take precedence over any configured credentials.
Allow omitting routing_url in rover dev --supergraph-config - @dbanty, #1666 closes #1634
When using rover dev with a supergraph YAML file, the routing_url field can be omitted if using a subgraph_url (introspection) or graphref (GraphOS schema registry) schema source. If omitted, the introspection URL or the routing URL from the registry will be used instead (respectively).
Display persisted query list names during publish and improve error messages - @EverlastingBugstopper, #1672
Publishing operations to a persisted query list with rover pq publish now shows the list name rather than the UUID when publishing. Additionally, publishing to a non-existent list now returns a better error message with a suggestion.
IPv6 addresses are now allowed in the --supergraph-address option for rover dev - @dbanty, #1671
For example, rover dev --supergraph-address "::1" will now cause the router to listen on [::1]:4000.
IPv6 listen addresses are now allowed in Router config when using rover dev - @dbanty, #1671
The Router's IPv6 format previously caused errors when passing config to rover dev via --router-config.
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.
As of 2023-07-14T20:44:45 this release has been unpublished from npm and the current latest release has been pinned to v0.16.2 due to the wrong commit being tagged for this release.
v0.17.1 will be tagged and released ASAP, but is currently blocked by an ongoing incident with npm.
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.
Fixes rover supergraph compose regression introduced in v0.16.1 - @EverlastingBugstopper, #1655 fixes #1654
Bumps apollo-federation-types to v0.9.2 which makes the code message returned with a build hint optional. This allows rover supergraph compose to handle the existence and absence of a hint's code instead of crashing when a code is not provided by a build plugin.
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.
note: this release breaks rover supergraph compose completely.
please upgrade to v0.16.2.
Fixes breaking change in parsing of federation_version value in supergraph.yaml - @dbanty, #1652 fixes #1647
In the v0.16.0 release, Rover added support for environment variable expansion in the entire supergraph.yaml file. Unfortunately, this change broke parsing of federation_version in the case that an integer and not a string was passed. This breaking change has been fixed and regression tests have been added to the codebase to ensure this doesn't break again in the future.
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 change below, indicated by ❗ BREAKING ❗
Adds linter results to check commands - @david-castaneda, #1637
rover graph check and rover subgraph check both include lint warnings and errors depending on your graph's configuration. The JSON output of checks command has changed in this version, so if your scripts depend on --format json and pipe to jq, they will need to be updated. Note: all Rover commands output a json_version field when running with --format json that your scripts should check before attempting to access specific fields. The check output json_version has been bumped from 1 to 2 as a part of this release. See the documentation for the new lint feature for more information.
router.yaml files and supergraph.yaml files now fully support environment variable expansion - @dbanty, #1629 fixes #1552 and #1578
Specifying environment variables in router.yaml or supergraph.yaml files (for rover dev and/or rover supergraph compose) is now supported for all strings defined in the YAML file. Rover will evaluate any existing values using the ${} syntax, which may cause errors with existing config.
New rover {sub}graph lint commands - @swcollard, #1620
Rover now has two new commands: rover graph lint and rover subgraph lint. The options mirror their respective check commands and provides wonderfully formatted lint results in your terminal. See the documentation for the new lint feature for more information.
Support for supergraph.yaml files in rover dev - @dbanty, #1627 fixes #1258
The same file that you can pass to rover supergraph compose is now supported by the --supergraph-config argument in rover dev. This change should make it easier to run a local router with multiple subgraphs without needing to manage multiple terminal sessions.
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 is an alpha testing release for internal use. Please disregard.
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 is an alpha testing release for internal use. Please disregard.
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.
New rover persisted-queries publish command - @EverlastingBugstopper, #1599
Adds a new command: rover persisted-queries publish that allows publishing operations to a persisted queries list in GraphOS that can be consumed by a router. This command is in a private preview phase, so the command does not show up in the help text and will not work for you unless your enterprise organization has been granted preview access by Apollo.
Fix router logging in rover dev - @dbanty, #1626
Newer versions of the router started to output JSON that was in a format that was not expected by rover dev. Router logs now properly appear when running rover dev with --log <error | warn | info | debug | trace>.
Development dependency updates - @renovate, #1623
concurrently 8.0.1 -> 8.1.0
eslint 8.41.0 -> 8.42.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.
Correctly report errors when the router fails to start up in rover dev - @dbanty, #1607 fixes #1551, #1569, #1572, and #1586
When rover dev fails to start the router, a proper error is returned along with the logs output by the router. This should make startup errors easier to track down and debug.
Enable using enterprise features in the router when running rover dev - @dbanty, #1608
When running rover dev, the APOLLO_KEY and APOLLO_GRAPH_REF environment variables are passed along to the router on startup, allowing the use of enterprise-only features in local development.
Create renovate PRs automatically to bump latest plugin versions - @dbanty, #1606
Bumps to ./latest_plugin_versions.json that are used to determine the versions of composition and the router to use in local development are now automatically created by Renovate.
Many dependency updates - @EverlastingBugstopper and @renovate, #1528, #1558, #1609, #1610, #1611, #1613, #1615, #1616, and #1618
Refactor authentication notice across docset - @StephenBarlow, #1598
Re-use the same MDX snippet when rendering the notice in the docs that a command requires authentication.
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 is an alpha testing release for internal use. Please disregard.
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 is an alpha testing release for internal use. Please disregard.
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.