Updates / Brave
Brave 1.98: Chromium 156 underneath
Stable Brave on the fleet is now 1.98.60, on Chromium 156. CSS random() and scroll-snap pairs arrive, one CSS property goes; TLS unchanged.
Brave stable · 1.97.59 → 1.98.60 · 2026-10-23
Brave released 1.98.60 on 2026-10-21, and new brave sessions on the fleet now run it instead of 1.97.59. Its Chromium base moves from 155.0.8059.85 to 156.0.8078.48 (Brave release notes, measured), so web platform changes follow Chrome 156 (Chrome 156 post).
New
- Chromium 156.0.8078.48 (Brave release notes, "Release v1.98.60 (Chromium 156.0.8078.48)"; the browser reports the same version).
- New CSS that pages can feature-test:
random()andscroll-snap-type: pair, measured by our probe. - Brave's desktop changelog has no 1.98 entry yet, so this post lists only what we measured.
Removed or changed
text-decoration-skip-spacesis gone:CSS.supportsreported it on 1.97 and not on 1.98, as in Chrome 156.
What sites see / detection
- User agent and client hints:
Chrome/156.0.0.0in the user agent (Brave doesn't add its own token), and theSec-CH-UAbrands change fromBrave 155, Chromium 155, Not(A:Brand 24toNot:A-Brand 8, Chromium 156, Brave 156. Brave keeps reporting reduced full versions (156.0.0.0). - TLS and HTTP/2 unchanged: the JA4 hash, the full TLS fingerprint hash and the HTTP/2 fingerprint are identical to 1.97.
- Canvas still differs per session: the canvas hash in the table below changed because Brave farbles canvas for every session, not because of the version (case 66).
- Bot checks unchanged: bot.sannysoft.com flagged one check (WebGL Renderer) before and after.
For scraping
- Nothing to change in your code: launch options, the Playwright 1.60 client and
wsUrlare the same, and every Playwright feature we test still works.
Measured on the fleet
The same probe ran against 1.97.59 and 1.98.60 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. Brave farbles canvas per session, so a canvas hash change is expected between any two sessions.
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 | Brave 155, Chromium 155, Not(A:Brand 24 | Not:A-Brand 8, Chromium 156, Brave 156 |
| Client hint full versions | Brave 155.0.0.0, Chromium 155.0.0.0, Not(A:Brand 24.0.0.0 | Not:A-Brand 8.0.0.0, Chromium 156.0.0.0, Brave 156.0.0.0 |
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)
Fingerprint values
| Before | After | |
|---|---|---|
| Canvas hash | a5c031b6 | be759088 |
Raw diff
{
"engine": "brave",
"label": "stable",
"from": "1.97.59",
"to": "1.98.60",
"browser_version": {
"before": "155.0.8059.85",
"after": "156.0.8078.48"
},
"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": "Brave 155, Chromium 155, Not(A:Brand 24",
"after": "Not:A-Brand 8, Chromium 156, Brave 156"
},
{
"field": "client_hint_full_versions",
"before": "Brave 155.0.0.0, Chromium 155.0.0.0, Not(A:Brand 24.0.0.0",
"after": "Not:A-Brand 8.0.0.0, Chromium 156.0.0.0, Brave 156.0.0.0"
}
],
"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": [
{
"field": "canvas_hash",
"before": "a5c031b6",
"after": "be759088"
}
],
"bot_checks": {
"newly_failed": [],
"newly_passed": [],
"failed_before": 1,
"failed_after": 1
},
"plain_http": [],
"launch": {
"before_ms": 445,
"after_ms": 775
}
},
"host_dependent_ignored": [
"hardware_concurrency",
"device_memory",
"launch/connect/page timings"
]
}