Skip to content

Commit a623e1f

Browse files
committed
Merge branch 'develop' into 19326-inflight
2 parents d68f450 + f69e209 commit a623e1f

File tree

258 files changed

+5638
-3862
lines changed

Some content is hidden

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

258 files changed

+5638
-3862
lines changed

.circleci/cache-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Bump this version to force CI to re-create the cache from scratch.
2-
8-19-2025
2+
9-2-2025-cli2

.circleci/workflows.yml

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 2.1
22

3-
chrome-stable-version: &chrome-stable-version "139.0.7258.138"
4-
chrome-beta-version: &chrome-beta-version "140.0.7339.24"
3+
chrome-stable-version: &chrome-stable-version "140.0.7339.127"
4+
chrome-beta-version: &chrome-beta-version "141.0.7390.16"
55
firefox-stable-version: &firefox-stable-version "142.0"
66

77
orbs:
@@ -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-
- 'chore/updates_post_15'
41+
- 'chore/refactor_cli_to_ts'
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,7 +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: [ 'chore/updates_post_15', << pipeline.git.branch >> ]
52+
- equal: [ 'chore/migrate-electron-lib-ts', << pipeline.git.branch >> ]
5353
- matches:
5454
pattern: /^release\/\d+\.\d+\.\d+$/
5555
value: << pipeline.git.branch >>
@@ -60,7 +60,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
6060
- equal: [ develop, << pipeline.git.branch >> ]
6161
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
6262
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
63-
- equal: [ 'chore/updates_post_15', << pipeline.git.branch >> ]
63+
- equal: [ 'chore/migrate-electron-lib-ts', << pipeline.git.branch >> ]
6464
- matches:
6565
pattern: /^release\/\d+\.\d+\.\d+$/
6666
value: << pipeline.git.branch >>
@@ -83,7 +83,7 @@ windowsWorkflowFilters: &windows-workflow-filters
8383
- equal: [ develop, << pipeline.git.branch >> ]
8484
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
8585
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
86-
- equal: [ 'chore/updates_post_15', << pipeline.git.branch >> ]
86+
- equal: [ 'chore/migrate-electron-lib-ts', << pipeline.git.branch >> ]
8787
- matches:
8888
pattern: /^release\/\d+\.\d+\.\d+$/
8989
value: << pipeline.git.branch >>
@@ -147,6 +147,12 @@ executors:
147147
PLATFORM: linux
148148
# TODO: Disabling snapshots for now on Linux Arm 64 architectures. Will revisit with https://github.com/cypress-io/cypress/issues/23557
149149
DISABLE_SNAPSHOT_REQUIRE: 1
150+
linux-x64: &linux-x64-executor
151+
machine:
152+
image: ubuntu-2004:2024.11.1
153+
resource_class: medium
154+
environment:
155+
PLATFORM: linux
150156

151157
commands:
152158
# This command inserts SHOULD_PERSIST_ARTIFACTS into BASH_ENV. This way, we can define the variable in one place and use it in multiple steps.
@@ -157,7 +163,7 @@ commands:
157163
name: Set environment variable to determine whether or not to persist artifacts
158164
command: |
159165
echo "Setting SHOULD_PERSIST_ARTIFACTS variable"
160-
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "chore/updates_post_15" ]]; then
166+
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "chore/refactor_cli_to_ts" ]]; then
161167
export SHOULD_PERSIST_ARTIFACTS=true
162168
fi' >> "$BASH_ENV"
163169
# You must run `setup_should_persist_artifacts` command and be using bash before running this command
@@ -1791,11 +1797,36 @@ jobs:
17911797
condition:
17921798
equal: [ *windows-executor, << parameters.executor >> ]
17931799
steps:
1794-
- run: yarn test-scripts
1795-
# run unit tests from each individual package
1796-
- run: yarn test
1797-
# run type checking for each individual package
1798-
- run: yarn lerna run types
1800+
- run:
1801+
name: Enable IPv6 in Docker
1802+
command: |
1803+
cat \<<'EOF' | sudo tee /etc/docker/daemon.json
1804+
{
1805+
"ipv6": true,
1806+
"fixed-cidr-v6": "2001:db8:1::/64"
1807+
}
1808+
EOF
1809+
cat \<<'EOF' | sudo tee /etc/hosts
1810+
127.0.0.1 localhost
1811+
::1 localhost
1812+
EOF
1813+
sudo service docker restart
1814+
- run:
1815+
name: Test scripts
1816+
command: |
1817+
source ./scripts/ensure-node.sh
1818+
yarn test-scripts
1819+
- run:
1820+
name: Test each individual package
1821+
command: |
1822+
source ./scripts/ensure-node.sh
1823+
# this is needed since we are have to be running as root to test some packages
1824+
sudo -E env "PATH=$PATH" yarn test
1825+
- run:
1826+
name: Test types
1827+
command: |
1828+
source ./scripts/ensure-node.sh
1829+
yarn lerna run types
17991830
- sanitize-verify-and-store-mocha-results:
18001831
expectedResultCount: 20
18011832

@@ -2908,6 +2939,7 @@ linux-x64-workflow: &linux-x64-workflow
29082939
requires:
29092940
- build
29102941
- unit-tests:
2942+
executor: linux-x64
29112943
requires:
29122944
- build
29132945
- verify-release-readiness:

.vscode/terminals.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@
8989
"onlySingle": true,
9090
"cwd": "[cwd]/packages/driver",
9191
"command": "yarn cypress:open"
92+
},
93+
{
94+
"name": "packages/network test",
95+
"focus": true,
96+
"onlySingle": true,
97+
"cwd": "[cwd]/packages/network",
98+
"command": "yarn test-watch [file]"
9299
}
93100
]
94101
}

CONTRIBUTING.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ Here is a list of the core packages in this repository with a short description,
181181
| [https-proxy](./packages/https-proxy) | `@packages/https-proxy` | This does https proxy for handling http certs and traffic. |
182182
| [icons](./packages/icons) | `@packages/icons` | The Cypress icons. |
183183
| [launcher](./packages/launcher) | `@packages/launcher` | Finds and launches browsers installed on your system. |
184-
| [launchpad](./packages/launchpad) | `@packages/launcher` | The portal to running Cypress that displays in `open` mode. |
184+
| [launchpad](./packages/launchpad) | `@packages/launchpad` | The portal to running Cypress that displays in `open` mode. |
185185
| [net-stubbing](./packages/net-stubbing) | `@packages/net-stubbing` | Contains server side code for Cypress' network stubbing features. |
186186
| [network](./packages/network) | `@packages/network` | Various utilities related to networking. |
187187
| [packherd-require](./packages/packherd-require) | `@packages/packherd-require` | Loads modules that have been bundled by `@tooling/packherd`. |
@@ -242,13 +242,28 @@ You must have the following installed on your system to contribute locally:
242242

243243
`sudo apt install build-essential` meets the additional requirements to run `node-gyp` in the context of building Cypress from source.
244244
`python` is pre-installed on Debian-based systems including Ubuntu.
245-
The Python versions shipped with Ubuntu versions `20.04`, `22.04` and `24.*` are compatible with Cypress requirements.
245+
The default Python versions included with Debian `>=11` and Ubuntu `>=22.04`, which range from Python `3.9` - `3.13`, are all compatible with Cypress requirements.
246246

247-
For Ubuntu `24.04` and above, refer also to the [Ubuntu 24.04 Release notes](https://discourse.ubuntu.com/t/noble-numbat-release-notes/39890) in the section "Unprivileged user namespace restrictions" and apply one of the workarounds to disable unprivileged user namespace restrictions for the entire system, either for one boot or persistently, as described. If you do not do this you may receive an error which includes the text `FATAL:setuid_sandbox_host.cc` when you try to run Cypress on these versions of Ubuntu after building Cypress from source.
247+
For Ubuntu `>=24.04`, disable "Unprivileged user namespace restrictions" permanently for the entire system by executing the following commands that are derived from the [Ubuntu 24.04 Release notes](https://discourse.ubuntu.com/t/noble-numbat-release-notes/39890):
248+
249+
```shell
250+
echo "kernel.apparmor_restrict_unprivileged_userns=0" | sudo tee /etc/sysctl.d/60-apparmor-namespace.conf
251+
sudo sysctl --system
252+
```
253+
254+
If you prefer to disable the restrictions for one boot only, use instead:
255+
256+
```shell
257+
echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns
258+
```
259+
260+
If you do not disable these restrictions for the affected Ubuntu versions, then Cypress may exit with a fatal error when you try to run Cypress after building Cypress from source. The error includes the text `FATAL:setuid_sandbox_host.cc` and may be hidden, pending resolution of issue https://github.com/cypress-io/cypress/issues/32358.
248261

249262
#### Windows
250263

251-
When using [`nvm`](https://github.com/coreybutler/nvm-windows) and changing node versions, node install tools are not installed automatically. This is needed for `node-gyp` to rebuild `better-sqlite3`. If you are failing to build Cypress because of this, either with a Python install missing or a VSCode version not being detected by `node-gyp`, you likely need to run the `install_tools.bat` outlined in the [better-sqlite3 troubleshooting guide](https://github.com/WiseLibs/better-sqlite3/blob/master/docs/troubleshooting.md).
264+
Install the current [version of Python](https://devguide.python.org/versions/) (`3.13`) from the [Microsoft Store](https://apps.microsoft.com/store/search?publisher=Python+Software+Foundation) and install the [Visual Studio Community 2022](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community) edition, selecting the `Desktop development with C++` workload.
265+
266+
Refer to the `node-gyp` [Windows](https://github.com/nodejs/node-gyp/blob/main/README.md#on-windows) documentation section for a description of alternate ways of providing the `node-gyp` execution environment and for troubleshooting information.
252267

253268
#### Corepack
254269

cli/.babelrc

Lines changed: 0 additions & 3 deletions
This file was deleted.

cli/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ react*
2020
mount-utils
2121
angular
2222
svelte
23+
index.js
24+
lib/**/*.js

cli/.mocharc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module.exports = {
2-
spec: 'test/**/*_spec.js',
2+
spec: 'test/**/*_spec.ts',
33
timeout: 10000,
44
reporter: 'spec',
55
recursive: true

cli/.npmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# ignore all ts files in the library directory as they should be compiled to js
2+
lib/**/*.ts

cli/CHANGELOG.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,35 @@
11
<!-- See the ../guides/writing-the-cypress-changelog.md for details on writing the changelog. -->
2-
## 15.0.1
2+
## 15.2.0
33

4-
_Released 08/26/2025 (PENDING)_
4+
_Released 9/9/2025_
5+
6+
**Features:**
7+
8+
- Added support for using [@cypress/grep](https://www.npmjs.com/package/@cypress/grep) with Cypress Studio. Addresses [#32292](https://github.com/cypress-io/cypress/issues/32292).
9+
10+
**Bugfixes:**
11+
12+
- We now properly partition the `host` with `port` when caching family DNS lookups. This resolves issues where some `localhost` URLs were not resolving in `cy.visit()` in Cypress when they should have. Fixes [#25397](https://github.com/cypress-io/cypress/issues/25397). Addressed in [#32403](https://github.com/cypress-io/cypress/pull/32403).
13+
14+
**Dependency Updates:**
15+
16+
- Updated [`better-sqlite3`](https://www.npmjs.com/package/better-sqlite3) from `11.9.1` to `11.10.0`. Addressed in [#32404](https://github.com/cypress-io/cypress/pull/32404).
17+
18+
## 15.1.0
19+
20+
_Released 09/02/2025_
21+
22+
**Features:**
23+
24+
- Expanded `cy.press()` to support more key types. Addresses [#31051](https://github.com/cypress-io/cypress/issues/31051) and [#31488](https://github.com/cypress-io/cypress/issues/31488). Addressed in [#31496](https://github.com/cypress-io/cypress/pull/31496).
525

626
**Bugfixes:**
727

28+
- Fixed an issue where OS distributions and releases were sometimes not properly populated for Module API results and Cloud recordings. Fixes [#30533](https://github.com/cypress-io/cypress/issues/30533). Addressed in [#32283](https://github.com/cypress-io/cypress/pull/32283).
29+
- Fixed an issue where Cypress would fail to run on GNOME if GTK 4 and GTK 2/3 were detected in the Electron process. Addresses [#32361](https://github.com/cypress-io/cypress/issues/32361).
830
- Fixed an issue where the open Studio button would incorrectly show for component tests. Addressed in [#32315](https://github.com/cypress-io/cypress/pull/32315).
31+
- Fixed an issue where the TypeScript compiler wasn't being resolved correctly when `@cypress/webpack-batteries-included-preprocessor` was used as a standalone package. Fixes [#32338](https://github.com/cypress-io/cypress/issues/32338).
32+
- Fixed an issue where `tsx` was not being loaded correctly into the Cypress configuration process due to spaces being present in the path. Fixes [#32398](https://github.com/cypress-io/cypress/issues/32398).
933
* Fixed an issue where `cy.wait('@alias')` could time out when the underlying network request was canceled by navigation (e.g., `cy.visit`, `cy.reload`). Fixes [#19326](https://github.com/cypress-io/cypress/issues/19326).
1034

1135
**Misc:**
@@ -17,6 +41,7 @@ _Released 08/26/2025 (PENDING)_
1741
- Upgraded `esbuild` from `0.15.3` to `0.25.2`. Addressed in [#32231](https://github.com/cypress-io/cypress/pull/32231).
1842
- Upgraded `image-size` from `1.1.1` to `1.2.1`. Addressed in [#32232](https://github.com/cypress-io/cypress/pull/32232).
1943
- Upgraded `tar` from `6.1.5` to `6.2.1`. Addressed in [#32229](https://github.com/cypress-io/cypress/pull/32229).
44+
- Upgraded `axios` from `1.8.3` to `1.11.0`. Addresses [#32347](https://github.com/cypress-io/cypress/issues/32347).
2045

2146
## 15.0.0
2247

File renamed without changes.

0 commit comments

Comments
 (0)