[Updates](https://cdpfleet.com/docs/updates) / Google Chrome

# Chrome 156: CSS random(), IndexedDB on SQLite, same TLS fingerprint

Stable Chrome on the fleet is now 156.0.8078.47: CSS random() and scroll-snap pair arrive, IndexedDB moves to SQLite, TLS and HTTP/2 fingerprints unchanged.

[Google Chrome](https://cdpfleet.com/docs/browsers/chrome) stable · 155.0.8059.84 → 156.0.8078.47 · 2026-10-23

Google promoted Chrome 156 to the stable channel on 2026-10-20, and new `chrome` sessions on the fleet now run 156.0.8078.47 (the Linux build) instead of 155.0.8059.84. Pin the previous major with `"version"` if you need it.

## New

-   **CSS `random()`:** a random number within a range, with a key argument to control which values are shared between properties and elements. Our feature probe finds it on 156 and not on 155.
-   **`scroll-snap-type: pair`:** a scroll container that snaps to an element on one axis snaps to the same element on the other. Also new in our probe.
-   **IndexedDB on SQLite:** Chrome reimplements IndexedDB on SQLite instead of LevelDB, for new data stores only (Chrome release notes).
-   Also in the release notes: a `:navigation-source` pseudo-class for the element that started a navigation, single-axis scroll containers (`overflow` combining a scrollable value with `clip`), retrying failed module loads with a repeated `import()`, request and response headers in WebTransport, and a WebRTC diagnostic logging API.

## Removed or changed

-   **Fenced frames are being removed:** from 156, `<fencedframe>` and `window.fence` remain only as stub implementations (Chrome release notes). Our feature test (`window.fence` or `HTMLFencedFrameElement`) still finds them on 156, so don't rely on such a test to tell whether fenced frames work.
-   **`text-decoration-skip-spaces`:** `CSS.supports('text-decoration-skip-spaces', 'all')` returned true on 155 and returns false on 156. The release notes don't mention it, so treat it as unavailable for now.

## What sites see / detection

-   **User agent and client hints:** `Chrome/156.0.0.0` in the user agent, and the `Sec-CH-UA` brands change from `Google Chrome 155, Chromium 155, Not(A:Brand 24` to `Not:A-Brand 8, Chromium 156, Google Chrome 156`. Chrome changes the placeholder "Not A Brand" entry and the order with each major version, so an allowlist that matches the exact brand string needs updating.
-   **TLS and HTTP/2 unchanged:** the JA4 hash, the full TLS fingerprint hash and the HTTP/2 fingerprint are identical to 155.
-   **Bot checks unchanged:** bot.sannysoft.com flagged one check before and after.

## For scraping

-   Nothing to change in your code: launch options, the Playwright 1.60 client and `wsUrl` are the same, and every Playwright feature we test still works.
-   If you match `Sec-CH-UA` brand strings or the full user agent somewhere (an allowlist, a test), update them to 156.

## Measured on the fleet

The same probe ran against 155.0.8059.84 and 156.0.8078.47 on the fleet, each when it went live: identity, TLS and HTTP/2 fingerprint, web platform features, Playwright features and bot checks. Host-dependent values (cores, memory, timings) are left out.

### What the site sees: identity

|  | Before | After |
| --- | --- | --- |
| User agent | Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 | Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36 |
| Client hint brands | Google Chrome 155, Chromium 155, Not(A:Brand 24 | Not:A-Brand 8, Chromium 156, Google Chrome 156 |
| Client hint full versions | Google Chrome 155.0.8059.84, Chromium 155.0.8059.84, Not(A:Brand 24.0.0.0 | Not:A-Brand 8.0.0.0, Chromium 156.0.8078.47, Google Chrome 156.0.8078.47 |

### Web platform features added

-   CSS `random()` (Chrome 156)
-   CSS `scroll-snap-type: pair` (Chrome 156)

### Web platform features removed

-   CSS `text-decoration-skip-spaces` (Chrome 155)

Raw diff

```
{
  "engine": "chrome",
  "label": "stable",
  "from": "155.0.8059.84",
  "to": "156.0.8078.47",
  "browser_version": {
    "before": "155.0.8059.84",
    "after": "156.0.8078.47"
  },
  "changes": {
    "identity": [
      {
        "field": "user_agent",
        "before": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
        "after": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36"
      },
      {
        "field": "client_hint_brands",
        "before": "Google Chrome 155, Chromium 155, Not(A:Brand 24",
        "after": "Not:A-Brand 8, Chromium 156, Google Chrome 156"
      },
      {
        "field": "client_hint_full_versions",
        "before": "Google Chrome 155.0.8059.84, Chromium 155.0.8059.84, Not(A:Brand 24.0.0.0",
        "after": "Not:A-Brand 8.0.0.0, Chromium 156.0.8078.47, Google Chrome 156.0.8078.47"
      }
    ],
    "network": [],
    "features": {
      "added": [
        {
          "key": "css_random",
          "label": "CSS `random()` (Chrome 156)"
        },
        {
          "key": "css_scroll_snap_pair",
          "label": "CSS `scroll-snap-type: pair` (Chrome 156)"
        }
      ],
      "removed": [
        {
          "key": "css_text_decoration_skip_spaces",
          "label": "CSS `text-decoration-skip-spaces` (Chrome 155)"
        }
      ]
    },
    "playwright": {
      "broke": [],
      "fixed": []
    },
    "fingerprint": [],
    "bot_checks": {
      "newly_failed": [],
      "newly_passed": [],
      "failed_before": 1,
      "failed_after": 1
    },
    "plain_http": [],
    "launch": {
      "before_ms": 382,
      "after_ms": 565
    }
  },
  "host_dependent_ignored": [
    "hardware_concurrency",
    "device_memory",
    "launch/connect/page timings"
  ]
}
```

### Sources

-   [Chrome Releases: Stable Channel Update for Desktop (2026-10-20)](https://chromereleases.googleblog.com/2026/10/stable-channel-update-for-desktop_02018666648.html)
-   [Chrome 156 release notes (Chrome Platform Status)](https://chromestatus.com/release-notes/156)

---
Source: https://cdpfleet.com/docs/updates/chrome-156 · Markdown: https://cdpfleet.com/docs/updates/chrome-156.md · All docs for AI tools: https://cdpfleet.com/llms.txt
