Preview
Open Original
Safari Technology Preview Release 230 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: 300291@main…300986@main.
Animations
Resolved Issues
- Fixed
animation-name
resolution to correctly find matching@keyframes
within tree-scoped and shadow DOM contexts. (300706@main) (156484228)
CSS
…
Safari Technology Preview Release 230 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: 300291@main…300986@main.
Animations
Resolved Issues
- Fixed
animation-name
resolution to correctly find matching@keyframes
within tree-scoped and shadow DOM contexts. (300706@main) (156484228)
CSS
Resolved Issues
- Fixed incorrect handling of
auto
inline margins on grid items during track sizing that caused excessive vertical spacing in subgrids. (300422@main) (157638931) - Fixed CSS anchor positioning to remember the last successful position option at
ResizeObserver
delivery time, aligning with the spec. (300890@main) (159225250) - Fixed an issue where transitioning an element to
display: none
withtransition-behavior: allow-discrete
and CSS Anchor Positioning would repeatedly restart the transition. (300519@main) (160421419) - Fixed the acceptable anchor algorithm in CSS Anchor Positioning to correctly consider inline elements as containing blocks. (300614@main) (160917762)
- Fixed CSS nesting to inline parent selectors when possible instead of always wrapping them in
:is()
to improve selector performance. (300297@main) (160927950) - Fixed
position-try-fallback
resolution by treating names as tree-scoped references to properly search shadow DOM host scopes. (300333@main) (161081231) - Fixed an issue where a
<select>
element with long<option>
text caused horizontal scrolling when nested inside a flex item. (300684@main) (161563289) - Fixed
getComputedStyle
to return numeric values (2
) fororphans
andwidows
instead of the internalauto
value, ensuring the computed values correctly reflect the CSS specification. (300690@main) (161566631) - Fixed
column-count: 1
so that it now correctly creates a multi-column container per the CSS Multi-column Layout specification. (300787@main) (161611444) - Fixed the calculation of anchor positions in
vertical-rl
multi-column layouts by correctly flipping coordinates in fragmented flows. (300807@main) (161616545) - Fixed the order to try anchor position fallback options, such that the last successful position option is tried first, followed by the original style, and then the remaining options. (300909@main) (161714637)
- Fixed
position-area
handling to include the in-flow scrollable area of the initial containing block. (300921@main) (161741583) - Fixed
position-visibility: no-overflow
to respond correctly to scrolling. (301211@main) (162173481) - Fixed: Renamed
position-area
keywords fromx-self-start
,x-self-end
,y-self-start
, andy-self-end
toself-x-start
,self-x-end
,self-y-start
, andself-y-end
respectively to align with updated CSSWG specifications.(301226@main) (162214793)
HTML
Resolved Issues
- Fixed an issue where navigating to
:~:text
fragments on dynamically generated pages did not highlight or scroll to the fragment. (300918@main) (150880542)
MathML
Resolved Issues
- Fixed rendering of unknown MathML elements so they now behave like
mrow
as required by the MathML Core specification. (300580@main) (148593275)
Media
Resolved Issues
- Fixed
MediaRecorder
to no longer fire erroneous error events when stopped immediately after track changes, aligning behavior with Chrome and closer to Firefox. (300682@main) (161124260)
Rendering
Resolved Issues
- Fixed incorrect clipping of position:fixed/sticky content during view transitions. (300561@main) (154886047)
- Fixed an issue that caused cropped flexbox elements to render incorrectly. (300433@main) (159638640)
- Fixed an issue where sticky elements at the edge of the viewport could disappear during rubber band scrolling. (300544@main) (160385933)
- Fixed flickering of elements with slow-painting content during view transitions. (300902@main) (160886647)
- Fixed an issue where elements with both
opacity
and CSSfilter
effects could render incorrectly. (300549@main) (161130683) - Fixed an issue where elements with background images were not counted as contentful for Paint Timing. (300667@main) (161456094)
SVG
Resolved Issues
- Fixed an issue where
stop-color
incorrectly accepted hashless hex color values like1234
by treating them as invalid to follow the spec. (300296@main) (119166640) - Fixed an issue where SVG pattern
tileImage
could appear blurred or pixelated when zooming or printing. (300357@main) (159202567) - Fixed
SVGAElement
so that itsrel
andrelList
attributes now affect navigation behavior, including proper handling ofnoopener
,noreferrer
, and the newopener
value, aligning SVG links withHTMLAnchorElement
behavior. (300462@main) (160724516)
Security
Resolved Issues
- Fixed parsing of
require-trusted-types-for
in CSP to ensure'script'
is only valid when followed by whitespace or end of buffer. (300770@main) (147760089)
Web API
New Features
- Added support for Largest Contentful Paint. (300834@main) (161705604)
Resolved Issues
- Fixed an issue where the first
pointerdown
event was lost after triggering a context menu by right-clicking. (300696@main) (84787733) - Fixed Trusted Types to only verify event handler attributes for elements in the XHTML, SVG, and MathML namespaces, preventing incorrect checks on other namespaces. (300783@main) (147763139)
- Fixed an issue where
navigate.back
in the main frame would fail after anavigate.back
in a child frame by properly clearing the provisional history item to allow correct back navigation. (301092@main) (158259024) - Fixed
NavigateEvent.sourceElement
to correctly reference the submittingHTMLFormElement
instead ofnull
when a form is submitted. (301252@main) (160391355) - Fixed
EventCounts
interface was notmaplike
. Enables use of methods such as.forEach()
,keys()
, andentries()
. (300830@main) (160968888) - Fixed an issue where
mousemove
events were still dispatched to removedmouseover
targets instead of their parent element when the target was deleted. (300522@main) (161203639) - Fixed missing
pointerenter
andmouseenter
events when a child element moved under the mouse. (300564@main) (161362257) - Fixed an issue where only one CSP violation report was sent for multiple enforced
require-trusted-types-for
directives. (300832@main) (161740298) - Fixed Trusted Types incorrectly treating
null
orundefined
policy return values asnull
instead of empty strings duringcreateHTML
,createScript
, andcreateScriptURL
operations. (300892@main) (161837641)
Web Extension
New Features
- Added support for
browser.runtime.getVersion()
to retrieve the extension version from its manifest. (300972@main) (161742137)
Web Inspector
Resolved Issues
- Fixed syntax highlighting for JavaScript features like template literals, private class elements, optional chaining, and others. (300332@main) (107619553)
- Fixed an issue where navigating the DOM tree using the keyboard would get stuck in a loop within certain subtrees. (300471@main) (159841729)
- Fixed an issue where adding DOM attributes or node siblings did not work correctly when using the actions from the context menu. (300752@main) (161577627)