Release Notes for Safari Technology Preview 252
Safari Technology Preview Release 252 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: 319252@main…320112@main.
Accessibility
Resolved Issues
- Fixed the accessible name of a
display: contentselement incorrectly including text from its siblings. (319287@main) (185108892) - Fixed list marker text being included in accessible names and values that requested text without list markers. (319615@main) (185422271)
Animations
Resolved Issues
- Fixed an unresolved current time for a progress-based timeline being treated as a progress timeline boundary. (319442@main) (183902668)
- Fixed a newly encountered animation frame rate being aligned with the lowest compatible frame rate instead of the highest. (319362@main) (185152473)
- Fixed an animation of
widthorheightbeing incorrectly accelerated when only some keyframes have a size-dependenttransform. (319363@main) (185153675) - Fixed view timeline range boundaries discarding subpixel adjustments for sticky positioned elements. (319369@main) (185162728)
- Fixed keyframes using
revert-layerorrevert-ruleno longer being recomputed after aKeyframeEffectis copied. (319368@main) (185164643) - Fixed
scroll-timeline-nameandview-timeline-nameto be loosely matched across shadow tree boundaries. (320040@main) (185206745)
CSS
New Features
- Added support for the
named-feature()function in@supportsconditions. (319412@main) (183688843) - Added support for
CSSConditionRule.supports. (319302@main) (184943650) - Added support for the unprefixed
user-selectCSS property. (319562@main) (184964807) - Added support for
CSSMediaRule.matches. (319988@main) (185154835) - Added support for percentage values in
text-decoration-inset. (320052@main) (185850399)
Resolved Issues
- Fixed
line-clampnot clamping content inside an inline block. (319848@main) (168534323) - Fixed an unexpected ellipsis appearing when
line-clampis applied to content with a block inside an inline box. (319392@main) (182123153) - Fixed the computed value of
displayfor-webkit-boxand-webkit-inline-boxwhen combined with-webkit-box-orient: verticaland thecontinueproperty. (319370@main) (182288734) - Fixed
random()andrandom-item()with anautocaching key in the same property value producing the same random value. (319463@main) (182846761) - Fixed margins trimmed by
margin-trimbeing reflected in computed style. (319612@main) (184215336) - Fixed subgrid columns ignoring the parent grid’s content distribution from
justify-content. (319353@main) (184542148) - Fixed the resolution of font-relative lengths when a minimum font size is in effect. (319340@main) (184727481)
- Fixed an issue where grid item margins were not included in the intrinsic size contributions of a grid container. (319836@main) (184789473)
- Fixed an issue where extra space was not distributed beyond growth limits when sizing grid tracks. (319837@main) (184933769)
- Fixed
::selectionfailing to repaint when its style changes. (319662@main) (184994906) - Fixed invalidation and serialization of properties that use
attr()with a number or percentage value. (319994@main) (185088893) - Fixed
anchor(right)not resolving to an inline anchor’s right edge invertical-rlwriting mode. (319286@main) (185108663) - Fixed
pxvalues insidecalc()expressions being serialized incorrectly in computed style whenzoomis applied. (319320@main) (185156231) - Fixed
text-overflow: ellipsisnot being shown on content that is not clamped when usingline-clamp. (319597@main) (185348784) - Fixed
offset-pathnot respectingcorner-shapewhen using a<coord-box>reference box. (319655@main) (185447602) - Fixed
corner-shapedrawingsquareandnotchcorners asroundandscoopon outlines andbox-shadowspread. (319606@main) (185452130) - Fixed font load status changes being reported with an incorrect previous state when script runs in response to a
FontFaceloadedpromise. (319575@main) (185462848) - Fixed incorrect style sharing between elements when a computed value depends on the
lhunit. (319596@main) (185508307) - Fixed interpolation of
corner-shapefor outset curves to match the updated specification algorithm. (319661@main) (185519894) - Fixed: Removed the
inline,inline-start, andinline-endvalues frommargin-trim, which now acceptsnone | block | [ block-start || block-end ]. (319622@main) (185527437) - Fixed: Changed
calc()simplification so thatclamp(none, a, b)becomesmax(a, b)andclamp(a, b, none)becomesmin(a, b). (319614@main) (185531467) - Fixed
align-contentmoving a floated child twice in block containers. (319665@main) (185536955) - Fixed grid content not contributing to the scrollable overflow area. (319929@main) (185923265)
- Fixed
background-size: contain,background-size: cover, and automatic sizing ignoring SVG images that have one intrinsic dimension and no aspect ratio. (319972@main) (185970333) - Fixed arguments to registered custom functions so that they are evaluated in the calling context. (320022@main) (185975255)
CSS Grid Lanes
Resolved Issues
- Fixed: Renamed the
flow-toleranceproperty tofit-tolerance. (319795@main) (185125327)
Canvas
Resolved Issues
- Fixed shadows rendering with a stale, incorrect transform in some cases. (319534@main) (185405205)
Editing
Resolved Issues
- Fixed pasted text being cut off in some web-based code editors. (319350@main) (184653264)
- Fixed typing a space in editable content inside a
<summary>or<button>element also activating that element. (319628@main) (185479319)
Forms
Resolved Issues
- Fixed: Updated the default styling for
appearance: base-selectto center-align items, uselhunits for padding, and reset all font properties on ::picker-icon and ::checkmark. (319816@main) (184843832) - Fixed spin buttons for
<input type="number">not repainting when the window’s active state changes. (319683@main) (185625389)
HTML
Resolved Issues
- Fixed the dialog focusing steps not moving focus after calling
show()because the<dialog>was still treated as unrendered. (319387@main) (185156091) - Fixed
dialog.close()restoring focus even when focus was not inside the dialog and the dialog was not modal. (319640@main) (185549474) - Fixed
documentElement.focus()to move focus to the viewport instead of doing nothing. (319730@main) (185567540) - Fixed script elements parsed from XML by
DOMParserexecuting after being cloned. (319922@main) (185943138)
Images
Resolved Issues
- Fixed
ImageDecodernot applying an image’s EXIF orientation to the decoded frames. (319527@main) (184850407) - Fixed
ImageDecoderproducingVideoFrameobjects with a duration of zero. (319526@main) (185257570)
JavaScript
Resolved Issues
- Fixed
worker.terminate()and page reloads not terminating a worker that is blocked inAtomics.waitor a WebAssemblyatomic.wait. (319508@main) (147482360) - Fixed
Promise.try()to resolve its result withPromiseResolve, so a promise returned by the callback is no longer wrapped in an extra promise. (319276@main) (185064567) - Fixed regular expression backreferences not restoring the input position when reading a surrogate pair fails. (319560@main) (185065533)
- Fixed
Uint8Array.prototype.setFromBase64()so that nothing is read and no error is thrown when the target array has zero length. (319275@main) (185073630) - Fixed a regular expression using the
sflag matching from the start of the string instead of fromlastIndex. (320086@main) (185814135) - Fixed the
Refererheader sent for descendant and dynamically imported module script fetches. (319921@main) (185943042) - Fixed
String.prototype.replacewith a unicode regular expression splitting a surrogate pair after an empty match. (320099@main) (186143674)
Media
Resolved Issues
- Fixed videos immediately exiting fullscreen back to inline after an earlier video had been played in fullscreen. (320084@main) (174807377)
- Fixed an issue where interacting with the inline media controls could dismiss a site’s custom video presentation. (319741@main) (181244652)
- Fixed video failing with
MEDIA_ERR_ABORTEDand restarting from the beginning after restoring a page from the back/forward cache. (319472@main) (183119720) - Fixed
ManagedMediaSourcenot firing thestartstreamingevent when seeking outside the buffered range. (319330@main) (183790572) - Fixed an issue where a video could begin playing ahead of another video that requested playback earlier while audio session activation was still pending. (319455@main) (185043324)
- Fixed an unnecessary
endedevent being fired when seeking to the end of anHTMLMediaElementbacked by aMediaSource. (319847@main) (185145277) - Fixed an issue where audio could continue playing for several seconds after closing a tab. (319759@main, 319842@main) (185505597)
Networking
Resolved Issues
- Fixed cookies being stored as session cookies when their
Expiresdate uses the month-before-day format produced byDate.prototype.toString(). (320016@main) (185840799)
Performance
Resolved Issues
- Fixed hidden page throttling heuristics not being applied to newly created pages. (319630@main) (185461584)
Rendering
Resolved Issues
- Fixed characters overlapping adjacent text when a space glyph’s base advance is substituted. (319556@main) (180227130)
- Fixed incorrect element dimensions being reported for content inside an
iframewhose owner element generates no box. (319910@main) (181639379) - Fixed content overlapping when an element gains a scrollbar during layout. (320066@main) (183465635)
- Fixed a list marker overlapping the list item content when the marker text is right-to-left. (319314@main) (185048387)
- Fixed an outside list marker keeping a line of its own when a block is appended to an empty list item. (319289@main) (185109123)
- Fixed a block-level box on a line being handed its own float as an intruding float. (319290@main) (185109160)
- Fixed list markers not updating when the list item’s font changes dynamically. (319476@main) (185330733)
- Fixed an issue where adjoining margins did not collapse when a container’s first child was a float or an out-of-flow box. (319696@main) (185591842)
- Fixed an issue where margins did not collapse after a self-collapsing block-level box on a line. (319697@main) (185598333)
- Fixed an issue where a list marker was painted on top of the list item’s content instead of behind it. (319818@main) (185741211)
- Fixed an issue where a block-level box on a line was left behind when a column break moved the line. (319821@main) (185787568)
- Fixed
backdrop-filterbeing clipped to a rounded rectangle instead of followingcorner-shape. (320063@main) (185813432) - Fixed an issue where a
max-widthlength was not honored on an out-of-flow replaced element with an intrinsic aspect ratio. (319917@main) (185831651) - Fixed a relatively positioned block-level box on a line reporting scrollable overflow as wide as the entire line. (319899@main) (185835450)
- Fixed an issue where an orthogonal block-level box inside an inline box made its container as wide as the box instead of as wide as its content. (319897@main) (185890940)
- Fixed the position of an orthogonal block-level box inside an inline box. (319895@main) (185895981)
- Fixed
background-size: coverpainting nothing for an SVG image with an extreme natural aspect ratio. (320008@main) (186006463)
SVG
New Features
- Added support for
text-overflowas an SVG presentation attribute. (319563@main) (176146717) - Added support for SVG external resources, allowing
url()references to SVG resources such as filters, masks, and gradients in external documents. (319411@main) (183940963)
Deprecations
- Removed the
use-script,no-change, andreset-sizevalues fromdominant-baselineto match SVG 2. (319256@main) (174635806)
Security
Resolved Issues
- Fixed an issue where navigations to external URLs in subframes were not consistently blocked. (319798@main) (185801936)
Web API
New Features
- Added support for a
stackproperty onDOMException, matching other error objects. (319782@main) (185770735)
Resolved Issues
- Fixed the Digital Credentials API settling the
navigator.credentials.get()promise synchronously instead of queuing a global task as required by the specification. (319421@main) (182678875) - Fixed a streaming
fetch()response body being withheld from the reader until the next network chunk arrived. (319981@main) (185883588)
Web Audio
Resolved Issues
- Fixed
AudioBufferSourceNodeignoring the offset passed tostart()when using a negativeplaybackRate. (319674@main) (184484940) - Fixed
AudioBufferSourceNodeto clamp out-of-rangeloopStartandloopEndvalues. (319755@main) (185752079) - Fixed an issue where
AudioBufferSourceNoderendered only silence whenstart()was called with an out-of-bounds offset and a negativeplaybackRate. (319779@main) (185769043)
Web Inspector
New Features
- Added logging of the site-specific quirks active on a page to the Web Inspector console. (319533@main) (185246801)
Resolved Issues
- Fixed an exception being thrown when selecting a CDATA section in the DOM tree. (319252@main) (185027124)
WebAssembly
New Features
- Added support for WebAssembly
memory64together with multiple memories. (319336@main) (185152671)
Resolved Issues
- Fixed inconsistent
CompileErrormessages when compiling a WebAssembly module with more than one invalid function by always reporting the error for the lowest function index. (319430@main) (140651602) - Fixed a re-exported imported
WebAssembly.Tagnot being the same object as the one that was imported. (319294@main) (185121644) - Fixed re-exporting an imported immutable
WebAssembly.Globalso that the exports object returns the same object instead of a new wrapper. (319351@main) (185184951) - Fixed
WebAssembly.Module.imports()andWebAssembly.Module.exports()exposing thetypefield from the unfinished JS Type Reflection proposal. (319427@main) (185281658)
WebGL
Resolved Issues
- Fixed the orientation and improved the performance of WebGL canvas contents copied into an image, such as when drawing a WebGL canvas into a 2D canvas or an
ImageBitmap. (319576@main) (184913852) - Fixed
getAttribLocation()andgetUniformLocation()not reporting anINVALID_OPERATIONerror when querying an unlinked program with a reserved name prefix. (319903@main) (185565011)
WebGPU
New Features
- Added support for the
snorm10-10-10-2value ofGPUVertexFormat. (319603@main) (185379686)
Resolved Issues
- Fixed a typo in WGSL diagnostics that named the
sampler_comparisontype incorrectly. (320037@main) (186031593)
WebRTC
Resolved Issues
- Fixed an issue where certificate fingerprints were not validated against the previously generated offer or answer when applying a local description. (319822@main) (183719203)
- Fixed TURN server URLs containing query-string parameters such as
?transport=tcpbeing rejected, which prevented relay ICE candidates from being gathered. (319365@main) (184556197)