Skip to content

Commit 571ad91

Browse files
Merge branch 'develop' into electron-bump-version
2 parents e95bd53 + 550be4a commit 571ad91

File tree

179 files changed

+5760
-2921
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+5760
-2921
lines changed

.circleci/config.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ workflows:
1212
requires:
1313
- pack-workflows
1414

15+
parameters:
16+
publish-binary-branch:
17+
type: string
18+
default: main
19+
1520
commands:
1621
persist:
1722
steps:
@@ -154,7 +159,3 @@ jobs:
154159
fi
155160
- continuation/continue:
156161
configuration_path: .circleci/packed/pipeline.yml
157-
158-
159-
160-

.circleci/src/pipeline/@pipeline.yml

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ version: 2.1
55
# the new location and/or names:
66
# - ./scripts/github-actions/update-browser-versions.js
77

8-
chrome-stable-version: &chrome-stable-version "141.0.7390.107"
9-
chrome-beta-version: &chrome-beta-version "142.0.7444.34"
8+
chrome-stable-version: &chrome-stable-version "142.0.7444.175"
9+
chrome-beta-version: &chrome-beta-version "143.0.7499.25"
1010
firefox-stable-version: &firefox-stable-version "142.0"
1111
base-internal-trixie: &base-internal-trixie cypress/base-internal:22.20.0-trixie
1212
base-internal-yarn-berry: &base-internal-yarn-berry cypress/base-internal:22.20.0-yarn-berry
1313
# Lowest Node.js version we support of the minimum major version supported
1414
# See https://docs.cypress.io/app/get-started/install-cypress#Nodejs
1515
base-internal-minimum-node: &base-internal-minimum-node cypress/base-internal:20.15.0
1616

17+
parameters:
18+
publish-binary-branch:
19+
type: string
20+
default: main
21+
1722
orbs:
1823
browser-tools: circleci/[email protected]
1924

@@ -116,7 +121,7 @@ commands:
116121
name: Set environment variable to determine whether or not to persist artifacts
117122
command: |
118123
echo "Setting SHOULD_PERSIST_ARTIFACTS variable"
119-
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "chore/remove_unused_anchors" ]]; then
124+
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "fix/angular_dep_resolution_windows" ]]; then
120125
export SHOULD_PERSIST_ARTIFACTS=true
121126
fi' >> "$BASH_ENV"
122127
# You must run `setup_should_persist_artifacts` command and be using bash before running this command
@@ -1364,19 +1369,6 @@ commands:
13641369
paths:
13651370
- cypress/cypress.zip
13661371

1367-
trigger-publish-binary-pipeline:
1368-
steps:
1369-
- run:
1370-
name: "Trigger publish-binary pipeline"
1371-
command: |
1372-
source ./scripts/ensure-node.sh
1373-
echo $SHOULD_PERSIST_ARTIFACTS
1374-
node ./scripts/binary/trigger-publish-binary-pipeline.js
1375-
- persist_to_workspace:
1376-
root: ~/
1377-
paths:
1378-
- triggered_pipeline.json
1379-
13801372
build-cypress-npm-package:
13811373
parameters:
13821374
executor:
@@ -2141,6 +2133,7 @@ jobs:
21412133

21422134
driver-integration-tests-electron:
21432135
<<: *defaults
2136+
resource_class: medium+
21442137
parallelism: 5
21452138
steps:
21462139
- run-driver-integration-tests:
@@ -2470,7 +2463,8 @@ jobs:
24702463
- restore_cached_workspace
24712464
- check-if-binary-exists
24722465
- setup_should_persist_artifacts
2473-
- trigger-publish-binary-pipeline
2466+
- trigger-publish-binary-pipeline:
2467+
target-repo-branch: << pipeline.parameters.publish-binary-branch >>
24742468

24752469
get-published-artifacts:
24762470
<<: *defaults
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
parameters:
2+
target-repo-branch:
3+
type: string
4+
default: main
5+
6+
steps:
7+
- run:
8+
name: Trigger publish-binary pipeline
9+
command: |
10+
if [[ -z "$CIRCLE_TOKEN" ]] || \
11+
[[ -z "$CIRCLE_SHA1" ]] || \
12+
[[ -z "$CIRCLE_JOB" ]] || \
13+
[[ -z "$CIRCLE_WORKFLOW_ID" ]] || \
14+
[[ -z "$CIRCLE_BUILD_URL" ]] || \
15+
[[ -z "$CIRCLE_BRANCH" ]]; then
16+
17+
echo "Missing required environment variables. Skipping pipeline trigger."
18+
exit 1
19+
fi
20+
if [[ -n "$SHOULD_PERSIST_ARTIFACTS" && "$SHOULD_PERSIST_ARTIFACTS" != "true" && "$SHOULD_PERSIST_ARTIFACTS" != "false" ]]; then
21+
echo "SHOULD_PERSIST_ARTIFACTS must be true, false, or undefined. Skipping pipeline trigger."
22+
exit 1
23+
fi
24+
if [[ -z $(which node) ]] || [[ -z $(which curl) ]] || [[ -z $(which jq) ]]; then
25+
echo "Missing required commands. Skipping pipeline trigger. Ensure jq, curl, and node are installed."
26+
exit 1
27+
fi
28+
echo "Determining next binary version..."
29+
export NEXT_VERSION=$(node ./scripts/get-next-version.js)
30+
if [[ $? != 0 ]]; then
31+
echo "Failed to determine next binary version. Skipping pipeline trigger."
32+
exit 1
33+
fi
34+
echo "Next binary version: $NEXT_VERSION"
35+
export BODY=$(cat \<<JSON_BODY_EOF
36+
{
37+
"branch": "<< parameters.target-repo-branch >>",
38+
"parameters": {
39+
"temp_dir": "${TMPDIR:-/tmp}",
40+
"sha": "$CIRCLE_SHA1",
41+
"job_name": "$CIRCLE_JOB",
42+
"triggered_workflow_id": "$CIRCLE_WORKFLOW_ID",
43+
"triggered_job_url": "$CIRCLE_BUILD_URL",
44+
"branch": "$CIRCLE_BRANCH",
45+
"should_persist_artifacts": ${SHOULD_PERSIST_ARTIFACTS:-false},
46+
"binary_version": "$NEXT_VERSION"
47+
}
48+
}
49+
JSON_BODY_EOF
50+
)
51+
if [[ $? != 0 ]]; then
52+
echo "Failed to compose the request body. Skipping pipeline trigger."
53+
exit 1
54+
fi
55+
56+
echo "Triggering new pipeline in cypress-publish-binary project on branch << parameters.target-repo-branch >>..."
57+
curl -X POST \
58+
-o ~/triggered_pipeline.json \
59+
-H "Circle-Token: $CIRCLE_TOKEN" \
60+
-H "Content-Type: application/json" \
61+
-d "$BODY" \
62+
https://circleci.com/api/v2/project/github/cypress-io/cypress-publish-binary/pipeline
63+
64+
if [[ $? != 0 ]]; then
65+
echo "Failed to trigger new pipeline. Skipping pipeline trigger."
66+
exit 1
67+
fi
68+
69+
echo "Pipeline saved to triggered_pipeline.json"
70+
echo "Triggered pipeline: https://app.circleci.com/pipelines/github/cypress-io/cypress-publish-binary/$(jq -r '.number' ~/triggered_pipeline.json)"
71+
- persist_to_workspace:
72+
root: ~/
73+
paths:
74+
- triggered_pipeline.json

.circleci/src/pipeline/workflows/pull-request.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,10 @@ jobs:
317317
- publish-binary
318318
requires:
319319
- node_modules_install
320-
- approve-contributor-pr
321320
- internal-pr-build
322-
- external-pr-build
321+
filters:
322+
branches:
323+
ignore: /^pull\/[0-9]+/
323324
- wait-for-binary-publish:
324325
type: approval
325326
requires:

cli/CHANGELOG.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,43 @@
11
<!-- See the ../guides/writing-the-cypress-changelog.md for details on writing the changelog. -->
2+
## 15.7.1
3+
4+
_Released 12/2/2025 (PENDING)_
5+
6+
**Performance:**
7+
8+
- Improved performance when viewing command snapshots in the Command Log. Element highlighting is now significantly faster, especially when highlighting multiple elements or complex pages. This is achieved by reducing redundant style calculations and batching DOM operations to minimize browser reflows. Addressed in [#32951](https://github.com/cypress-io/cypress/pull/32951).
9+
10+
## 15.7.0
11+
12+
_Released 11/19/2025_
13+
14+
**Performance:**
15+
16+
- Limits the number of matched elements that are tested for visibility when added to a command log entry. Fixes a crash scenario related to rapid successive DOM additions in conjunction with a large number of elements returned from a query. Addressed in [#32937](https://github.com/cypress-io/cypress/pull/32937).
17+
18+
**Features:**
19+
20+
- `Next.js` version 16 is now supported within component testing. Currently, `webpack` is used to bundle Next.js components. Turbopack, the [new default](https://nextjs.org/docs/app/guides/upgrading/version-16#turbopack-by-default) inside Next.js 16, is not yet supported within Cypress. Addresses [#32857](https://github.com/cypress-io/cypress/issues/32857).
21+
22+
**Bugfixes:**
23+
24+
- Fixed an issue where [`cy.wrap()`](https://docs.cypress.io/api/commands/wrap) would cause infinite recursion and freeze the Cypress App when called with objects containing circular references. Fixes [#24715](https://github.com/cypress-io/cypress/issues/24715). Addressed in [#32917](https://github.com/cypress-io/cypress/pull/32917).
25+
- Fixed an issue where top changes on test retries could cause attempt numbers to show up more than one time in the reporter and cause attempts to be lost in Test Replay. Addressed in [#32888](https://github.com/cypress-io/cypress/pull/32888).
26+
- Fixed an issue where stack traces that are used to determine a test's invocation details are sometimes incorrect. Addressed in [#32699](https://github.com/cypress-io/cypress/pull/32699).
27+
- Fixed an issue where larger than expected config values were causing issues in certain cases when recording to the Cypress Cloud. Addressed in [#32957](https://github.com/cypress-io/cypress/pull/32957).
28+
29+
**Misc:**
30+
31+
- The keyboard shortcuts modal now displays the keyboard shortcut for saving Studio changes - `` + `s` for Mac or `Ctrl` + `s` for Windows/Linux. Addressed [#32862](https://github.com/cypress-io/cypress/issues/32862). Addressed in [#32864](https://github.com/cypress-io/cypress/pull/32864).
32+
- The Cursor logo now correctly displays in the External editor dropdown. Addresses [#32062](https://github.com/cypress-io/cypress/issues/32062). Addressed in [#32911](https://github.com/cypress-io/cypress/pull/32911).
33+
234
## 15.6.0
335

436
_Released 11/4/2025_
537

638
**Features:**
739

8-
- Added a 'Self-healed' badge to the Command Log when [`cy.prompt()`](https://docs.cypress.io/api/commands/prompt) steps automatically recover after the element they need is not found in the cache. Addressed in [#32802](https://github.com/cypress-io/cypress/pull/32802).
40+
- Added a 'Self-healed' badge to the Command Log when [`cy.prompt()`](https://docs.cypress.io/api/commands/prompt) steps automatically recover after the element they need is not found in the cache. Addressed in [#32802](https://github.com/cypress-io/cypress/pull/32802).
941
- [`cy.prompt()`](https://docs.cypress.io/api/commands/prompt) will now show a warning in the `Get code` modal when there are unsaved changes in `Studio` that will be lost if the user saves the generated code. Addressed in [#32741](https://github.com/cypress-io/cypress/pull/32741).
1042

1143
**Bugfixes:**
@@ -23,7 +55,6 @@ _Released 11/4/2025_
2355
- The hitbox for expanding a grouped command has been widened. Addresses [#32778](https://github.com/cypress-io/cypress/issues/32778). Addressed in [#32783](https://github.com/cypress-io/cypress/pull/32783).
2456
- Have cursor on hover of the AUT URL to show as pointer. Addresses [#32777](https://github.com/cypress-io/cypress/issues/32777). Addressed in [#32782](https://github.com/cypress-io/cypress/pull/32782).
2557
- WebKit now prefers a cookie's fully qualified `domain` when requesting a cookie value via [`cy.getCookie()`](https://docs.cypress.io/api/commands/getcookie). If none are found, the cookie's apex domain will be used as a fallback. Addresses [#29954](https://github.com/cypress-io/cypress/issues/29954), [#29973](https://github.com/cypress-io/cypress/issues/29973) and [#30392](https://github.com/cypress-io/cypress/issues/30392). Addressed in [#32852](https://github.com/cypress-io/cypress/pull/32852).
26-
- The 'Next' tooltip style was updated. Addressed in [#32866](https://github.com/cypress-io/cypress/pull/32866).
2758
- Make test name header sticky in studio mode and in the tests list. Addresses [#32591](https://github.com/cypress-io/cypress/issues/32591). Addressed in [#32840](https://github.com/cypress-io/cypress/pull/32840)
2859
- The [`cy.exec()`](https://docs.cypress.io/api/commands/exec) type now reflects the correct yielded response type of `exitCode`. Addresses [#32875](https://github.com/cypress-io/cypress/issues/32875). Addressed in [#32885](https://github.com/cypress-io/cypress/pull/32885).
2960

cli/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
"process": "^0.11.10",
5555
"proxy-from-env": "1.0.0",
5656
"request-progress": "^3.0.0",
57-
"semver": "^7.7.1",
5857
"supports-color": "^8.1.1",
5958
"systeminformation": "5.27.7",
6059
"tmp": "~0.2.4",
@@ -74,7 +73,7 @@
7473
"@packages/root": "0.0.0-development",
7574
"@types/bluebird": "3.5.33",
7675
"@types/chai": "4.2.15",
77-
"@types/chai-jquery": "1.1.40",
76+
"@types/chai-jquery": "1.1.43",
7877
"@types/jquery": "3.3.31",
7978
"@types/lodash": "4.14.168",
8079
"@types/minimatch": "3.0.5",
@@ -90,6 +89,7 @@
9089
"mock-fs": "5.4.0",
9190
"nock": "13.2.9",
9291
"resolve-pkg": "2.0.0",
92+
"semver": "^7.7.3",
9393
"shelljs": "0.8.5",
9494
"strip-ansi": "6.0.1",
9595
"tsx": "4.20.6",

guides/esm-migration.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ When migrating some of these projects away from the `ts-node` entry [see `@packa
2828
- [ ] npm/eslint-plugin-dev
2929
- [x] npm/grep ✅ **COMPLETED**
3030
- [x] npm/mount-utils ✅ **COMPLETED**
31-
- [ ] npm/puppeteer **PARTIAL**
31+
- [x] npm/puppeteer **COMPLETED**
3232
- [x] npm/react ✅ **COMPLETED**
3333
- [x] npm/svelte ✅ **COMPLETED**
3434
- [x] npm/vite-dev-server ✅ **COMPLETED**
3535
- [x] vite-plugin-cypress-esm ✅ **COMPLETED**
3636
- [x] npm/vue ✅ **COMPLETED**
37-
- [ ] npm/webpack-batteries-included-preprocessor
37+
- [x] npm/webpack-batteries-included-preprocessor**COMPLETED**
3838
- [x] npm/webpack-dev-server ✅ **COMPLETED**
39-
- [ ] npm/webpack-preprocessor **PARTIAL**
39+
- [x] npm/webpack-preprocessor **COMPLETED**
4040

4141
##### Binary Packages
4242

@@ -88,9 +88,9 @@ When migrating some of these projects away from the `ts-node` entry [see `@packa
8888
- [x] npm/grep ✅ **COMPLETED**
8989
- [x] npm/puppeteer ✅ **COMPLETED**
9090
- [x] npm/vite-dev-server ✅ **COMPLETED**
91-
- [ ] npm/webpack-batteries-included-preprocessor
92-
- [ ] npm/webpack-dev-server
93-
- [ ] npm/webpack-preprocessor
91+
- [x] npm/webpack-batteries-included-preprocessor**COMPLETED**
92+
- [x] npm/webpack-dev-server**COMPLETED**
93+
- [x] npm/webpack-preprocessor**COMPLETED**
9494

9595
##### Binary Packages
9696

guides/release-process.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ _Note: It is advisable to notify the team that the `develop` branch is locked do
196196
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app/issues/41)
197197
- [cypress-example-recipes](https://github.com/cypress-io/cypress-example-recipes/issues/225)
198198
199-
26. Be sure to rotate the `NPM_TOKEN` variable inside the `org-npm-credentials` context inside CircleCI.
199+
26. Be sure to rotate the `NPM_TOKEN` variable inside the `org-npm-credentials` context inside CircleCI. If an npm token was created when logging in, please delete this token now.
200200
201201
Take a break, you deserve it! 👉😎👉
202202

npm/cypress-schematic/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"@angular-devkit/schematics-cli": "^20.1.6",
2121
"@angular/cli": "^20.1.6",
2222
"@schematics/angular": "^20.1.6",
23-
"@types/chai-enzyme": "0.6.13",
23+
"@types/chai-enzyme": "0.6.14",
2424
"@types/mocha": "8.0.3",
2525
"@types/node": "^22.19.0",
2626
"eslint": "^9.31.0",

npm/mount-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"devDependencies": {
1515
"@packages/eslint-config": "0.0.0-development",
1616
"@rollup/plugin-commonjs": "^17.1.0",
17-
"@rollup/plugin-node-resolve": "^11.1.1",
17+
"@rollup/plugin-node-resolve": "^11.2.1",
1818
"eslint": "^9.31.0",
1919
"rollup": "3.29.5",
2020
"rollup-plugin-dts": "5.0.0",

0 commit comments

Comments
 (0)