Bump @apollo/server from 4.5.0 to 4.7.4
Bumps @apollo/server from 4.5.0 to 4.7.4.
Release notes
Sourced from @apollo/server's releases.
@apollo/server-integration-testsuite@4.7.4Patch Changes
#7604
aeb511c7dThanks@renovate! - Updategraphql-httpdependency
0adaf80d1Thanks@trevor-scheer! - Address Content Security Policy issuesThe previous implementation of CSP nonces within the landing pages did not take full advantage of the security benefit of using them. Nonces should only be used once per request, whereas Apollo Server was generating one nonce and reusing it for the lifetime of the instance. The reuse of nonces degrades the security benefit of using them but does not pose a security risk on its own. The CSP provides a defense-in-depth measure against a potential XSS, so in the absence of a known XSS vulnerability there is likely no risk to the user.
The mentioned fix also coincidentally addresses an issue with using crypto functions on startup within Cloudflare Workers. Crypto functions are now called during requests only, which resolves the error that Cloudflare Workers were facing. A recent change introduced a
precomputedNonceconfiguration option to mitigate this issue, but it was an incorrect approach given the nature of CSP nonces. This configuration option is now deprecated and should not be used for any reason since it suffers from the previously mentioned issue of reusing nonces.Additionally, this change adds other applicable CSPs for the scripts, styles, images, manifest, and iframes that the landing pages load.
A final consequence of this change is an extension of the
renderLandingPageplugin hook. This hook can now return an object with anhtmlproperty which returns aPromise<string>in addition to astring(which was the only option before).Updated dependencies [
0adaf80d1]:
@apollo/server@4.7.4
@apollo/server@4.7.4Patch Changes
0adaf80d1Thanks@trevor-scheer! - Address Content Security Policy issuesThe previous implementation of CSP nonces within the landing pages did not take full advantage of the security benefit of using them. Nonces should only be used once per request, whereas Apollo Server was generating one nonce and reusing it for the lifetime of the instance. The reuse of nonces degrades the security benefit of using them but does not pose a security risk on its own. The CSP provides a defense-in-depth measure against a potential XSS, so in the absence of a known XSS vulnerability there is likely no risk to the user.
The mentioned fix also coincidentally addresses an issue with using crypto functions on startup within Cloudflare Workers. Crypto functions are now called during requests only, which resolves the error that Cloudflare Workers were facing. A recent change introduced a
precomputedNonceconfiguration option to mitigate this issue, but it was an incorrect approach given the nature of CSP nonces. This configuration option is now deprecated and should not be used for any reason since it suffers from the previously mentioned issue of reusing nonces.Additionally, this change adds other applicable CSPs for the scripts, styles, images, manifest, and iframes that the landing pages load.
A final consequence of this change is an extension of the
renderLandingPageplugin hook. This hook can now return an object with anhtmlproperty which returns aPromise<string>in addition to astring(which was the only option before).
@apollo/server-integration-testsuite@4.7.3Patch Changes
@apollo/server@4.7.3Patch Changes
#7601
75b668d9eThanks@trevor-scheer! - Provide a new configuration option for landing page pluginsprecomputedNoncewhich allows users to provide a nonce and avoid calling intouuidfunctions on startup. This is useful for Cloudflare Workers where random number generation is not available on startup (only during requests). Unless you are using Cloudflare Workers, you can ignore this change.The example below assumes you've provided a
PRECOMPUTED_NONCEvariable in yourwrangler.tomlfile.Example usage:
const server = new ApolloServer({ // ... plugins: [
... (truncated)
Changelog
Sourced from @apollo/server's changelog.
4.7.4
Patch Changes
0adaf80d1Thanks@trevor-scheer! - Address Content Security Policy issuesThe previous implementation of CSP nonces within the landing pages did not take full advantage of the security benefit of using them. Nonces should only be used once per request, whereas Apollo Server was generating one nonce and reusing it for the lifetime of the instance. The reuse of nonces degrades the security benefit of using them but does not pose a security risk on its own. The CSP provides a defense-in-depth measure against a potential XSS, so in the absence of a known XSS vulnerability there is likely no risk to the user.
The mentioned fix also coincidentally addresses an issue with using crypto functions on startup within Cloudflare Workers. Crypto functions are now called during requests only, which resolves the error that Cloudflare Workers were facing. A recent change introduced a
precomputedNonceconfiguration option to mitigate this issue, but it was an incorrect approach given the nature of CSP nonces. This configuration option is now deprecated and should not be used for any reason since it suffers from the previously mentioned issue of reusing nonces.Additionally, this change adds other applicable CSPs for the scripts, styles, images, manifest, and iframes that the landing pages load.
A final consequence of this change is an extension of the
renderLandingPageplugin hook. This hook can now return an object with anhtmlproperty which returns aPromise<string>in addition to astring(which was the only option before).4.7.3
Patch Changes
#7601
75b668d9eThanks@trevor-scheer! - Provide a new configuration option for landing page pluginsprecomputedNoncewhich allows users to provide a nonce and avoid calling intouuidfunctions on startup. This is useful for Cloudflare Workers where random number generation is not available on startup (only during requests). Unless you are using Cloudflare Workers, you can ignore this change.The example below assumes you've provided a
PRECOMPUTED_NONCEvariable in yourwrangler.tomlfile.Example usage:
const server = new ApolloServer({ // ... plugins: [ ApolloServerPluginLandingPageLocalDefault({ precomputedNonce: PRECOMPUTED_NONCE, }), ], });4.7.2
Patch Changes
- #7599
c3f04d050Thanks@trevor-scheer! - Update@apollo/utils.usagereportingdependency. Previously, installing@apollo/gatewayand@apollo/servercould result in duplicate / differently versioned installs of@apollo/usage-reporting-protobuf. This is because the@apollo/server-gateway-interfacepackage was updated to use the latest protobuf, but the@apollo/utils.usagereportingpackage was not. After this change, users should always end up with a single install of the protobuf package when installing both@apollo/serverand@apollo/gatewaylatest versions.4.7.1
Patch Changes
- #7539
5d3c45be9Thanks@mayakoneval! - 🐛 Bug Fix for Apollo Server Landing Pages on Safari. A Content Security Policy was added to our landing page html so that Safari can run the inline scripts we use to call the Embedded Sandbox & Explorer.4.7.0
Minor Changes
... (truncated)
Commits
4dd276aVersion Packages (#7609)0adaf80Merge pull request from GHSA-68jh-rf6x-836f2f4b034Version Packages (#7602)75b668dAllow landing page to be configured with a precomputed nonce (fix for CF work...51b79acVersion Packages (#7600)c3f04d0Update@apollo/utils.usagereportingdependency (#7599)0233a2dUpdate codegen types and enforce keeping types up-to-date (#7580)5ab08c1Version Packages (#7541)3f7eaedupdate tests7927a3fUpdate packages/server/src/tests/plugin/landingPage/getEmbeddedExplorerHT...- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.