<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/wnAxuP61o" -->

---
title: Cypress 16: faster tests, starting with HTTP/2 support
description: Cypress 16 targets multiple sources of slow and flaky end-to-end test suites at once. HTTP/2 support is now on by default in Chromium-based browsers, letting...
canonical: https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Cypress 16: faster tests, starting with HTTP/2 support | daily.dev
og:description: Cypress 16 targets multiple sources of slow and flaky end-to-end test suites at once. HTTP/2 support is now on by default in Chromium-based browsers, letting...
og:url: https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o
og:image: https://api.daily.dev/og/posts/wnAxuP61o.png
og:image:alt: Cypress 16: faster tests, starting with HTTP/2 support
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Cypress 16: faster tests, starting with HTTP/2 support

**[cypress](https://daily.dev/sources/cypress)** · 17 min read · 11 upvotes · 4 comments

## Summary

Cypress 16 targets multiple sources of slow and flaky end-to-end test suites at once. HTTP/2 support is now on by default in Chromium-based browsers, letting request-heavy pages load in parallel (a 1,000-image benchmark dropped from 3,896ms to 1,362ms). Typing defaults to 0ms delay, a faster visibility algorithm replaces the legacy ancestor-walking check, cookie and storage read commands now retry as query commands to reduce flake, and browser memory management (manageBrowserMemory) is stable and on by default to stop long runs from crashing. The release also bumps Node.js to 24, Electron to 41, and Chromium to 146, removes Cypress.env() in favor of cy.env() and Cypress.expose() for security, deprecates the Electron browser, and drops cy.exec(), cy.end(), CoffeeScript support, and older Angular/Vite/Next.js versions for component testing. A migration guide with an AI-assistant-ready prompt is provided for upgrading.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.cypress.io/blog/cypress-16-faster-tests-starting-with-http2-support>

## Questions this post answers

### What performance improvement does HTTP/2 support bring to Cypress 16 tests?

HTTP/2 support in Cypress 16 lets request-heavy pages load in parallel instead of queuing requests. In a benchmark loading 1,000 images, the page finished in 1,362ms over HTTP/2 versus 3,896ms over HTTP/1.1. It is on by default in Chromium-based browsers like Chrome, Chromium, and Edge, but Electron, Firefox, and WebKit still use HTTP/1.1.

_Track framework performance releases like this on daily.dev before deciding when to upgrade test suites._

### Why was Cypress.env() removed in Cypress 16 and what replaces it?

Cypress.env() was removed because it hydrated every configured environment variable into the browser, exposing secrets to application code, third-party scripts, and cross-origin contexts. Cypress 16 splits this into cy.env(), which reads sensitive values asynchronously and keeps them in the Node process, and Cypress.expose(), which publishes non-sensitive values like feature flags for synchronous browser access.

_Developers auditing secrets exposure in test tooling can follow breaking changes like this on daily.dev._

### What changed with the default typing delay and visibility checks in Cypress 16?

Cypress 16 sets the default keystroke delay for cy.type() to 0ms, replacing the previous 10ms simulated human delay, speeding up suites with many forms. It also replaces the legacy CSS-ancestor-walking visibility algorithm with a faster one combining a native browser check and adaptive point-sampling, cutting layout thrashing on large, deeply nested apps; both can be reverted via keystrokeDelay and visibilityStrategy: 'legacy'.

_Teams migrating Cypress test suites can follow breaking-change details like these on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@allinonetools** · 3 upvotes

> The HTTP/2 improvement alone looks huge for request-heavy tests. Faster typing, better retries, and memory management should also make long Cypress runs much less painful.

**@agustinbarrientos** · 1 upvotes

> Could you publish CI results that separate memory-management overhead from the renderer crashes it prevents? I'd compare a light suite with a long shard on the same browser version. Constrained-memory runs could locate the pressure threshold.

**@taiwofrancis** · 0 upvotes

> HTTP/2 is a nice boost, but honestly the memory management and flake reduction are the parts I’m most excited about. Fast tests are good, reliable tests are even better.

## Similar posts on daily.dev

- [The Electron browser is being deprecated in Cypress](https://daily.dev/posts/the-electron-browser-is-being-deprecated-in-cypress-t9hobog5t) · cypress · 4 upvotes · 1 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#testing](https://daily.dev/tags/testing), [#cypress](https://daily.dev/tags/cypress)

[View this post on daily.dev](https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Cypress 16: faster tests, starting with HTTP/2 support","url":"https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o"},"datePublished":"2026-09-01T17:45:42.721Z","dateModified":"2026-09-01T17:52:24.076Z","description":"Cypress 16 targets multiple sources of slow and flaky end-to-end test suites at once. HTTP/2 support is now on by default in Chromium-based browsers, letting...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/382fdef900c53b70b651835194f11c81?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/382fdef900c53b70b651835194f11c81?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"cypress","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"cypress","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ad08f015b27b4d42a287d745bbb9c722","url":"https://daily.dev/sources/cypress"},"commentCount":4,"discussionUrl":"https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":11},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":4}],"keywords":"javascript,testing,cypress","timeRequired":"PT17M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"cypress","item":"https://daily.dev/sources/cypress"},{"@type":"ListItem","position":3,"name":"Cypress 16: faster tests, starting with HTTP/2 support"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o","comment":[{"@type":"Comment","text":"The HTTP/2 improvement alone looks huge for request-heavy tests. Faster typing, better retries, and memory management should also make long Cypress runs much less painful.","datePublished":"2026-09-02T03:26:39.278Z","url":"https://daily.dev/posts/wnAxuP61o#c-fC2TlKtY0","author":{"@type":"Person","name":"AllInOneTools","url":"https://daily.dev/allinonetools","image":"https://media.daily.dev/image/upload/s--4ZT8QlF0--/f_auto/v1769790028/avatars/avatar_igzBsWloJeaegzm9bQltZ?_a=BAMAMiiu0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"Could you publish CI results that separate memory-management overhead from the renderer crashes it prevents? I’d compare a light suite with a long shard on the same browser version. Constrained-memory runs could locate the pressure threshold.","datePublished":"2026-09-03T21:07:13.499Z","url":"https://daily.dev/posts/wnAxuP61o#c-kv5X8uHfa","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"HTTP/2 is a nice boost, but honestly the memory management and flake reduction are the parts I’m most excited about. Fast tests are good, reliable tests are even better.","datePublished":"2026-09-02T18:20:27.242Z","url":"https://daily.dev/posts/wnAxuP61o#c-66oJd1IfB","author":{"@type":"Person","name":"Taiwo Francis Oguntade","url":"https://daily.dev/taiwofrancis","image":"https://media.daily.dev/image/upload/s--px3_Pvo4--/f_auto/v1785515368/avatars/avatar_FStpm3ZejUD3qGlEeoOUS?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/cypress-16-faster-tests-starting-with-http-2-support-wnaxup61o#faq","mainEntity":[{"@type":"Question","name":"What performance improvement does HTTP/2 support bring to Cypress 16 tests?","acceptedAnswer":{"@type":"Answer","text":"HTTP/2 support in Cypress 16 lets request-heavy pages load in parallel instead of queuing requests. In a benchmark loading 1,000 images, the page finished in 1,362ms over HTTP/2 versus 3,896ms over HTTP/1.1. It is on by default in Chromium-based browsers like Chrome, Chromium, and Edge, but Electron, Firefox, and WebKit still use HTTP/1.1. Track framework performance releases like this on daily.dev before deciding when to upgrade test suites."}},{"@type":"Question","name":"Why was Cypress.env() removed in Cypress 16 and what replaces it?","acceptedAnswer":{"@type":"Answer","text":"Cypress.env() was removed because it hydrated every configured environment variable into the browser, exposing secrets to application code, third-party scripts, and cross-origin contexts. Cypress 16 splits this into cy.env(), which reads sensitive values asynchronously and keeps them in the Node process, and Cypress.expose(), which publishes non-sensitive values like feature flags for synchronous browser access. Developers auditing secrets exposure in test tooling can follow breaking changes like this on daily.dev."}},{"@type":"Question","name":"What changed with the default typing delay and visibility checks in Cypress 16?","acceptedAnswer":{"@type":"Answer","text":"Cypress 16 sets the default keystroke delay for cy.type() to 0ms, replacing the previous 10ms simulated human delay, speeding up suites with many forms. It also replaces the legacy CSS-ancestor-walking visibility algorithm with a faster one combining a native browser check and adaptive point-sampling, cutting layout thrashing on large, deeply nested apps; both can be reverted via keystrokeDelay and visibilityStrategy: 'legacy'. Teams migrating Cypress test suites can follow breaking-change details like these on daily.dev."}}]}
```

