Safari Technology Preview 245 Release Notes
Learn about the latest web technology updates in Safari Technology Preview: Accessibility, CSS, Editing, HTML, Images, JavaScript, MathML, Rendering, SVG, Web API, Web Extensions, Web Inspector, WebGPU, WebRTC.
Overview
Safari Technology Preview Release 245 is now available for download for macOS Tahoe and macOS Sequoia. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update.
This release includes WebKit changes between: 312965@main…313358@main.
Accessibility
Resolved Issues
Fixed VoiceOver’s “Skip redundant labels” setting not being respected on certain web pages. (312967@main) (176297111)
CSS
New Features
Added support for the case-sensitive modifier
sin CSS attribute selectors. (313234@main) (126331481)Added support for the
:host:has()compound selector in CSS. (313350@main) (139799278)
Resolved Issues
Fixed
aspect-rationot being respected on flex children when the flex container hasposition: absolute. (313213@main) (117807518)Fixed
aspect-rationot working correctly on flex children that also haveoverflowset. (313170@main) (118926827)Fixed image
aspect-rationot being preserved whenwidth: 100%andheight: 100%are set but no ancestor has a defined width. (313003@main) (162373271)Fixed transferred min/max block-size constraints not being applied for intrinsic keyword widths on replaced elements. (313091@main) (173128588)
Fixed serialization of multi-word font family names that were always incorrectly quoted due to treating the full string as a single identifier. (313271@main) (175522811)
Fixed
CSSStyleDeclaration.setProperty()failing to apply!importantpriority to an existing inline style property when the value was an integer of 255 or lower. (313159@main) (176099619)Fixed an issue where elements using
stretchsizing inside anonymous block wrappers resolved to their intrinsic size instead of stretching to fill the available space. (313359@main) (176398251)Fixed
:has()style invalidation failing in complex nested cases involving:is(). (312966@main) (176719780)Fixed
-webkit-perspectivenot establishing a containing block for fixed-positioned descendants. (313020@main) (176729670)Fixed nested multi-column layouts with three or more levels failing to paginate content across pages. (312973@main) (176741498)
Fixed
:has()selector performance by using scope selectors to limit style invalidation traversal for class, attribute, and pseudo-class changes. (313009@main) (176771971)Fixed non-replaced blocks with
aspect-ratioand a percentagemax-widthcollapsing to zero width during intrinsic sizing. (313074@main) (176873776)Fixed percentage
max-widthon elements withaspect-ratioresolving against the wrong axis in perpendicular writing modes. (313078@main) (176879597)Fixed
z-indexnot applying to statically-positioneddisplay: -webkit-boxitems to align with Firefox and Chrome behavior. (313081@main) (176886461)Fixed flex containers using
box-sizing: border-boxproviding the wrong cross size to stretched flex items. (313175@main) (176989934)Fixed flex containers with
aspect-ratio-derived height not providing a definite cross size to their flex items. (313256@main) (177085129)Fixed SVG images with no intrinsic dimensions collapsing to zero height inside column flex containers. (313257@main) (177086497)
Editing
Resolved Issues
Fixed a regression where Vietnamese and Korean keyboard input methods incorrectly exited modeless composition mode, requiring a double spacebar press to complete each word. (313286@main) (176847897)
Fixed a recent regression that “Zhuyin - Traditional” input method stalling for multiple seconds when composing Chinese text. (313336@main) (177042301)
HTML
Resolved Issues
Fixed a severe performance regression causing dynamic insertion of
<img>elements with asrcattribute to be dramatically slower than other browsers. (313268@main) (166201075)Fixed nested calls to
requestClose()incorrectly firing multiplecancelevents and causing a stack overflow. (313239@main) (174850509)Fixed
requestClose()incorrectly removing theopenattribute when called on a disconnecteddialogelement. (313251@main) (174855725)Fixed
<a rel="ar">elements wrapping<model>elements to correctly enter ARQL without extra steps and to display the AR badge. (313047@main) (176410897)Fixed the HTML preload scanner not preloading resources referenced by legacy
<image>tags. (312984@main) (176712749)
Images
Resolved Issues
Fixed rendering performance of HDR images that have gain-maps by using GPU-backed surfaces. (313339@main) (176605566)
JavaScript
New Features
Added support for static
import defersemantics. (313139@main) (176568369)
Resolved Issues
Fixed the
ArrayToPrimitivefast path incorrectly ignoring overrides ofObject.prototype.valueOf. (313028@main) (175122250)Fixed input position corruption in regular expression backward matching when rewinding over a surrogate pair. (313026@main) (175122467)
MathML
New Features
Added support for operator dictionary entries for multi-character operators to align with the MathML Core specification. (313083@main) (176543727)
Resolved Issues
Fixed the MathML operator dictionary to correct the stretchy property for several operators, resolving Web Platform Test failures. (312993@main) (170901728)
Fixed spacing values for prefix operators
+,−,±,∓,∇, and infix operator⋉in the MathML Core operator dictionary. (312999@main) (176652211)Fixed the operator dictionary entry for the
∂prefix operator to use the correct spacing values(3, 0)instead of(2, 1). (312997@main) (176693587)Fixed nonce-hiding support for MathML elements to align with the HTML specification. (313075@main) (176875058)
Media
Resolved Issues
Fixed
timeupdateevents being fired during seeking before the seek operation completes. (313165@main) (176861767)Fixed the
endedevent not always firing when theMediaSourceduration is changed to match the current playback position. (313141@main) (176863546)Fixed a MediaSource issue where the decode-key cleanup in coded frame processing was incorrectly removing non-orphaned samples. (313296@main) (176971800)
Fixed
currentTime()returning a stale value after the playback rate was changed from zero to a non-zero value. (313249@main) (177046564)
Rendering
Resolved Issues
Fixed an issue where a child element with
filter: blur()ignoredborder-radiusoverflow clipping from its parent. (312531@main) (175519148)Fixed
drop-shadowfilters andtransform: translate()incorrectly clipping nested elements after a regression. (313316@main) (175905543)Fixed a repaint issue where table rows did not repaint their previous position after a preceding row changed size, causing content to appear at both the old and new locations. (313168@main) (176172404)
SVG
Resolved Issues
Fixed negative
stroke-dashoffsetvalues rendering with incorrect offsets whenstroke-dasharrayhas an odd number of values. (313353@main) (103596361)Fixed an issue where
@prefers-color-schemein an SVG image will sometimes not follow the system color appearance. (313021@main) (176413340)Fixed
getScreenCTM()returning an incorrect matrix when the document is scrolled under a CSS-transformed ancestor. (313111@main) (176814876)
Web API
Resolved Issues
Fixed missing custom element callbacks for the
roleattribute. (312976@main) (176713992)Fixed incorrect URL parser invocation on the
Notificationobject. (312988@main) (176762955)Fixed
requestAnimationFrame()not providing sub-millisecond timestamp precision in cross-origin isolated contexts. (313153@main) (176967366)
Web Extensions
Resolved Issues
Fixed cross-origin
XMLHttpRequestincorrectly triggering additional Web Extension permission requests. (313506@main) (154866064)Fixed loading Web Extensions breaking Cloudflare bot challenge pages. (313007@main) (176618014)
Web Inspector
New Features
Added unique colors for style events such as “Style Invalidated” and “Style Recalculated” in the Timeline view to distinguish them from layout events. (312995@main) (176770197)
WebGPU
Resolved Issues
Fixed a WGSL shader validation failure in binary arithmetic expressions. (313135@main) (176473479)
WebRTC
Resolved Issues
Fixed outgoing video feeds freezing when the Safari window is obscured by another window while a virtual background is active. (312990@main) (170720729)
Fixed screen sharing via
getDisplayMedia()starting at extremely low quality and taking up to 30 seconds to become legible for remote participants. (313072@main) (175425085)
See Also
2026
Safari Technology Preview 244 Release NotesSafari Technology Preview 243 Release NotesSafari Technology Preview 242 Release NotesSafari Technology Preview 241 Release NotesSafari Technology Preview 240 Release NotesSafari Technology Preview 239 Release NotesSafari Technology Preview 238 Release NotesSafari Technology Preview 237 Release NotesSafari Technology Preview 236 Release NotesSafari Technology Preview 235 Release Notes