diff --git a/.changeset/clever-years-think.md b/.changeset/clever-years-think.md deleted file mode 100644 index 54264bfe773..00000000000 --- a/.changeset/clever-years-think.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@apollo/server-integration-testsuite': patch -'@apollo/server-plugin-response-cache': patch -'@apollo/server': patch ---- - -Raise minimum `engines` requirement from Node.js v14.0.0 to v14.16.0. This is the minimum version of Node 14 supported by the `engines` requirement of `graphql@16.6.0`. diff --git a/.changeset/dull-timers-yawn.md b/.changeset/dull-timers-yawn.md deleted file mode 100644 index 8ea25429cfd..00000000000 --- a/.changeset/dull-timers-yawn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@apollo/server': patch ---- - -Require Node.js v14 rather than v12. This change was intended for v4.0.0 and the documentation already stated this requirement, but was left off of the package.json `engines` field in `@apollo/server` inadvertently. diff --git a/.changeset/heavy-radios-report.md b/.changeset/heavy-radios-report.md deleted file mode 100644 index a845151cc84..00000000000 --- a/.changeset/heavy-radios-report.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/.changeset/lucky-spies-decide.md b/.changeset/lucky-spies-decide.md deleted file mode 100644 index a845151cc84..00000000000 --- a/.changeset/lucky-spies-decide.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/package-lock.json b/package-lock.json index 4e61d0ec915..fc160cd750a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15562,7 +15562,7 @@ }, "packages/integration-testsuite": { "name": "@apollo/server-integration-testsuite", - "version": "4.0.0", + "version": "4.0.1", "license": "MIT", "dependencies": { "@apollo/cache-control-types": "^1.0.2", @@ -15583,7 +15583,7 @@ "node": ">=14.16.0" }, "peerDependencies": { - "@apollo/server": "^4.0.0", + "@apollo/server": "^4.0.1", "@jest/globals": "28.x || 29.x", "graphql": "^16.6.0", "jest": "28.x || 29.x" @@ -15591,7 +15591,7 @@ }, "packages/plugin-response-cache": { "name": "@apollo/server-plugin-response-cache", - "version": "4.0.0", + "version": "4.0.1", "license": "MIT", "dependencies": { "@apollo/utils.createhash": "^1.1.0", @@ -15601,13 +15601,13 @@ "node": ">=14.16.0" }, "peerDependencies": { - "@apollo/server": "^4.0.0", + "@apollo/server": "^4.0.1", "graphql": "^16.6.0" } }, "packages/server": { "name": "@apollo/server", - "version": "4.0.0", + "version": "4.0.1", "license": "MIT", "dependencies": { "@apollo/cache-control-types": "^1.0.2", diff --git a/packages/integration-testsuite/CHANGELOG.md b/packages/integration-testsuite/CHANGELOG.md index 55f2a1a750e..5e3736ea03f 100644 --- a/packages/integration-testsuite/CHANGELOG.md +++ b/packages/integration-testsuite/CHANGELOG.md @@ -1,5 +1,14 @@ # @apollo/server-integration-testsuite +## 4.0.1 + +### Patch Changes + +- [#7049](https://github.com/apollographql/apollo-server/pull/7049) [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3) Thanks [@glasser](https://github.com/glasser)! - Raise minimum `engines` requirement from Node.js v14.0.0 to v14.16.0. This is the minimum version of Node 14 supported by the `engines` requirement of `graphql@16.6.0`. + +- Updated dependencies [[`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3), [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3)]: + - @apollo/server@4.0.1 + ## 4.0.0 Initial release of `@apollo/server-integration-testsuite`. diff --git a/packages/integration-testsuite/package.json b/packages/integration-testsuite/package.json index e24d55f8aad..1d631b688e1 100644 --- a/packages/integration-testsuite/package.json +++ b/packages/integration-testsuite/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/server-integration-testsuite", - "version": "4.0.0", + "version": "4.0.1", "description": "Test suite for Apollo Server integrations", "type": "module", "main": "dist/index.js", @@ -42,7 +42,7 @@ "supertest": "^6.2.3" }, "peerDependencies": { - "@apollo/server": "^4.0.0", + "@apollo/server": "^4.0.1", "@jest/globals": "28.x || 29.x", "graphql": "^16.6.0", "jest": "28.x || 29.x" diff --git a/packages/plugin-response-cache/CHANGELOG.md b/packages/plugin-response-cache/CHANGELOG.md index 4664353ee64..be962d0dc40 100644 --- a/packages/plugin-response-cache/CHANGELOG.md +++ b/packages/plugin-response-cache/CHANGELOG.md @@ -1,5 +1,14 @@ # @apollo/server-plugin-response-cache +## 4.0.1 + +### Patch Changes + +- [#7049](https://github.com/apollographql/apollo-server/pull/7049) [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3) Thanks [@glasser](https://github.com/glasser)! - Raise minimum `engines` requirement from Node.js v14.0.0 to v14.16.0. This is the minimum version of Node 14 supported by the `engines` requirement of `graphql@16.6.0`. + +- Updated dependencies [[`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3), [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3)]: + - @apollo/server@4.0.1 + ## 4.0.0 Initial release of `@apollo/server-plugin-response-cache` with support for Apollo Server 4. The version of this plugin designed for Apollo Server 2 and 3 was named `apollo-server-plugin-response-cache`. diff --git a/packages/plugin-response-cache/package.json b/packages/plugin-response-cache/package.json index c414291d6df..8a40bf6a04d 100644 --- a/packages/plugin-response-cache/package.json +++ b/packages/plugin-response-cache/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/server-plugin-response-cache", - "version": "4.0.0", + "version": "4.0.1", "description": "Apollo Server full query response cache", "type": "module", "main": "dist/cjs/index.js", @@ -33,7 +33,7 @@ "@apollo/utils.keyvaluecache": "^1.0.1" }, "peerDependencies": { - "@apollo/server": "^4.0.0", + "@apollo/server": "^4.0.1", "graphql": "^16.6.0" } } diff --git a/packages/server/CHANGELOG.md b/packages/server/CHANGELOG.md index 70cb3fb1e11..ec3ce212b0f 100644 --- a/packages/server/CHANGELOG.md +++ b/packages/server/CHANGELOG.md @@ -1,12 +1,19 @@ # @apollo/server +## 4.0.1 + +### Patch Changes + +- [#7049](https://github.com/apollographql/apollo-server/pull/7049) [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3) Thanks [@glasser](https://github.com/glasser)! - Raise minimum `engines` requirement from Node.js v14.0.0 to v14.16.0. This is the minimum version of Node 14 supported by the `engines` requirement of `graphql@16.6.0`. + +- [#7049](https://github.com/apollographql/apollo-server/pull/7049) [`3daee02c6`](https://github.com/apollographql/apollo-server/commit/3daee02c6a0fa34ea0e6f4f18b9a7308539021e3) Thanks [@glasser](https://github.com/glasser)! - Require Node.js v14 rather than v12. This change was intended for v4.0.0 and the documentation already stated this requirement, but was left off of the package.json `engines` field in `@apollo/server` inadvertently. + ## 4.0.0 ### BREAKING CHANGES Apollo Server contains quite a few breaking changes: most notably, a brand new package name! Read our [migration guide](https://www.apollographql.com/docs/apollo-server/migration/) for more details on how to update your app. - #### Bumped dependencies The minimum versions of these dependencies have been bumped to provide an improved foundation for the development of future features. @@ -16,7 +23,6 @@ The minimum versions of these dependencies have been bumped to provide an improv - Upgrading `graphql` may require you to upgrade other libraries that are installed in your project. For example, if you use Apollo Server with Apollo Gateway, you should upgrade Apollo Gateway to at least v0.50.1 or any v2.x version for full `graphql` 16 support before upgrading to Apollo Server 4. - If you use Apollo Server with TypeScript, you must use TypeScript v4.7.0 or newer. - #### New package structure Apollo Server 4 is distributed in the `@apollo/server` package. This package replaces `apollo-server`, `apollo-server-core`, `apollo-server-express`, `apollo-server-errors`, `apollo-server-types`, and `apollo-server-plugin-base`. @@ -28,19 +34,18 @@ Other functionality is exported from "deep imports" on `@apollo/server`. `startS The `@apollo/server` package is built natively as both an ECMAScript Module (ESM) and as a CommonJS module (CJS); Apollo Server 3 was only built as CJS. This allows ESM-native bundlers to create more efficient bundles. Other packages have been renamed: + - `apollo-datasource-rest` is now [`@apollo/datasource-rest`](https://www.npmjs.com/package/@apollo/datasource-rest). - `apollo-server-plugin-response-cache` is now [`@apollo/server-plugin-response-cache`](https://www.npmjs.com/package/@apollo/server-plugin-response-cache). - `apollo-server-plugin-operation-registry` is now [`@apollo/server-plugin-operation-registry`](https://www.npmjs.com/package/@apollo/server-plugin-operation-registry). - `apollo-reporting-protobuf` (an internal implementation detail for the usage reporting plugin) is now [`@apollo/usage-reporting-protobuf`](https://www.npmjs.com/package/@apollo/usage-reporting-protobuf). - #### Removed web framework integrations -Prior to Apollo Server 4, the only way to integrate a web framework with Apollo Server was for the Apollo Server project to add an official `apollo-server-x` subclass maintained as part of the core project. Apollo Server 4 makes it easy for users to integrate with their favorite web framework, and so we have removed most of the framework integrations from the core project so that framework integrations can be maintained by users who are passionate about that framework. Because of this, the core project no longer directly maintains integrations for Fastify, Hapi, Koa, Micro, AWS Lambda,Google Cloud Functions, Azure Functions, or Cloudflare. We expect that [community integrations](https://www.apollographql.com/docs/apollo-server/v4/integrations/integration-index/) will eventually be created for most of these frameworks and serverless environments. +Prior to Apollo Server 4, the only way to integrate a web framework with Apollo Server was for the Apollo Server project to add an official `apollo-server-x` subclass maintained as part of the core project. Apollo Server 4 makes it easy for users to integrate with their favorite web framework, and so we have removed most of the framework integrations from the core project so that framework integrations can be maintained by users who are passionate about that framework. Because of this, the core project no longer directly maintains integrations for Fastify, Hapi, Koa, Micro, AWS Lambda,Google Cloud Functions, Azure Functions, or Cloudflare. We expect that [community integrations](https://www.apollographql.com/docs/apollo-server/v4/integrations/integration-index/) will eventually be created for most of these frameworks and serverless environments. Apollo Server's support for the Express web framework no longer also supports its older predecessor [Connect](https://github.com/senchalabs/connect). - #### Removed constructor options - The `dataSources` constructor option essentially added a post-processing step to your app's context function, creating `DataSource` subclasses and adding them to a `dataSources` field on your context value. This meant the TypeScript type the `context` function returns was _different_ from the context type your resolvers and plugins receive. Additionally, this design obfuscated that `DataSource` objects are created once per request (i.e., like the rest of the context object). Apollo Server 4 removes the `dataSources` constructor option. You can now treat `DataSources` like any other part of your `context` object. See the [migration guide](https://www.apollographql.com/docs/apollo-server/migration/) for details on how to move your `dataSources` function into your `context` function. @@ -74,7 +79,6 @@ Apollo Server's support for the Express web framework no longer also supports it - Other [changes to error handling outside of resolvers](https://www.apollographql.com/docs/apollo-server/migration/#improvements-to-error-handling-outside-of-resolvers) are described in the migration guide. - The `parseOptions` constructor option only affects the parsing of incoming operations, not the parsing of `typeDefs`. - #### Plugin API changes - The field `GraphQLRequestContext.context` has been renamed to `contextValue`. @@ -87,13 +91,12 @@ Apollo Server's support for the Express web framework no longer also supports it - `requestDidStart` hooks are called in parallel rather than in series. - A few changes have been made which may affect [custom `gateway` and `GraphQLDataSource` implementations](https://www.apollographql.com/docs/apollo-server/migration/#custom-gateway-and-graphqldatasource-implementations). - #### Changes to defaults - CSRF prevention is on by default. - HTTP batching is disabled by default. - The default in-memory cache is bounded. -- The local landing page defaults to the *embedded* Apollo Sandbox; this provides a user interface for executing GraphQL operations which doesn't require any additional CORS configuration. +- The local landing page defaults to the _embedded_ Apollo Sandbox; this provides a user interface for executing GraphQL operations which doesn't require any additional CORS configuration. - The usage reporting and inline trace plugins mask errors in their reports by default: error messages are replaced with `` and error extensions are replaced with a single extension `maskedBy`. This can be configured with the `sendErrors` option to `ApolloServerPluginUsageReporting` and the `includeErrors` option to `ApolloServerPluginInlineTrace`. The `rewriteError` option to these plugins has been removed; its functionality is subsumed by the new options. #### TypeScript-specific changes diff --git a/packages/server/package.json b/packages/server/package.json index 01b5c8f0936..2fe9b2e83d3 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/server", - "version": "4.0.0", + "version": "4.0.1", "description": "Core engine for Apollo GraphQL server", "type": "module", "main": "dist/cjs/index.js",