-
Couldn't load subscription status.
- Fork 396
Description
Situation
-
Cypress Docker images currently include the npm module Yarn v1 Classic, with its latest release [email protected] 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 [email protected] 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 [email protected], more than a year and a half ago.
| Event | Date |
|---|---|
Inital [email protected] release |
Mar 2012 |
| [email protected] release | Sep 2017 |
| Yarn 2 GA | Jan 2020 |
| [email protected] release | Mar 2024 |
Yarn v1 Classic CircleCI config attempts to test against Node.js version 4 - 13 only. The pipeline runs and fails nightly in CircleCI. 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.
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 | Suggested Date |
|---|---|
| Deprecate usage of Yarn v1 Classic | Oct 2025 |
Remove Yarn v1 Classic from new Cypress Docker images using Node.js >=26 |
Apr 2026 |
Remove Yarn v1 Classic from cypress/factory |
Oct 2026 |