Jul 29, 2026
by Saron Yitbarek
Safari Technology Preview Release 249 is now available for download for macOS Golden Gate and macOS Tahoe. 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: 316531@main…317820@main.
Accessibility
Resolved Issues
- Fixed an issue where an
aria-labelledbyrelation was not built when its target element was inserted viainnerHTML. (316913@main) (179677418) - Fixed an issue where VoiceOver was silent during character navigation inside a local iframe. (317264@main) (182229891)
- Fixed an issue where web content somtimes appeared empty to assistive technology after navigation. (317449@main) (182544199)
Animations
Resolved Issues
- Fixed an issue where calling
play()on a finite scroll-driven animation timeline did not reset its start time to the current time. (316745@main) (181712713) - Fixed an issue where
animation-timelinedid not use the last matching timeline when it matched multiple timelines. (317330@main) (182405676) - Fixed an issue where
animation-timelinecould match a timeline outside the nearesttimeline-scopeelement with that name. (317376@main) (182417407)
CSS
New Features
- Added support for the
attr()function. (316672@main) (173992627) - Added support for
outline-offset: inset. (316677@main) (180547604) - Added support for the
@functioncustom functions rule. (316671@main) (181625123) - Added preview support for the
wrap-insideproperty. (317182@main) (181751564) - Added support for the
if()function. (316813@main) (181806268) - Added support for
calc-mix(). (316847@main) (181839626) - Added support for
justify-selfon block-level boxes. (317212@main) (181926245) - Added preview support for
text-decoration-inset. (317230@main) (182019037) - Added preview support for the
contentproperty on the::markerpseudo-element. (317211@main) (182066124)
Resolved Issues
- Fixed an issue where setting
view-transition-namedynamically did not create a stacking context. (317310@main) (178316558) - Fixed an issue where CSS Grid items with a computed preferred size that behaves as
autodid not correctly compute their minimum content contribution. (316697@main) (181146154) - Fixed an issue where visually overflowing content in a CSS Grid item was not painted. (316668@main) (181277780)
- Fixed
anchor-centerin vertical writing modes not being scroll-adjusted along the block axis. (316537@main) (181413103) - Fixed an issue where an empty editable flex container did not reserve a line’s worth of block size in vertical writing modes. (317467@main) (181485387)
- Fixed an issue where CSS Grid did not correctly increase track sizes to accommodate items spanning flexible tracks. (317426@main) (181635324)
- Fixed an issue where stretch alignment did not trigger stretch sizing for CSS Grid items. (316949@main) (181750071)
- Fixed an issue where CSS Grid items could retain stale block sizes after a subsequent layout. (317166@main) (182144347)
- Fixed an issue where
clip-pathshapes could render with incorrect arcs. (317397@main) (182443333) - Fixed an issue where
::highlight()and::target-textignoredtext-underline-offset. (317440@main) (182466757) - Fixed an issue where
::highlight()decoration replaced the originating element’s decoration instead of layering over it. (317439@main) (182523249)
Editing
Resolved Issues
- Fixed an issue that disallowed font names that were not a valid CSS identifiers. (316948@main) (51409819)
- Fixed the Edit menu’s Copy item being incorrectly enabled when there was no selection in the web page. (316571@main) (176061974)
Forms
Resolved Issues
- Fixed an issue where the
datalistpopup menu was presented in the wrong place on a screen to the left of the main screen. (316965@main) (181967418)
HTML
New Features
- Added support for
popover=hint. (317402@main) (129495028)
JavaScript
New Features
- Added support for the
Temporalobject. (316742@main) (181723535)
MathML
Resolved Issues
- Fixed an issue where U+2016 (DOUBLE VERTICAL LINE) was missing the symmetric property in the MathML operator dictionary. (316867@main) (179558196)
Media
Resolved Issues
- Fixed an issue where finding text starting from a selection could resolve to the wrong caption cue instead of the one nearest the video’s playhead. (317168@main) (182001231)
Rendering
New Features
- Added support for dark mode in the XML document viewer. (316832@main) (122234600)
Resolved Issues
- Fixed an issue where
box-shadowrendering broke when the page was zoomed. (317080@main) (169167365)
Scrolling
Resolved Issues
- Fixed an issue where re-snapping did not select the snap area aligned in both axes when multiple targets were aligned. (317294@main) (182285397)
- Fixed an issue where
scroll-snap-alignwas not respected when scrolling to an anchor or callingscrollIntoView(). (317495@main) (182544180)
Spatial Web
Resolved Issues
- Fixed an issue where navigating back to a page with a previously active web environment left the UI stuck showing the environment as active. (316891@main) (180966321)
- Fixed an issue where the background color of
HTMLModelElementdid not match spec for non-opaque colors. (316788@main) (181641249)
Web API
New Features
- Added support for subgroups in WebGPU. (317145@main) (154874391)
- Added support for close watchers, including the
closedbyattribute fordialogelements. (316680@main) (180105698)
Resolved Issues
- Fixed an issue where a user gesture authorization token was not properly verified for Digital Credentials requests. (317228@main) (174908839)
- Fixed
DOMMatrixandIntersectionObservercorrectly enforcing absolute-length unit requirements when parsing values. (316532@main) (181453666) - Fixed an issue where Scroll To Text Fragment directives could run outside
text/htmlandtext/plaindocuments. (316976@main) (181763736) - Fixed an issue where
replaceChildren()could not replace a document’s children. (316909@main) (181921026)
Web Audio
Resolved Issues
- Fixed Web Audio
PannerNodeorientation-only changes not updating the directional cone gain. (316541@main) (181413407)
Web Inspector
New Features
- Added support for the range mappings proposal in source maps. (316748@main) (178564308)
- Added per-element
Layout Invalidatedevents in Web Inspector to reflect the number of elements affected by a layout invalidation. (317302@main) (181243589)
Resolved Issues
- Fixed an issue where every
<input>element showed a Scroll badge in the Elements tab. (316773@main) (101661656) - Fixed an issue where search results did not select the corresponding source code line for fetched JSON. (317499@main) (118115749)
- Fixed an issue where search in Web Inspector did not find results inside the shadow DOM. (317500@main) (126458322)
- Fixed an issue where Web Inspector could crash when selecting a popover matching a nested
@scopewith a bare declaration. (316987@main) (181745000) - Fixed an issue where Web Inspector mapped the
crimsonnamed color to the wrong RGB value. (317047@main) (182090064) - Fixed an issue where the gradient editor in Web Inspector dropped explicit
0%color stops and misparsed leading radial color stops. (317192@main) (182172439) - Fixed an issue where autocompleting a vendor-prefixed value in Styles could duplicate the prefix, for example producing
-apple--apple-system. (317167@main) (182178871)
WebAssembly
Resolved Issues
- Fixed an issue where
Errorstack traces did not include names for modules instantiated withWebAssembly.instantiateStreaming. (316642@main) (181523735)
WebDriver
New Features
- Added WebDriver support for the Digital Credentials API, including commands to simulate wallet payloads, indefinite waits, and user rejection. (316435@main) (168941907)
WebRTC
Resolved Issues
- Fixed
OverconstrainedErrorto inherit fromDOMExceptionand expose acodeattribute per the Media Capture spec. (316578@main) (180728516)
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.