Situation
-
Cypress Docker images currently include the npm module Yarn v1 Classic, with its latest release yarn@1.22.22 from Mar 9, 2024, in each cypress/base, cypress/browser and cypress/included image build.
-
The cypress/factory image allows the selection of any Yarn v1 Classic version using YARN_VERSION for customized Cypress image building.
-
Yarn v1 Classic has been in maintenance mode since Jan 2020 with no further support.
Background
Yarn was originally released 14 years ago. The yarn@1.0.0 release followed then 8 years ago. With the release of Yarn 2 in Jan 2020, it was announced that Yarn v1 would enter maintenance mode and provide security fixes only. This is underlined by the notice on the source repo https://github.com/yarnpkg/yarn :
The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
The last Yarn v1 Classic release was yarn@1.22.22, more than two years ago.
Yarn v1 Classic CircleCI config attempts to test against Node.js version 4 - 13 only. The pipeline runs and fails nightly in CircleCI. Edit: pipeline fails and no longer runs nightly
Cloning the repo and attempting to run yarn test locally under Ubuntu 24.04.3 LTS produces failures on all Node.js versions from 8 - 25.
The PGP signing key 6A010C5166006599AA17F08146C2130DFD2497F5 expires on 2030-01-22T18:44:02Z.
Assessment
Yarn v1 Classic must be considered as no longer suitable for production usage.
- It is untested in currently supported Node.js versions
>=20
- Emerging bugs and open issues are not addressed
Inclusion in production-ready Cypress Docker images suggest an implicit and unwarranted endorsement by Cypress for continued usage.
Recommendation
Remove Yarn v1 Classic from Cypress Docker images.
The first step should be to announce a deprecation. The next opportunity for removing Yarn v1 Classic, without causing a separate breaking change, would be with the planned release of Node.js 26 in April 2026. This version of Node.js is planned to transition to LTS in October 2026 (see schedule.json).
Suggested Timeline
| Milestone |
External Date |
Suggested Date |
PR |
Factory |
| Freeze of Yarn v1 Classic and removal of support |
2020-01-24 |
|
|
|
| Deprecate usage of Yarn v1 Classic with Cypress Docker images |
|
Apr 2026 |
#1490 |
7.4.0 |
Disallow Yarn v1 Classic in new Cypress Docker images using Node.js >=26 |
|
Apr 2026 |
#1495 |
8.0.0 |
| Node.js 26.0.0 Current release |
2026-04-22 |
|
|
|
Remove Yarn v1 Classic from cypress/factory |
|
Oct 2026 |
|
|
| Node.js 26.x transition to Active LTS status |
2026-10-28 |
|
|
|
Situation
Cypress Docker images currently include the npm module Yarn v1 Classic, with its latest release yarn@1.22.22 from Mar 9, 2024, in each
cypress/base,cypress/browserandcypress/includedimage build.The cypress/factory image allows the selection of any Yarn v1 Classic version using
YARN_VERSIONfor customized Cypress image building.Yarn v1 Classic has been in maintenance mode since Jan 2020 with no further support.
Background
Yarn was originally released 14 years ago. The yarn@1.0.0 release followed then 8 years ago. With the release of Yarn 2 in Jan 2020, it was announced that Yarn v1 would enter maintenance mode and provide security fixes only. This is underlined by the notice on the source repo https://github.com/yarnpkg/yarn :
The last Yarn v1 Classic release was yarn@1.22.22, more than two years ago.
yarn@0.1.0releaseYarn v1 Classic CircleCI config attempts to test against Node.js versionEdit: pipeline fails and no longer runs nightly4 - 13only. The pipeline runs and fails nightly in CircleCI.Cloning the repo and attempting to run
yarn testlocally under Ubuntu24.04.3LTS produces failures on all Node.js versions from8 - 25.The PGP signing key 6A010C5166006599AA17F08146C2130DFD2497F5 expires on 2030-01-22T18:44:02Z.
Assessment
Yarn v1 Classic must be considered as no longer suitable for production usage.
>=20Inclusion in production-ready Cypress Docker images suggest an implicit and unwarranted endorsement by Cypress for continued usage.
Recommendation
Remove Yarn v1 Classic from Cypress Docker images.
The first step should be to announce a deprecation. The next opportunity for removing Yarn v1 Classic, without causing a separate breaking change, would be with the planned release of Node.js 26 in April 2026. This version of Node.js is planned to transition to LTS in October 2026 (see schedule.json).
Suggested Timeline
>=26cypress/factory