Updates / Naver Whale
Whale 5.41: Chromium 150 to 156 in one step, and now Chrome's TLS fingerprint
Stable Whale on the fleet is now 5.41.429.3, on Chromium 156: six Chromium majors at once, Chrome's JA4, plain HTTP still loads, Shared Storage gone.
Naver Whale stable · 5.39.412.57 → 5.41.429.3 · 2026-11-08
Naver released Whale 5.41.429.3 to the stable and beta channels on 2026-11-06, and new whale sessions on the fleet now run it instead of 5.39.412.57. Whale's release notes say the Chromium engine moves to version 156 ("크로미움 엔진을 156 버전으로 업데이트했어요"), and the browser reports Chromium 156.0.8078.70, up from 150.0.7871.252. That is six Chromium majors in one update, so web platform changes follow Chromium 151 to 156 (Chrome 156 post).
New
- Chromium 156.0.8078.70 (Whale release notes, "[Engine] Updated the Chromium engine to version 156"; measured).
- Web platform features from Chromium 153 to 156 that our probe finds on 5.41 and not on 5.39:
Iterator.prototype.joinandIterator.zip(Chromium 153), the<camera>capability element (153),Iterator.prototype.includesandFontFace.width(154), CSSmargin-trimandsymbols()and themedia-playback-while-not-visiblepermission policy (155), and CSSrandom()andscroll-snap-type: pair(156). Each is listed as enabled by default for that milestone on Chrome Platform Status. - The Topics API (
document.browsingTopics) is exposed on 5.41 and wasn't on 5.39. Whale's release notes don't mention it. Chrome 156 on the fleet exposes it too. - Every web platform feature our probe checks now reads the same as on Chrome 156 on the fleet. Whale is one major behind Chrome stable (157) and lacks what 157 added, such as
streamAppendHTML()and CSStext-decoration-inset(Chrome 157 post). - Whale's own changes (release notes, translated from the Korean, which Whale also gives in English): ChatGPT and Claude searches sent straight from the address bar, NAVER AI Briefing in Quick Search, formatting in New Tab and Scrapbook memos, a redesigned mobile window, per-window vertical-tab width, opening a tab as a Dual tab by dragging it to the edge of another window, importing all settings including shortcuts, Multiplay improvements, improved site compatibility, a notice when a page stopped because memory ran low, and a video quality enhancement in Flags. Fixes include crashes, Whale closing when an Incognito window with the sidebar open was closed, black captures on some sites and, on Windows, signing in to PlayStation.
Removed or changed
- Shared Storage is gone:
window.sharedStorageexists on 5.39 and not on 5.41. Chrome deprecated and removed the Shared Storage API in Chromium 153 after deciding to keep its current approach to third-party cookies (Chrome Platform Status). document.requestStorageAccessForis gone: present on 5.39, missing on 5.41. Chrome deprecated and removed it in Chromium 153 (Chrome Platform Status).- Protected Audience is still there:
navigator.joinAdInterestGroupexists on 5.39 and 5.41, as on Chrome 156. Chrome 157 removed it, so it will likely go when Whale reaches Chromium 157. - No Playwright feature that worked on 5.39 is missing on 5.41.
What sites see / detection
- User agent and client hints:
Chrome/156.0.0.0 Whale/5.41.429.3in the user agent, up fromChrome/150.0.0.0 Whale/5.39.412.57. TheSec-CH-UAbrands change only in the Chromium version, fromWhale 5, Chromium 150, Not/A)Brand 24toWhale 5, Chromium 156, Not/A)Brand 24: the same order and the same placeholder brand. Whale still names itself, and its brand stays at major version 5. The full versions are5.41.429.3and156.0.8078.70. - TLS now matches Chrome: the TLS hello gains its 19th extension (18 on 5.39), and the JA4 changes from
t13d1516h2_8daaf6152771_806a8c22fdeatot13d1517h2_8daaf6152771_cb7bf5808d99. The JA4 and the peetprint hash are identical to those of Chrome 156 and 157 on the fleet. By JA4 and peetprint, Whale 5.41 can't be told apart from Chrome. The user agent and client hints still can. (JA3 differs between any two snapshots because Chromium shuffles its TLS extension order.) - HTTP/2 and header order unchanged: the same Chromium HTTP/2 fingerprint (
1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p) and header order as 5.39, both identical to Chrome's. - Page fingerprint unchanged by the update: plugins, the PDF viewer, languages,
navigator.webdriver,window.chromeand the screen values read the same as on 5.39. WebGL (SwiftShader through ANGLE) and the canvas hash4f88e08aare the same as on 5.39 measured on 2026-10-17. The WebGL, canvas and bot-check rows in the tables below differ only because the 5.39 snapshot predates a fleet fix from that day (see the note above the table). Whale's canvas hash still differs from Chrome 156's (f5a94624) on the same renderer. - Bot checks: bot.sannysoft.com flags one check (WebGL Renderer, the software renderer of a GPU-less server), as it did on 5.39 on 2026-10-17 and as it does on Chrome on the fleet.
For scraping
- Launch options, the Playwright 1.60 client and
wsUrlare the same, and every Playwright feature we test still works. - Plain-HTTP URLs still load: our check navigated to
http://ip-api.com/json/?fields=statusand stayed onhttp://, with status 200 and{"status":"success"}, as on 5.39. Whale 5.41 is on Chromium 156, and Chrome turned on HTTPS-First mode in 157 (Chrome 157 post). The node policy that keeps HTTPS-First off on Chrome, Chromium, Brave and Edge doesn't apply to Whale, so this may change when Whale reaches Chromium 157. - Code written for Chromium 153 to 156 features (the iterator helpers,
margin-trim, CSSrandom()) now runs on Whale. Code that callswindow.sharedStorageordocument.requestStorageAccessForneeds a feature test. - If you match
Sec-CH-UAbrand strings or the full user agent (an allowlist, a test), update the Chromium version to 156 and the Whale version to 5.41.429.3. - If you chose Whale partly because its TLS hello differed from Chrome's (Whale vs Chrome), that no longer holds: on 5.41 on the wire (TLS, HTTP/2, headers) only the user agent and client hints set it apart; in the page, so do the canvas hash and the Chromium 157 features it lacks.
Measured on the fleet
The same probe ran against 5.39.412.57 (on 2026-10-12, when we began measuring each version) and 5.41.429.3 (on 2026-11-08) on the fleet: identity, TLS and HTTP/2 fingerprint, web platform features, Playwright features and bot checks. Host-dependent values (cores, memory, timings) are left out. Headful Whale had no WebGL context on the fleet until 2026-10-17 (Whale vs Chrome), after the 5.39 snapshot. So the WebGL and canvas rows and the "WebGL Vendor" check that no longer fails come from that fleet fix, not from 5.41: 5.39 measured on 2026-10-17 already showed the same renderer and canvas hash 4f88e08a.
What the site sees: identity
| Before | After | |
|---|---|---|
| User agent | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Whale/5.39.412.57 Safari/537.36 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Whale/5.41.429.3 Safari/537.36 |
| Client hint brands | Whale 5, Chromium 150, Not/A)Brand 24 | Whale 5, Chromium 156, Not/A)Brand 24 |
| Client hint full versions | Whale 5.39.412.57, Chromium 150.0.7871.252, Not/A)Brand 24.0.0.0 | Whale 5.41.429.3, Chromium 156.0.8078.70, Not/A)Brand 24.0.0.0 |
Network fingerprint
| Before | After | |
|---|---|---|
| JA4 | t13d1516h2_8daaf6152771_806a8c22fdea | t13d1517h2_8daaf6152771_cb7bf5808d99 |
| Peetprint hash | 67c3e9111bed9e7f03d2f21d6d88994b | fc97c1cdfb1409c9a9326c1b726d1dee |
| Extensions | 18 | 19 |
Web platform features added
Iterator.prototype.includes(new in Chrome 154)Iterator.prototype.join(Chrome 153)Iterator.zip(Chrome 153)FontFace.width(new in Chrome 154)<camera>element (Chrome 153)- Topics API (
document.browsingTopics) - CSS
margin-trim(Chrome 155) - CSS
symbols()(Chrome 155) - Permission policy
media-playback-while-not-visible(Chrome 155) - CSS
random()(Chrome 156) - CSS
scroll-snap-type: pair(Chrome 156)
Web platform features removed
- Shared Storage (
window.sharedStorage) document.requestStorageAccessFor(deprecated in 153)
Fingerprint values
| Before | After | |
|---|---|---|
| WEBGL | {"vendor":null,"renderer":null,"version":null} | {"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 | 4f88e08a |
Bot checks no longer flagged
- WebGL Vendor
Raw diff
{
"engine": "whale",
"label": "stable",
"from": "5.39.412.57",
"to": "5.41.429.3",
"browser_version": {
"before": "150.0.7871.252",
"after": "156.0.8078.70"
},
"changes": {
"identity": [
{
"field": "user_agent",
"before": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Whale/5.39.412.57 Safari/537.36",
"after": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Whale/5.41.429.3 Safari/537.36"
},
{
"field": "client_hint_brands",
"before": "Whale 5, Chromium 150, Not/A)Brand 24",
"after": "Whale 5, Chromium 156, Not/A)Brand 24"
},
{
"field": "client_hint_full_versions",
"before": "Whale 5.39.412.57, Chromium 150.0.7871.252, Not/A)Brand 24.0.0.0",
"after": "Whale 5.41.429.3, Chromium 156.0.8078.70, Not/A)Brand 24.0.0.0"
}
],
"network": [
{
"field": "ja4",
"before": "t13d1516h2_8daaf6152771_806a8c22fdea",
"after": "t13d1517h2_8daaf6152771_cb7bf5808d99"
},
{
"field": "peetprint_hash",
"before": "67c3e9111bed9e7f03d2f21d6d88994b",
"after": "fc97c1cdfb1409c9a9326c1b726d1dee"
},
{
"field": "extensions",
"before": 18,
"after": 19
}
],
"features": {
"added": [
{
"key": "iterator_includes",
"label": "`Iterator.prototype.includes` (new in Chrome 154)"
},
{
"key": "iterator_join",
"label": "`Iterator.prototype.join` (Chrome 153)"
},
{
"key": "iterator_zip",
"label": "`Iterator.zip` (Chrome 153)"
},
{
"key": "fontface_width",
"label": "`FontFace.width` (new in Chrome 154)"
},
{
"key": "camera_element",
"label": "`<camera>` element (Chrome 153)"
},
{
"key": "topics_api",
"label": "Topics API (`document.browsingTopics`)"
},
{
"key": "css_margin_trim",
"label": "CSS `margin-trim` (Chrome 155)"
},
{
"key": "css_symbols",
"label": "CSS `symbols()` (Chrome 155)"
},
{
"key": "policy_media_playback_while_not_visible",
"label": "Permission policy `media-playback-while-not-visible` (Chrome 155)"
},
{
"key": "css_random",
"label": "CSS `random()` (Chrome 156)"
},
{
"key": "css_scroll_snap_pair",
"label": "CSS `scroll-snap-type: pair` (Chrome 156)"
}
],
"removed": [
{
"key": "shared_storage",
"label": "Shared Storage (`window.sharedStorage`)"
},
{
"key": "request_storage_access_for",
"label": "`document.requestStorageAccessFor` (deprecated in 153)"
}
]
},
"playwright": {
"broke": [],
"fixed": []
},
"fingerprint": [
{
"field": "webgl",
"before": {
"vendor": null,
"renderer": null,
"version": null
},
"after": {
"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)"
}
},
{
"field": "canvas_hash",
"before": "f5a94624",
"after": "4f88e08a"
}
],
"bot_checks": {
"newly_failed": [],
"newly_passed": [
"WebGL Vendor"
],
"failed_before": 2,
"failed_after": 1
},
"plain_http": [],
"launch": {
"before_ms": 1692,
"after_ms": 392
}
},
"host_dependent_ignored": [
"hardware_concurrency",
"device_memory",
"launch/connect/page timings"
]
}Sources
- Desktop v5.41.429.3 업데이트 (Whale forum announcement, 2026-11-06, Korean and English)
- Chrome 153 release notes (Chrome Platform Status)
- Chrome 154 release notes (Chrome Platform Status)
- Chrome 155 release notes (Chrome Platform Status)
- Chrome 156 release notes (Chrome Platform Status)
- Deprecate and Remove: Shared Storage API (Chrome Platform Status)
- Deprecate and Remove: document.requestStorageAccessFor (Chrome Platform Status)
- TLS ClientHello extension permutation (Chrome Platform Status)