cdpfleet Docs GitHub Dashboard

Compare / versions

Chrome 155 vs Chrome 154

Chrome 155 on the fleet: four web features a page can detect, the same TLS and HTTP/2 fingerprint as 154, and release-note features sessions don't get.

Google Chrome

Chrome 155 went stable on 6 October 2026. The fleet runs it as stable (155.0.8059.39) and keeps 154 as a pinned previous major ({"version": "154"}, 154.0.8037.97) until it rotates out; 156 and 157 are beta and dev. Below: what Google lists for 155, what we measured as different from inside a page and on the wire, and what that means for detection and for your code. For the step before, see Chrome 154 vs 153.

New in 155, measured on the fleet

Present in 155 and absent in 154 in our probe (rows highlighted in the table below):

In the release notes, but not in automated sessions

What a site sees

Chrome 155Chrome 154
User agentChrome/155.0.0.0 (reduced, as always).Chrome/154.0.0.0.
Client hintsBrands Google Chrome 155, Chromium 155 and a GREASE brand Not(A:Brand 24; full version 155.0.8059.39.Brands Chromium 154, Google Chrome 154 and the GREASE brand Not A(Brand 99 — Chrome changes the order and GREASE brand every major; full version 154.0.8037.97.
TLS and HTTP/2JA4, peetprint, HTTP/2 SETTINGS and header order identical to 154 (JA3 differs per connection because of GREASE, as on every Chrome).The same.
Fingerprint and bot checksSame canvas, WebGL (SwiftShader), plugins and languages; bot.sannysoft.com flags only "WebGL Renderer".The same.
PlaywrightEvery probed feature works: main-world evaluate, console events, init scripts, routing, screenshots, PDF, device emulation, tracing.The same.

For scraping and detection

Measured on the fleet (2026-10-13)

One headful launch of each through the same proxy, probed from inside a page and via tls.peet.ws.

Launch and cost

Single run; timings depend on the proxy and on fleet load.

Chrome 155Chrome 154
Launch body{"headless":false}{"headless":false,"version":"154"}
Threads used2 (linux_headful)2 (linux_headful)
Browser version155.0.8059.39154.0.8037.97
Launch request → browser ready0.8 s1.5 s
Playwright connect0.0 s0.1 s
Load example.com1.9 s1.8 s
Load tls.peet.ws/api/all2.1 s1.8 s

What the network sees

From tls.peet.ws/api/all, requested by the browser itself. JA3 hashes change between runs of the same build (GREASE), so compare JA4 and the HTTP/2 fingerprint.

Chrome 155Chrome 154
HTTP versionh2h2
JA4t13d1517h2_8daaf6152771_cb7bf5808d99t13d1517h2_8daaf6152771_cb7bf5808d99
Peetprint hashfc97c1cdfb1409c9a9326c1b726d1deefc97c1cdfb1409c9a9326c1b726d1dee
Akamai HTTP/2 fingerprint1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p
Cipher suites / extensions16 / 1916 / 19
Header order (first 12)method, authority, scheme, path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-modemethod, authority, scheme, path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode

What page scripts see

Read with page.evaluate on example.com. Cores and memory are the server's and vary between fleet nodes.

Chrome 155Chrome 154
navigator.userAgentMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36
UA-CH brandsGoogle Chrome 155 · Chromium 155 · Not(A:Brand 24Chromium 154 · Google Chrome 154 · Not A(Brand 99
UA-CH full version listGoogle Chrome 155.0.8059.39 · Chromium 155.0.8059.39 · Not(A:Brand 24.0.0.0Chromium 154.0.8037.97 · Google Chrome 154.0.8037.97 · Not A(Brand 99.0.0.0
navigator.platform / vendorLinux x86_64 / Google Inc.Linux x86_64 / Google Inc.
Languagesen-US, enen-US, en
Timezone / localeUTC / en-USUTC / en-US
Screen (w×h×availW×availH×depth)1280x720x1280x720x241280x720x1280x720x24
Window outer / inner / DPR1288x805 / 1280x720 / 11288x805 / 1280x720 / 1
hardwareConcurrency / deviceMemory16 / 3264 / 32
WebGL vendorGoogle Inc. (Google)Google Inc. (Google)
WebGL rendererANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)
WebGL versionWebGL 2.0 (OpenGL ES 3.0 Chromium)WebGL 2.0 (OpenGL ES 3.0 Chromium)
WebGPU (navigator.gpu)yesyes
Canvas hashf5a94624f5a94624
navigator.webdrivernono
window.chrome / navigator.connectionyes / yesyes / yes
Plugins / PDF viewer5 / yes5 / yes
Notification.permission / permissions.querydefault / promptdefault / prompt

Web platform features

Presence probes; a user agent that claims one version while exposing another's features is a detectable inconsistency.

Chrome 155Chrome 154
Iterator.prototype.includes (new in Chrome 154)yesyes
FontFace.width (new in Chrome 154)yesyes
CSS text-decoration-inset (new in Chrome 154)nono
Iterator.prototype.join (Chrome 153)yesyes
Iterator.zip (Chrome 153)yesyes
CSS scroll-axis-lock (Chrome 153)nono
<camera> element (Chrome 153)yesyes
document.requestStorageAccessFor (deprecated in 153)nono
Topics API (document.browsingTopics)yesyes
Protected Audience (navigator.joinAdInterestGroup)yesyes
Shared Storage (window.sharedStorage)nono
Attribution Reporting (window.attributionReporting)nono
Private Aggregationnono
WebHID (navigator.hid)yesyes
CSS margin-trim (Chrome 155)yesno
CSS text-decoration-skip-spaces (Chrome 155)yesno
CSS corner shorthand (Chrome 155)nono
CSS symbols() (Chrome 155)yesno
Element.streamAppendHTML (Chrome 155)nono
WebTransport.reliability (Chrome 155)nono
window.maximize() — Additional Windowing Controls (Chrome 155)nono
Canvas srgb-linear colour space (Chrome 155)nono
Permission policy media-playback-while-not-visible (Chrome 155)yesno
CSS random() (Chrome 156)nono
CSS scroll-snap-type: pair (Chrome 156)nono
Fenced frames (window.fence) — removal starts in 157yesyes
rel=compression-dictionary (Chrome 156 updates)yesyes

bot.sannysoft.com

The classic headless-detection test page; what it marks red.

Chrome 155Chrome 154
Checks / failed57 / 157 / 1
Failed checksWebGL RendererWebGL Renderer

A plain-HTTP URL (http://ip-api.com/json)

Chrome 154 warns before loading insecure HTTP by default — does that reach an automated session?

Chrome 155Chrome 154
Final URLhttp://ip-api.com/json/?fields=statushttp://ip-api.com/json/?fields=status
HTTP status200200
Content loaded / warning page firstyes / noyes / no

Playwright over the remote connection

Which client features work on this side.

Chrome 155Chrome 154
page.evaluate runs in the page's own worldyesyes
addInitScript visible to page scriptsyesyes
Console eventsyesyes
Request interception (page.route)yesyes
Screenshotyesyes
PDFyesyes
Mobile device emulationyesyes
Tracingyesyes

Rows where the two sides differ are highlighted. IP addresses are replaced with placeholders (203.0.113.x). The probe is compare/probe.mjs in our repository; the raw result is below.

Raw output
{
  "ran_at": "2026-10-13T01:06:16.860Z",
  "sides": [
    {
      "label": "Chrome 155",
      "engine": "chrome",
      "body": {
        "headless": false
      },
      "launch": {
        "browser": "chrome",
        "resource_class": "linux_headful",
        "weight": 2,
        "launch_ms": 768,
        "connect_ms": 31,
        "example_ms": 1890,
        "peet_ms": 2066
      },
      "network": {
        "http_version": "h2",
        "ja4": "t13d1517h2_8daaf6152771_cb7bf5808d99",
        "ja3_hash": "779945d693ea83e22c897ad519fe7901",
        "peetprint_hash": "fc97c1cdfb1409c9a9326c1b726d1dee",
        "ciphers": 16,
        "extensions": 19,
        "akamai_h2": "1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p",
        "akamai_h2_hash": "52d84b11737d980aef856699f885ca86",
        "header_order": [
          "method",
          "authority",
          "scheme",
          "path",
          "sec-ch-ua",
          "sec-ch-ua-mobile",
          "sec-ch-ua-platform",
          "upgrade-insecure-requests",
          "user-agent",
          "accept",
          "sec-fetch-site",
          "sec-fetch-mode"
        ]
      },
      "page": {
        "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
        "platform": "Linux x86_64",
        "vendor": "Google Inc.",
        "languages": [
          "en-US",
          "en"
        ],
        "hardware_concurrency": 16,
        "device_memory": 32,
        "max_touch_points": 0,
        "webdriver": false,
        "plugins": 5,
        "pdf_viewer": true,
        "ua_data": {
          "brands": [
            {
              "brand": "Google Chrome",
              "version": "155"
            },
            {
              "brand": "Chromium",
              "version": "155"
            },
            {
              "brand": "Not(A:Brand",
              "version": "24"
            }
          ],
          "mobile": false,
          "platform": "Linux",
          "architecture": "x86",
          "bitness": "64",
          "formFactors": [
            "Desktop"
          ],
          "fullVersionList": [
            {
              "brand": "Google Chrome",
              "version": "155.0.8059.39"
            },
            {
              "brand": "Chromium",
              "version": "155.0.8059.39"
            },
            {
              "brand": "Not(A:Brand",
              "version": "24.0.0.0"
            }
          ],
          "model": "",
          "platformVersion": "",
          "uaFullVersion": "155.0.8059.39",
          "wow64": false
        },
        "screen": "1280x720x1280x720x24",
        "window": {
          "outer": "1288x805",
          "inner": "1280x720",
          "dpr": 1
        },
        "timezone": "UTC",
        "locale": "en-US",
        "webgl": {
          "vendor": "Google Inc. (Google)",
          "renderer": "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)",
          "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)"
        },
        "canvas_hash": "f5a94624",
        "webgpu": true,
        "chrome_object": true,
        "chrome_runtime": false,
        "notification_permission": "default",
        "notification_query": "prompt",
        "has_focus": true,
        "connection_api": true,
        "stack_read_by_debugger": false,
        "features": {
          "iterator_includes": true,
          "iterator_join": true,
          "iterator_zip": true,
          "fontface_width": true,
          "css_text_decoration_inset": false,
          "css_scroll_axis_lock": false,
          "websocket_options_bag": null,
          "camera_element": true,
          "topics_api": true,
          "protected_audience": true,
          "shared_storage": false,
          "attribution_reporting": false,
          "request_storage_access_for": false,
          "webhid": true,
          "private_aggregation": false,
          "css_margin_trim": true,
          "css_text_decoration_skip_spaces": true,
          "css_corner_shorthand": false,
          "css_symbols": true,
          "stream_append_html": false,
          "webtransport_reliability": false,
          "window_maximize": false,
          "canvas_srgb_linear": false,
          "policy_media_playback_while_not_visible": true,
          "css_random": false,
          "css_scroll_snap_pair": false,
          "fenced_frames": true,
          "compression_dictionary": true
        }
      },
      "page_main_world": null,
      "sannysoft": {
        "checks": 57,
        "failed": 1,
        "failed_names": [
          "WebGL Renderer"
        ],
        "passed": 30
      },
      "plain_http": {
        "final_url": "http://ip-api.com/json/?fields=status",
        "status": 200,
        "title": "",
        "loaded": true,
        "warning_page": false,
        "page_text": "{\"status\":\"success\"}"
      },
      "playwright": {
        "evaluate_in_main_world": true,
        "console_events": true,
        "init_script": true,
        "route": true,
        "screenshot": true,
        "pdf": true,
        "mobile_emulation": true,
        "tracing": true
      },
      "browser_version": "155.0.8059.39"
    },
    {
      "label": "Chrome 154",
      "engine": "chrome",
      "body": {
        "headless": false,
        "version": "154"
      },
      "launch": {
        "browser": "chrome",
        "resource_class": "linux_headful",
        "weight": 2,
        "launch_ms": 1470,
        "connect_ms": 123,
        "example_ms": 1847,
        "peet_ms": 1753
      },
      "network": {
        "http_version": "h2",
        "ja4": "t13d1517h2_8daaf6152771_cb7bf5808d99",
        "ja3_hash": "89559ff64da8289f3eab11edc23966ef",
        "peetprint_hash": "fc97c1cdfb1409c9a9326c1b726d1dee",
        "ciphers": 16,
        "extensions": 19,
        "akamai_h2": "1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p",
        "akamai_h2_hash": "52d84b11737d980aef856699f885ca86",
        "header_order": [
          "method",
          "authority",
          "scheme",
          "path",
          "sec-ch-ua",
          "sec-ch-ua-mobile",
          "sec-ch-ua-platform",
          "upgrade-insecure-requests",
          "user-agent",
          "accept",
          "sec-fetch-site",
          "sec-fetch-mode"
        ]
      },
      "page": {
        "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
        "platform": "Linux x86_64",
        "vendor": "Google Inc.",
        "languages": [
          "en-US",
          "en"
        ],
        "hardware_concurrency": 64,
        "device_memory": 32,
        "max_touch_points": 0,
        "webdriver": false,
        "plugins": 5,
        "pdf_viewer": true,
        "ua_data": {
          "brands": [
            {
              "brand": "Chromium",
              "version": "154"
            },
            {
              "brand": "Google Chrome",
              "version": "154"
            },
            {
              "brand": "Not A(Brand",
              "version": "99"
            }
          ],
          "mobile": false,
          "platform": "Linux",
          "architecture": "x86",
          "bitness": "64",
          "formFactors": [
            "Desktop"
          ],
          "fullVersionList": [
            {
              "brand": "Chromium",
              "version": "154.0.8037.97"
            },
            {
              "brand": "Google Chrome",
              "version": "154.0.8037.97"
            },
            {
              "brand": "Not A(Brand",
              "version": "99.0.0.0"
            }
          ],
          "model": "",
          "platformVersion": "",
          "uaFullVersion": "154.0.8037.97",
          "wow64": false
        },
        "screen": "1280x720x1280x720x24",
        "window": {
          "outer": "1288x805",
          "inner": "1280x720",
          "dpr": 1
        },
        "timezone": "UTC",
        "locale": "en-US",
        "webgl": {
          "vendor": "Google Inc. (Google)",
          "renderer": "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)",
          "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)"
        },
        "canvas_hash": "f5a94624",
        "webgpu": true,
        "chrome_object": true,
        "chrome_runtime": false,
        "notification_permission": "default",
        "notification_query": "prompt",
        "has_focus": true,
        "connection_api": true,
        "stack_read_by_debugger": false,
        "features": {
          "iterator_includes": true,
          "iterator_join": true,
          "iterator_zip": true,
          "fontface_width": true,
          "css_text_decoration_inset": false,
          "css_scroll_axis_lock": false,
          "websocket_options_bag": null,
          "camera_element": true,
          "topics_api": true,
          "protected_audience": true,
          "shared_storage": false,
          "attribution_reporting": false,
          "request_storage_access_for": false,
          "webhid": true,
          "private_aggregation": false,
          "css_margin_trim": false,
          "css_text_decoration_skip_spaces": false,
          "css_corner_shorthand": false,
          "css_symbols": false,
          "stream_append_html": false,
          "webtransport_reliability": false,
          "window_maximize": false,
          "canvas_srgb_linear": false,
          "policy_media_playback_while_not_visible": false,
          "css_random": false,
          "css_scroll_snap_pair": false,
          "fenced_frames": true,
          "compression_dictionary": true
        }
      },
      "page_main_world": null,
      "sannysoft": {
        "checks": 57,
        "failed": 1,
        "failed_names": [
          "WebGL Renderer"
        ],
        "passed": 30
      },
      "plain_http": {
        "final_url": "http://ip-api.com/json/?fields=status",
        "status": 200,
        "title": "",
        "loaded": true,
        "warning_page": false,
        "page_text": "{\"status\":\"success\"}"
      },
      "playwright": {
        "evaluate_in_main_world": true,
        "console_events": true,
        "init_script": true,
        "route": true,
        "screenshot": true,
        "pdf": true,
        "mobile_emulation": true,
        "tracing": true
      },
      "browser_version": "154.0.8037.97"
    }
  ]
}

Bottom line

Chrome 155 is a quiet release for scrapers: four detectable CSS and policy features, identical network fingerprints, and a handful of release-note features that automated sessions don't get.