Skip to content

Commit

Permalink
docs: Apollo Server v3 is now end-of-life (#7947)
Browse files Browse the repository at this point in the history
  • Loading branch information
glasser authored Oct 25, 2024
1 parent 4e90495 commit 2e97e0d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 12 deletions.
2 changes: 1 addition & 1 deletion docs/source/migration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Apollo Server 4 provides the following features:
> 🚚 This guide helps you migrate from Apollo Server 3 to Apollo Server 4. If you are using Apollo Server 2, you must first [migrate to Apollo Server 3](https://www.apollographql.com/docs/apollo-server/v3/migration) before following this guide.
We recommend that all users of [previous versions](./previous-versions) of Apollo Server upgrade to Apollo Server 4 as soon as possible. Apollo Server 3 is deprecated with an end-of-life date of October 22, 2024. Apollo Server 2 is end-of-life as of October 22, 2023.
We recommend that all users of [previous versions](./previous-versions) of Apollo Server upgrade to Apollo Server 4 as soon as possible. Apollo Server 3 is end-of-life as of October 22, 2024. Apollo Server 2 is end-of-life as of October 22, 2023.

## The new `@apollo/server` package

Expand Down
23 changes: 15 additions & 8 deletions docs/source/previous-versions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,34 @@ Apollo Server 4 is the latest version of Apollo Server and is [generally availab

## Deprecated versions

Deprecated versions continue to receive security patches and updates to address major regressions until their end-of-life date. They typically do not receive new features and other kinds of bug fixes may or may not be backported to deprecated versions at Apollo's discretion.

There are currently no deprecated versions of Apollo Server.

> [Learn more about deprecation and end-of-life.](/resources/product-launch-stages#stages-for-discontinuing-support)
Apollo Server 3 is currently [deprecated](/resources/product-launch-stages#deprecated), with an end-of-life date of **October 22, 2024**.

Deprecated versions continue to receive security patches and updates to address major regressions until their end-of-life date. They typically do not receive new features and other kinds of bug fixes may or may not be backported to deprecated versions at Apollo's discretion.
## End-of-life versions

Apollo no longer commits to providing any support for these versions. While you may still file issues about security concerns or significant regressions, Apollo may choose not to address them.

End-of-life versions will remain available in the npm registry and can still be installed and used in your projects. However, Apollo doesn't guarantee any further support for them, nor does Apollo recommend their use. Additionally, Apollo doesn't guarantee that GraphOS features will continue to work for packages beyond their end-of-life date.

### Apollo Server 3
> [Learn more about deprecation and end-of-life.](/resources/product-launch-stages#stages-for-discontinuing-support)
[Apollo Server 3](/apollo-server/v3/) is deprecated and will transition to end-of-life on **October 22, 2024**. We encourage all Apollo Server 3 users to [**upgrade** to Apollo Server 4 now](./migration). Note that Apollo Server 2 and 3 were distributed in various npm packages (such as `apollo-server`, `apollo-server-core`, and `apollo-server-express`); Apollo Server 4 combines these packages into a single new [`@apollo/server` package](./migration/#the-new-apolloserver-package).
### Apollo Server 3

## End-of-life versions
[Apollo Server 3](/apollo-server/v3/) is end-of-life as of **October 22, 2024**. We encourage all Apollo Server 3 users to [**upgrade** to Apollo Server 4 now](./migration) as _soon as possible_.

Apollo no longer commits to providing any support for these versions. While you may still file issues about security concerns or significant regressions, Apollo may choose not to address them.
Note that Apollo Server 2 and 3 were distributed in various npm packages (such as `apollo-server`, `apollo-server-core`, and `apollo-server-express`); Apollo Server 4 combines these packages into a single new [`@apollo/server` package](./migration/#the-new-apolloserver-package).

### Apollo Server 2

[Apollo Server 2](/apollo-server/v2/) is end-of-life as of **October 22, 2023**. We encourage all users of Apollo Server 2 to **upgrade** to Apollo Server 4, first by following the [v3 migration guide](/apollo-server/v3/migration) and then following the [v4 migration guide](./migration). Note that Apollo Server 2 and 3 were distributed in various npm packages (such as `apollo-server`, `apollo-server-core`, and `apollo-server-express`); Apollo Server 4 combines these packages into a single new [`@apollo/server` package](./migration/#the-new-apolloserver-package).
[Apollo Server 2](/apollo-server/v2/) is end-of-life as of **October 22, 2023**. We encourage all users of Apollo Server 2 to **upgrade** to Apollo Server 4 as _soon as possible_, first by following the [v3 migration guide](/apollo-server/v3/migration) and then following the [v4 migration guide](./migration).

Note that Apollo Server 2 and 3 were distributed in various npm packages (such as `apollo-server`, `apollo-server-core`, and `apollo-server-express`); Apollo Server 4 combines these packages into a single new [`@apollo/server` package](./migration/#the-new-apolloserver-package).

We recommend upgrading to Apollo Server 4 as _soon as possible_. Depending on which Apollo Server features you use, the upgrade process might require several changes to your server. The most straightforward upgrade path is to first upgrade from Apollo Server 2 to 3, then once everything works, continue upgrading from Apollo Server 3 to 4.
Depending on which Apollo Server features you use, the upgrade process might require several changes to your server. The most straightforward upgrade path is to first upgrade from Apollo Server 2 to 3, then once everything works, continue upgrading from Apollo Server 3 to 4.

### Apollo Server 1

Expand Down
9 changes: 6 additions & 3 deletions scripts/deprecate-old-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
# As far as we can tell, `npm deprecate` only deprecates currently existing
# package versions. Whenever we publish a backport to AS2/AS3, the latest
# version will end up not deprecated! So after publishing backport versions, we
# run this script (with apollo-bot credentials). You must provide an OTP env variable in order for this script to run (it does indeed use the OTP more than once, but it works). Note: when I ran this last (8/22/23) I got a bunch of 422 errors from NPM, but it still worked.
# run this script (with apollo-bot credentials). You must provide an OTP env
# variable in order for this script to run (it does indeed use the OTP more than
# once, but it works). Note: when I ran this last (8/22/23) I got a bunch of 422
# errors from NPM, but it still worked.
# https://stackoverflow.com/questions/74466186/keeping-npm-deprecated-packages-deprecated

set -e
Expand All @@ -14,7 +17,7 @@ if [ -z "$OTP" ]; then
fi

with_replacement() {
npm deprecate $1 'The `'"$1"'` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package'"'"'s functionality is now found in the `'"$2"'` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.' --otp=$OTP &
npm deprecate $1 'The `'"$1"'` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package'"'"'s functionality is now found in the `'"$2"'` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.' --otp=$OTP &
}

with_replacement apollo-server @apollo/server
Expand All @@ -37,7 +40,7 @@ with_replacement apollo-server-lambda @apollo/server
with_replacement apollo-server-micro @apollo/server

# This package isn't exactly replaced, so leave that sentence off.
npm deprecate apollo-datasource 'The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.' --otp=$OTP &
npm deprecate apollo-datasource 'The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.' --otp=$OTP &

caching() {
npm deprecate $1 'This package is part of the legacy caching implementation used by Apollo Server v2 and v3, and is no longer maintained. We recommend you switch to the newer Keyv-based implementation (which is compatible with all versions of Apollo Server). See https://www.apollographql.com/docs/apollo-server/v3/performance/cache-backends#legacy-caching-implementation for more details.' --otp=$OTP &
Expand Down

0 comments on commit 2e97e0d

Please sign in to comment.