WebKit Features for Safari 26.6
Safari 26.6 is here. This release adds a small refinement to WebAssembly’s streaming compilation paths, and delivers eight bug fixes across CSS, service workers, networking, extensions, and WebRTC.
This release continues the ongoing focus of this entire year — polishing how features fit together, and resolving issues you might have run into as a web developer.
WebAssembly
WebKit for Safari 26.6 adds a compileOptions parameter to WebAssembly.compileStreaming() and WebAssembly.instantiateStreaming().
Safari 26.2 shipped support for Wasm JS String Builtins — a way for WebAssembly modules to import a set of standardized JavaScript string operations as builtins, which the engine can then optimize much more aggressively than a normal JS import. To turn them on, you pass an options object to WebAssembly.compile() or WebAssembly.instantiate().
The two streaming variants (compileStreaming() and instantiateStreaming()) didn’t yet accept that same options object. Now they do.
const module = await WebAssembly.compileStreaming(
fetch("example.wasm"),
{ builtins: ["js-string"] }
);
Now you don’t have to fall back from streaming compilation to use JS String Builtins.
Bug fixes and more
In addition to the WebAssembly update, WebKit for Safari 26.6 includes eight bug fixes:
CSS
- Fixed an issue where the
iclength unit scaled incorrectly with page zoom, causing it to no longer equal1emas expected by the CSS specification. (174857144) - Fixed an issue where fixed-positioned elements using
position-areadid not fall back properly when the body was scrollable. (175544079) - Fixed an issue where CSS
zoominteracted incorrectly withfont-size,font-weight,font-variant, andfont-styleon iPad when requesting the desktop website. (176647969)
Networking
- Fixed an issue where partitioned cookies could not be deleted using
WKHTTPCookieStore. (176097960)
Service Workers
- Fixed an issue where service worker registrations with missing main scripts were not automatically unregistered, preventing pages from re-registering new service workers. (175522651)
- Fixed an issue where service worker registrations with missing imported scripts were not automatically unregistered. (175522816)
Web Extensions
- Fixed an issue where web extension service worker registration database files accumulated on each Safari launch, causing performance degradation. (175810627)
WebRTC
- Fixed an issue where
RTCPeerConnectionconfigured withiceTransportPolicy: "relay"failed to gather any ICE candidates on macOS Sequoia. (175009190)
Updating to Safari 26.6
Safari 26.6 is available on iOS 26.6, iPadOS 26.6, visionOS 26.6, macOS Tahoe 26.6, macOS Sequoia, and macOS Sonoma. On iOS, iPadOS, and visionOS, you can update to Safari 26.6 as part of the OS update in Settings > General > Software Update. On macOS, Safari updates are delivered through System Settings > General > Software Update.
Feedback
We love hearing from you. To share your thoughts, find us online: Jen Simmons on Bluesky / Mastodon, Saron Yitbarek on BlueSky / Mastodon, and Jon Davis on Bluesky / Mastodon. You can follow WebKit on LinkedIn.
If you run into any issues, we welcome your bug report. Filing issues really does make a difference.
You can also find this information in the Safari release notes.