sincecutoff.com

What changed in Cypress.

We scan this tool’s changelog a few times a day and keep the changes that would alter your agent’s next action: 11 since January 2026, each linked to its source.

YOUR MODEL or

Changes

INTRODUCED
11 CHANGES
LATEST 2026-10-13 · 1 TOOLS
OCT 132026

Cypress adds the cy.getByRole() query

When a Cypress test needs an element by ARIA role, optionally narrowed by accessible name, use `cy.getByRole(role, options)`; it retries until a match and chained assertions pass. By default it skips elements hidden from the accessibility tree and, for roles with native HTML elements, matches native elements only; set `hidden: true` or `native: false` to include those alternatives.

cy.getByRole('tab', { name: 'Billing' })
evidence docs.cypress.ioscore 0.99open card ↗
SEP 152026

Cypress trustedCertificates enables disk caching for declared certificate origins

When running asset-heavy specs on Chrome, Chromium, or Edge with an untrusted application certificate, add that certificate or its SPKI fingerprint to `trustedCertificates`. Cypress then lets the browser trust the declared origin so its static assets can be cached across navigations.

const { defineConfig } = require('cypress') module.exports = defineConfig({ trustedCertificates: [{ filePath: '<project-relative-path-to-PEM-certificate>' }], })
evidence docs.cypress.ioscore 0.93open card ↗
SEP 012026

Cookie commands become retryable queries

When overwriting any cookie read query in Cypress 16, register it with `Cypress.Commands.overwriteQuery()`; chained `.should()` assertions retry cookie reads until they pass or the command timeout expires.

Cypress.Commands.overwriteQuery('getCookie', function (originalFn, ...args) { return originalFn.apply(this, args) })
evidence docs.cypress.ioscore 0.95open card ↗
SEP 012026

Set viewport dimensions through cy.viewport() or test configuration

When a test needs different viewport dimensions, call `cy.viewport(width, height)` during execution or set `viewportWidth` and `viewportHeight` in its `describe`, `context`, or `it` test configuration. Cypress 16 no longer allows changing these dimensions with `Cypress.config()` during test execution.

cy.viewport(550, 750)
evidence docs.cypress.ioscore 0.92open card ↗
AUG 182026

Cypress adds cypress tap for open-mode sessions

When a Cypress 15.21.0+ open-mode session is running in a supported Chromium-based browser, use `cypress tap` to run or rerun a spec, poll its status, inspect failure details, and read the app’s DOM or accessibility tree.

npx cypress tap sessions npx cypress tap run <spec-path> npx cypress tap status --json
evidence docs.cypress.ioscore 0.99open card ↗
AUG 042026

Cypress scrollBehavior supports per-axis alignment

When an action must place an element predictably in independently positioned horizontal and vertical content, set `scrollBehavior` to an object with the desired `block` and `inline` alignments. For example, use `{ block: 'start', inline: 'nearest' }` to align the vertical axis to the start and the horizontal axis to the nearest position.

const { defineConfig } = require('cypress') module.exports = defineConfig({ scrollBehavior: { block: 'start', inline: 'nearest' }, })
evidence docs.cypress.ioscore 0.95open card ↗
JUN 092026

Cypress CLI recognizes Bun as a package manager

When running Cypress tests from a Bun repository, use `bun run cypress run`; to open the interactive app, use `bun run cypress open`.

bun run cypress run
evidence docs.cypress.ioscore 0.93open card ↗
JUN 092026

Cypress.expose() supports suite- and test-level config overrides

When a suite or test needs different public values, pass them in its test config as `{ expose: { key: value } }`; suite and test overrides merge, with test values taking precedence.

describe('checkout', { expose: { flow: 'guest' } }, () => { it('uses suite and test values', { expose: { step: 'payment' } }, () => { expect(Cypress.expose('flow')).to.eq('guest') expect(Cypress.expose('step')).to.eq('payment') }) })
evidence docs.cypress.ioscore 0.96open card ↗
FEB 252026

Cypress CLI adds --pass-with-no-tests

When a Cypress run may find no spec files and CI should treat that case as success, run `cypress run --pass-with-no-tests`.

cypress run --pass-with-no-tests
evidence docs.cypress.ioscore 0.95open card ↗
FEB 032026

Cypress environment access adds cy.env() and deprecates Cypress.env()

When tests read Cypress environment variables, migrate those reads to `cy.env()` and request only the needed keys. After migrating all usages on Cypress 15.10.x, set `allowCypressEnv: false` in the Cypress configuration to prevent further use of `Cypress.env()`.

cy.env(['<key>']).then(({ <key> }) => { // Use <key> here })
evidence docs.cypress.ioscore 0.97open card ↗