chrome 156 · released

chrome 156 platform demos

15 features tracked for Chrome 156. Click a feature's title to open its demo; each card also links to its ChromeStatus entry.

Per-feature demos below are built automatically, one feature per commit, and every distinct use case should become an interactive concept page.

Probing browser capabilities…

features (15)

Shipped (10)

  1. Avoid caching module failures

    Currently web developers cannot retry failed module loads, as these failures are being cached (and retries just result in immediate failures). This change to the module loading behavior enables failed module loads to be ...

  2. CSS pseudo-class for navigation source element

    Selects the element that initiated the navigation, whether it's a link/button/form. The element stays selected throughout the navigation.

    Shipped ChromeStatus ↗ demo →
  3. CSS random() function

    The random() function brings generative randomness to CSS, allowing web authors to generate a random numeric value within a specified range. For example, web authors can use random() to scatter elements randomly within ...

    Shipped ChromeStatus ↗ demo in v155 →
  4. Compression dictionary transport Updates

    When fetching rel=compression-dictionary links: - Use "compression-dictionary" as request destination. - Properly set request's mode, credentials, referrer and referrerpolicy. - Take into account crossorigin and referre...

    Shipped ChromeStatus ↗ demo →
  5. IndexedDB: SQLite backend

    Chromium's IndexedDB implementation is rewritten on top of SQLite, to replace the previous implementation that uses a hybrid of LevelDB and flat files. There is no change to the Web API. This is expected to improve reli...

    Shipped ChromeStatus ↗ demo in v152 →
  6. Single-axis scroll containers

    Extends the `overflow` property to support scrollable values together with `clip` (for example, `overflow: scroll clip`). This allows `position: sticky` to be constrained by different ancestor scroll containers per axis,...

    Shipped ChromeStatus ↗ demo in v153 →
  7. Use scroll-snap-type: pair to snap to a single element

    https://github.com/w3c/csswg-drafts/issues/9519 Add a "pair" keyword to scroll-snap-type. If used, when the container scroll snaps to an element on one axis, it should snap to the same element on the other axis. In the ...

    Shipped ChromeStatus ↗ demo →
  8. WebGPU: WGSL Fragment Depth

    Adds the ability to provide a `less` or `greater` modifier to the `@builtin(frag_depth)` in WGSL. The current `@builtin(frag_depth)` can potentially introduce a performance penalty due to disabling the early-Z optimizat...

    Shipped ChromeStatus ↗ demo in v154 →
  9. WebRTC Diagnostic Logging API

    The Real-time Communication for the Web ([WebRTC](https://webrtc.org/)) Diagnostic Logging API allows authorized web applications to trigger the collection of WebRTC diagnostic data so that it can be used for local debug...

    Shipped ChromeStatus ↗ demo in v150 →
  10. WebTransport headers and responseHeaders

    Adds support for passing custom HTTP request headers via WebTransportOptions and inspecting server response headers through the WebTransport instance. This allows web applications to supply metadata, authentication token...

    Shipped ChromeStatus ↗ demo in v154 →

Deprecated (1)

  1. Remove FencedFrame element and window.fence APIs

    Fenced frames are nested frames that embed content onto a page without the ability to share data between the fenced frame and its embedder. window.fence APIs include Fenced frames Ads reporting (FFAR) JS APIs that were...

    Deprecated ChromeStatus ↗ demo in v155 →

Stepped rollout (1)

  1. Local network access restrictions

    Chrome 142 restricted the ability to make requests to the user's local network, gated behind a permission prompt. A local network request is any request from a public website to a local IP address or loopback, or from a ...

    Stepped rollout ChromeStatus ↗ demo in v142 →

Origin Trial (1)

  1. Deprecate and stop firing events during subframe removal

    Stop synchronously firing pagehide, visibilitychange, and unload events when a subframe that has script access to an ancestor frame's DOM is removed from the DOM. Per the HTML Standard, destroying a child navigable on DO...

    Origin Trial ChromeStatus ↗ demo pending

Dev Trial (2)

  1. Deprecate and stop firing events during subframe removal

    Stop synchronously firing pagehide, visibilitychange, and unload events when a subframe that has script access to an ancestor frame's DOM is removed from the DOM. Per the HTML Standard, destroying a child navigable on DO...

    Dev Trial ChromeStatus ↗ demo pending
  2. Web haptics JavaScript API

    Provides a JavaScript API for triggering semantic haptic feedback, such as hints, ticks, alignment confirmations, and boundary signals. User agents translate these semantic effects into platform-appropriate haptic feedba...

    Dev Trial ChromeStatus ↗ demo →