Skip to content

Commit 971b7ae

Browse files
breaking: remove Angular 17 support (#31446)
* breaking: remove Angular 17 support BREAKING CHANGE: Removed support for Angular 17. Only Angular 18 and 19 are now supported. This change affects the @cypress/angular package. Addresses #31303. * empty commit to kick CI * update changelog references to make it clearer on where angular 17 packages live historically * fix cy framework errors app test to use angualr 18 and 19 * fix issue where di was not discoverable in resolved system tests config * fix scaffold dependencies to use angular 18 and 19 and not 17 and 18 * fix zonr.js system test dependency resolution * bump cache * fix failing handler test --------- Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
1 parent 59323fb commit 971b7ae

File tree

34 files changed

+15944
-23638
lines changed

34 files changed

+15944
-23638
lines changed

.circleci/cache-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Bump this version to force CI to re-create the cache from scratch.
22

3-
4-22-2025
3+
4-24-2025

.circleci/workflows.yml

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ mainBuildFilters: &mainBuildFilters
3838
- /^release\/\d+\.\d+\.\d+$/
3939
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
4040
- 'update-v8-snapshot-cache-on-develop'
41-
- 'ryanm/fix/having-trouble-debugging-your-ci-failures-minimal'
41+
- 'breaking/remove_angular_17_cursor'
4242

4343
# usually we don't build Mac app - it takes a long time
4444
# but sometimes we want to really confirm we are doing the right thing
@@ -49,11 +49,7 @@ macWorkflowFilters: &darwin-workflow-filters
4949
- equal: [ develop, << pipeline.git.branch >> ]
5050
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
5151
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
52-
- equal:
53-
[
54-
'ryanm/fix/having-trouble-debugging-your-ci-failures-minimal',
55-
<< pipeline.git.branch >>
56-
]
52+
- equal: [ 'breaking/remove_angular_17_cursor', << pipeline.git.branch >> ]
5753
- matches:
5854
pattern: /^release\/\d+\.\d+\.\d+$/
5955
value: << pipeline.git.branch >>
@@ -64,11 +60,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
6460
- equal: [ develop, << pipeline.git.branch >> ]
6561
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
6662
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
67-
- equal:
68-
[
69-
'ryanm/fix/having-trouble-debugging-your-ci-failures-minimal',
70-
<< pipeline.git.branch >>
71-
]
63+
- equal: [ 'breaking/remove_angular_17_cursor', << pipeline.git.branch >> ]
7264
- matches:
7365
pattern: /^release\/\d+\.\d+\.\d+$/
7466
value: << pipeline.git.branch >>
@@ -91,11 +83,7 @@ windowsWorkflowFilters: &windows-workflow-filters
9183
- equal: [ develop, << pipeline.git.branch >> ]
9284
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
9385
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
94-
- equal:
95-
[
96-
'ryanm/fix/having-trouble-debugging-your-ci-failures-minimal',
97-
<< pipeline.git.branch >>
98-
]
86+
- equal: [ 'breaking/remove_angular_17_cursor', << pipeline.git.branch >> ]
9987
- matches:
10088
pattern: /^release\/\d+\.\d+\.\d+$/
10189
value: << pipeline.git.branch >>
@@ -169,7 +157,7 @@ commands:
169157
name: Set environment variable to determine whether or not to persist artifacts
170158
command: |
171159
echo "Setting SHOULD_PERSIST_ARTIFACTS variable"
172-
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "ryanm/fix/having-trouble-debugging-your-ci-failures-minimal" ]]; then
160+
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "breaking/remove_angular_17_cursor" ]]; then
173161
export SHOULD_PERSIST_ARTIFACTS=true
174162
fi' >> "$BASH_ENV"
175163
# You must run `setup_should_persist_artifacts` command and be using bash before running this command

cli/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ _Released 07/01/2025 (PENDING)_
55

66
**Breaking Changes:**
77

8+
- Removed support for Angular 17. The minimum supported version is now `18.0.0`. Addresses [#31303](https://github.com/cypress-io/cypress/issues/31303).
89
- Removed support for Node.js 18 and Node.js 23. Addresses [#31302](https://github.com/cypress-io/cypress/issues/31302).
910
- Removed support for [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol) with the [firefox](https://www.mozilla.org/) browser. Addresses [#31189](https://github.com/cypress-io/cypress/issues/31189).
1011
- The Cypress configuration wizard for Component Testing supports TypeScript 5.0 or greater. Addresses [#31187](https://github.com/cypress-io/cypress/issues/31187).

npm/angular/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Mount Angular components in the open source [Cypress.io](https://www.cypress.io/
66
77
## Requirements
88

9-
- Angular 17.2.0+ (Cypress 13 and under supports Angular 13 - 16)
9+
- Angular 18.0.0+ (`@cypress/angular@2` supports Angular 13 - 16 and `@cypress/angular@3` supports Angular 17)
1010

1111
## Development
1212

npm/angular/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@
1313
},
1414
"dependencies": {},
1515
"devDependencies": {
16-
"@angular/common": "^17.2.0",
17-
"@angular/core": "^17.2.0",
18-
"@angular/platform-browser-dynamic": "^17.2.0",
16+
"@angular/common": "^18.0.0",
17+
"@angular/core": "^18.0.0",
18+
"@angular/platform-browser-dynamic": "^18.0.0",
1919
"@cypress/mount-utils": "0.0.0-development",
2020
"rollup": "^4.24.4",
2121
"typescript": "~5.4.5",
2222
"zone.js": "~0.14.6"
2323
},
2424
"peerDependencies": {
25-
"@angular/common": ">=17.2",
26-
"@angular/core": ">=17.2",
27-
"@angular/platform-browser-dynamic": ">=17.2",
25+
"@angular/common": ">=18.0.0",
26+
"@angular/core": ">=18.0.0",
27+
"@angular/platform-browser-dynamic": ">=18.0.0",
2828
"rxjs": ">=7.5.0",
2929
"zone.js": ">=0.13.0"
3030
},

npm/cypress-schematic/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131

3232
## Requirements
3333

34-
- Angular 17.2.0+ (Cypress 13 and under supports Angular 13 - 16)
35-
34+
- Angular 18.0.0+ (`@cypress/schematic@2` supports Angular 13 - 16 and `@cypress/schematic@3` supports Angular 17)
3635
## Usage ⏯
3736

3837
### Adding E2E and Component Testing

npm/cypress-schematic/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
"vitest": "2.1.4"
2828
},
2929
"peerDependencies": {
30-
"@angular/cli": ">=17.2",
31-
"@angular/core": ">=17.2"
30+
"@angular/cli": ">=18.0.0",
31+
"@angular/core": ">=18.0.0"
3232
},
3333
"license": "MIT",
3434
"repository": {

npm/webpack-dev-server/cypress/e2e/angular.cy.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import type { ProjectFixtureDir } from '@tooling/system-tests/lib/fixtureDirs'
44

55
const WEBPACK_ANGULAR: ProjectFixtureDir[] = [
6-
'angular-17',
76
'angular-18',
87
'angular-19',
98
]

npm/webpack-dev-server/test/handlers/angularHandler.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ chai.use(chaiPromise)
2222
describe('angularHandler', function () {
2323
this.timeout(1000 * 60)
2424

25-
it('sources the config from angular-17', async () => {
26-
const projectRoot = await scaffoldMigrationProject('angular-17')
25+
it('sources the config from angular-18', async () => {
26+
const projectRoot = await scaffoldMigrationProject('angular-18')
2727

2828
process.chdir(projectRoot)
2929
const devServerConfig = {

packages/app/cypress/e2e/runner/ct-framework-errors.cy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ describe.skip('Svelte', {
340340
})
341341
})
342342

343-
const angularVersions = [17, 18] as const
343+
const angularVersions = [18, 19] as const
344344

345345
angularVersions.forEach((angularVersion) => {
346346
describe(`Angular ${angularVersion}`, {

0 commit comments

Comments
 (0)