Release Notes for Safari Technology Preview 245
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)