Skip to content

Commit 5c82475

Browse files
glasserrkoron007
andauthored
docs: Add "previous versions" page (#7147)
This links to migration guides and provides the current release phase status on each version. Co-authored-by: Rose M Koron <[email protected]>
1 parent d36db9d commit 5c82475

File tree

4 files changed

+43
-2
lines changed

4 files changed

+43
-2
lines changed

cspell-dict.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ automerge
1414
Automerge
1515
automerges
1616
backoff
17+
backported
1718
beyoncé
1819
blahblah
1920
Blocklist

docs/source/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"Get started": "/getting-started",
1111
"New in v4": {
1212
"Migrating to Apollo Server 4": "/migration",
13+
"Previous versions": "/previous-versions",
1314
"Changelog": "https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md"
1415
},
1516
"Defining a Schema": {

docs/source/migration.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ Apollo Server 4 provides the following features:
1616

1717
> For a list of all breaking changes, see the [changelog](https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md).
1818
19-
## The new `@apollo/server` package
20-
2119
> 🚚 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.
2220
21+
We recommend that all users of Apollo Server upgrade to Apollo Server 4 as soon as possible. Apollo Server 2 and Apollo Server 3 are [deprecated, with an end-of-life date of October 22nd, 2023](./previous-versions).
22+
23+
## The new `@apollo/server` package
24+
2325
Apollo Server 3 is distributed as a [fixed set of packages](/apollo-server/v3/integrations/middleware) for integrating with different web frameworks and environments. The main "batteries-included" [`apollo-server` package](/apollo-server/v3/integrations/middleware#apollo-server) reduces setup time by providing a minimally customizable GraphQL server.
2426

2527
In Apollo Server 3, the `apollo-server-core` package defines an `ApolloServer` "base" class, which each integration package (`apollo-server-express`,`apollo-server-lambda`, etc.) subclasses with a slightly different API. This packaging structure means that new integration package releases are lockstep versioned to Apollo Server itself, making it challenging to support major versions of frameworks and add integration-specific changes. Additionally, Apollo Server 3 doesn't provide a way to add new integrations for additional frameworks.

docs/source/previous-versions.mdx

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: Previous versions of Apollo Server
3+
---
4+
5+
## Apollo Server 4 is generally available
6+
7+
Apollo Server 4 is the latest version of Apollo Server and is [generally available](/resources/product-launch-stages#general-availability). Apollo Server 4 is ready for use in a production environment, and Apollo provides official support for this library. There is currently no planned end-of-life date.
8+
9+
## Deprecated versions
10+
11+
> [Learn more about deprecation and end-of-life.](https://www.apollographql.com/docs/resources/product-launch-stages#stages-for-discontinuing-support)
12+
13+
Both previous major versions of Apollo Server are currently [deprecated](/resources/product-launch-stages#deprecated), with end-of-life scheduled for **October 22nd, 2023**. Additionally, [certain features](#apollo-server-2) of Apollo Server 2 have an earlier end-of-life date of **December 31st, 2022**.
14+
15+
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.
16+
17+
### Apollo Server 3
18+
19+
[Apollo Server 3](/apollo-server/v3/) is deprecated and will transition to end-of-life on **October 22nd, 2023**. 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).
20+
21+
### Apollo Server 2
22+
23+
[Apollo Server 2](/apollo-server/v2/) is deprecated and will transition to end-of-life on **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).
24+
25+
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.
26+
27+
Three features of Apollo Server 2 have an earlier end-of-life date: **December 31st, 2022**. These three features are:
28+
* [Subscriptions](/apollo-server/v2/data/subscriptions/)
29+
* [File uploads](/apollo-server/v2/data/file-uploads/)
30+
* [GraphQL Playground](/apollo-server/v2/testing/graphql-playground/).
31+
32+
These features incorporate third-party software that is unmaintained (or can't be upgraded for compatibility reasons). Additionally, these features aren't in the default experiences of either Apollo Server 3 or 4. Apollo generally won't support these features' security issues or significant regressions after 2022. In other words, problems that are solved when a server is initialized with `new ApolloServer({ subscriptions: false, uploads: false, playground: false })` might not be addressed after 2022.
33+
34+
35+
### Apollo Server 1
36+
37+
Apollo Server 1 was a significantly different project and has been considered end-of-life since 2018.

0 commit comments

Comments
 (0)