Skip to content

Commit 9306c48

Browse files
committed
Merge branch 'release/15.0.0' of github.com:cypress-io/cypress into breaking/remove_angular_17_cursor
2 parents 383853a + 0f14f69 commit 9306c48

File tree

210 files changed

+5358
-3712
lines changed

Some content is hidden

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

210 files changed

+5358
-3712
lines changed

Diff for: .circleci/cache-version.txt

+1-1
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-
3-18-2024:4:25
3+
4-7-2025-v1

Diff for: .circleci/workflows.yml

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
version: 2.1
22

3-
chrome-stable-version: &chrome-stable-version "134.0.6998.165"
4-
chrome-beta-version: &chrome-beta-version "135.0.7049.41"
5-
firefox-stable-version: &firefox-stable-version "136.0.3"
3+
chrome-stable-version: &chrome-stable-version "135.0.7049.95"
4+
chrome-beta-version: &chrome-beta-version "136.0.7103.33"
5+
firefox-stable-version: &firefox-stable-version "137.0"
66

77
orbs:
8-
browser-tools: circleci/[email protected].2
8+
browser-tools: circleci/[email protected].3
99

1010
defaults: &defaults
1111
parallelism: 1
@@ -497,9 +497,9 @@ commands:
497497
default: cy-doc
498498
steps:
499499
- run: pwd
500-
- run:
501-
name: print global yarn cache path
502-
command: echo $(yarn global bin)
500+
##- run:
501+
## name: print global yarn cache path and size
502+
## command: du -sh $(yarn global bin)
503503
- run:
504504
name: print yarn version
505505
command: yarn versions
@@ -776,6 +776,7 @@ commands:
776776
- windows-install-chrome:
777777
browser: <<parameters.browser>>
778778
- run:
779+
name: Run <<parameters.package>> UI tests
779780
command: |
780781
echo Current working directory is $PWD
781782
echo Total containers $CIRCLE_NODE_TOTAL
@@ -801,7 +802,7 @@ commands:
801802
if [[ <<parameters.type>> == 'ct' ]]; then
802803
# component tests are located side by side with the source codes.
803804
# for the app component tests, ignore specs that are known to cause failures on contributor PRs (see https://discuss.circleci.com/t/how-to-exclude-certain-files-from-circleci-test-globbing/41028)
804-
TESTFILES=$(find src -regextype posix-extended -name '*.cy.*' -not -regex '.*(FileMatch|PromoAction|SelectorPlayground|useDurationFormat|useTestingType|SpecPatterns).cy.*' | circleci tests split --total=$CIRCLE_NODE_TOTAL)
805+
TESTFILES=$(find src -regextype posix-extended -name '*.cy.*' | circleci tests split --total=$CIRCLE_NODE_TOTAL)
805806
else
806807
GLOB="cypress/e2e/**/*cy.*"
807808
TESTFILES=$(circleci tests glob "$GLOB" | circleci tests split --total=$CIRCLE_NODE_TOTAL)

Diff for: .gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Cached Theme Material Design.pak
2020
packages/data-context/src/**/*.js
2121
packages/errors/src/**/*.js
2222
packages/errors/test/**/*.js
23+
!packages/errors/test/.mocharc.js
2324

2425
# from driver
2526
packages/driver/cypress/videos
@@ -398,4 +399,7 @@ tooling/v8-snapshot/cache/prod-win32
398399
system-tests/lib/validations
399400

400401
.nx/cache
401-
.nx/workspace-data
402+
.nx/workspace-data
403+
404+
# IDE files
405+
.cursor

Diff for: .yarnclean

+1-4
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,4 @@ wercker.yml
4444
.flowconfig
4545
.documentup.json
4646
.yarn-metadata.json
47-
.travis.yml
48-
49-
# misc
50-
*.md
47+
.travis.yml

Diff for: CONTRIBUTING.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ We try to tag all issues with a `pkg/` or `npm/` tag describing the appropriate
201201
You must have the following installed on your system to contribute locally:
202202

203203
- [`Node.js`](https://nodejs.org/en/) (See the root [.node-version](.node-version) file for the required version. You can find a list of tools on [node-version-usage](https://github.com/shadowspawn/node-version-usage) to switch the version of [`Node.js`](https://nodejs.org/en/) based on [.node-version](.node-version).)
204-
- [`Yarn v1 Classic`](https://yarnpkg.com/en/docs/install). If you have [`Node.js`](https://nodejs.org/en/) experimental [corepack](https://nodejs.org/docs/latest/api/corepack.html) enabled, installation of the Yarn package manager will be handled automatically. Attempting to install Yarn globally with npm will fail if [corepack](https://nodejs.org/docs/latest/api/corepack.html) is enabled.
204+
- [`Yarn v1 Classic`](https://yarnpkg.com/en/docs/install) (See also [Corepack](#corepack) below.)
205205
- [`python`](https://www.python.org/downloads/) (since we use `node-gyp`. See their [repo](https://github.com/nodejs/node-gyp) for Python version requirements.)
206206

207207
#### Debian/Ubuntu
@@ -216,6 +216,10 @@ For Ubuntu `24.04` and above, refer also to the [Ubuntu 24.04 Release notes](htt
216216

217217
Currently no additional instructions for installation requirements.
218218

219+
#### Corepack
220+
221+
The Cypress repo is compatible with Corepack and contains a `packageManager` field in the root [package.json](./package.json) file to automatically install Yarn. Cypress does not however require you to enable Corepack. It is classed as experimental and not suitable for production by the Node.js organization. Refer to the repo [corepack](https://github.com/nodejs/corepack#readme) for instructions, known issues and workarounds.
222+
219223
### Getting Started
220224

221225
The project utilizes [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) and leverages [lerna](https://lerna.js.org/) to orchestrate running within the context of one or more packages. While it is not as important to understand lerna or yarn workspaces, it **is important** to note that running scripts or installing new dependencies should always happen from the repo's root directory.

Diff for: cli/.mocharc.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
spec: 'test/**/*_spec.js',
3+
timeout: 10000,
4+
reporter: 'spec',
5+
recursive: true
6+
}

Diff for: cli/CHANGELOG.md

+27-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,34 @@ _Released 07/01/2025 (PENDING)_
88
- Removed support for Angular 17. The minimum supported version is now `18.0.0`. Addresses [#31303](https://github.com/cypress-io/cypress/issues/31303).
99
- Removed support for Node.js 18 and Node.js 23. Addresses [#31302](https://github.com/cypress-io/cypress/issues/31302).
1010
- 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).
11+
- The Cypress configuration wizard for Component Testing supports TypeScript 5.0 or greater. Addresses [#31187](https://github.com/cypress-io/cypress/issues/31187).
1112

12-
## 14.2.2
13+
## 14.3.1
1314

14-
_Released 4/8/2025 (PENDING)_
15+
_Released 4/17/2025_
16+
17+
**Performance:**
18+
19+
- Reduced the initial timeout for the preflight API request to determine proxy conditions from sixty seconds to five, and made this timeout duration configurable with the `CYPRESS_INITIAL_PREFLIGHT_TIMEOUT` environment variable. Addresses [#28423](https://github.com/cypress-io/cypress/issues/28423). Addressed in [#31283](https://github.com/cypress-io/cypress/pull/31283).
20+
21+
**Bugfixes:**
22+
23+
- The [`cy.press()`](http://on.cypress.io/api/press) command no longer errors when used in specs subsequent to the first spec in run mode. Fixes [#31466](https://github.com/cypress-io/cypress/issues/31466).
24+
- Fixed an issue where certain proxy conditions prevented test runs from being recorded. Fixes [#31485](https://github.com/cypress-io/cypress/issues/31485).
25+
26+
**Misc:**
27+
28+
- Suppress benign warnings that reference OOM score of renderer. Addresses [#29563](https://github.com/cypress-io/cypress/issues/29563). Addressed in [#31521](https://github.com/cypress-io/cypress/pull/31521).
29+
- The UI of the reporter and URL were updated to a darker gray background for better color contrast. Addressed in [#31475](https://github.com/cypress-io/cypress/pull/31475).
30+
- Fixed an issue where the error message output when attempting to install Cypress on an unsupported architecture included an outdated documentation link to Cypress system requirements. Fixes [#31512](https://github.com/cypress-io/cypress/issues/31512).
31+
32+
## 14.3.0
33+
34+
_Released 4/8/2025_
35+
36+
**Features:**
37+
38+
- The [`cy.press()`](https://on.cypress.io/api/press) command is now available. It supports dispatching native Tab keyboard events to the browser. Addresses [#31050](https://github.com/cypress-io/cypress/issues/31050). Addresses [#299](https://github.com/cypress-io/cypress/issues/299). Addressed in [#31398](https://github.com/cypress-io/cypress/pull/31398).
1539

1640
**Bugfixes:**
1741

@@ -26,7 +50,7 @@ _Released 4/8/2025 (PENDING)_
2650

2751
**Dependency Updates:**
2852

29-
- Upgraded `mocha` from `7.0.1` to `7.1.2`. Addressed in [#31416](https://github.com/cypress-io/cypress/pull/31416).
53+
- Upgraded `mocha` from `7.0.1` to `7.2.0`. Addressed in [#31423](https://github.com/cypress-io/cypress/pull/31423) and [#31432](https://github.com/cypress-io/cypress/pull/31432).
3054
- Upgraded `webdriver` from `9.7.3` to `9.11.0`. Addressed in [#31315](https://github.com/cypress-io/cypress/pull/31315).
3155
- Upgraded `win-version-info` from `5.0.1` to `6.0.1`. Addressed in [#31358](https://github.com/cypress-io/cypress/pull/31358).
3256

Diff for: cli/__snapshots__/install_spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ Installing Cypress (version: 1.2.3)
274274
exports['error when installing on unsupported os'] = `
275275
Error: The Cypress App could not be installed. Your machine does not meet the operating system requirements.
276276
277-
https://on.cypress.io/guides/getting-started/installing-cypress#system-requirements
277+
https://on.cypress.io/app/get-started/install-cypress#System-requirements
278278
279279
----------
280280

Diff for: cli/lib/errors.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const invalidOS = {
4242
description: 'The Cypress App could not be installed. Your machine does not meet the operating system requirements.',
4343
solution: stripIndent`
4444
45-
${chalk.blue('https://on.cypress.io/guides/getting-started/installing-cypress#system-requirements')}`,
45+
${chalk.blue('https://on.cypress.io/app/get-started/install-cypress#System-requirements')}`,
4646
}
4747

4848
const failedDownload = {

Diff for: cli/lib/exec/spawn.js

+6
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ const readline = require('readline')
1616
const isXlibOrLibudevRe = /^(?:Xlib|libudev)/
1717
const isHighSierraWarningRe = /\*\*\* WARNING/
1818
const isRenderWorkerRe = /\.RenderWorker-/
19+
// This is a warning that occurs when running in a container on Linux.
20+
// https://github.com/cypress-io/cypress/issues/29563
21+
// Example:
22+
// [437:1212/125803.148706:ERROR:zygote_host_impl_linux.cc(273)] Failed to adjust OOM score of renderer with pid 610: Permission denied (13)
23+
const isOOMScoreWarningRe = /Failed to adjust OOM score of renderer with pid/
1924

2025
// Chromium (which Electron uses) always makes several attempts to connect to the system dbus.
2126
// This works fine in most desktop environments, but in a docker container, there is no dbus service
@@ -100,6 +105,7 @@ const GARBAGE_WARNINGS = [
100105
isXlibOrLibudevRe,
101106
isHighSierraWarningRe,
102107
isRenderWorkerRe,
108+
isOOMScoreWarningRe,
103109
isDbusWarning,
104110
isCertVerifyProcBuiltin,
105111
isHostVulkanDriverWarning,

Diff for: cli/test/lib/exec/spawn_spec.js

+6
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ describe('lib/exec/spawn', function () {
9999
[78887:1023/114920.074882:ERROR:debug_utils.cc(14)] Hit debug scenario: 4
100100
101101
[18489:0822/130231.159571:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute.
102+
103+
[437:1212/125803.148706:ERROR:zygote_host_impl_linux.cc(273)] Failed to adjust OOM score of renderer with pid 610: Permission denied (13)
102104
`
103105

104106
const lines = _
@@ -124,6 +126,10 @@ describe('lib/exec/spawn', function () {
124126
it('returns true for GLX driver errors', () => {
125127
expect(spawn.isGarbageLineWarning('glx: failed to create drisw screen')).to.be.true
126128
})
129+
130+
it('returns true for OOM score adjustment warnings', () => {
131+
expect(spawn.isGarbageLineWarning('[437:1212/125803.148706:ERROR:zygote_host_impl_linux.cc(273)] Failed to adjust OOM score of renderer with pid 610: Permission denied (13)')).to.be.true
132+
})
127133
})
128134

129135
context('.start', function () {

Diff for: cli/test/mocha.opts

-4
This file was deleted.

0 commit comments

Comments
 (0)