<!--
{
  "documentType" : "article",
  "framework" : "Safari Technology Preview Release Notes",
  "identifier" : "/documentation/Safari-Technology-Preview-Release-Notes/stp-release-252",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Safari Technology Preview 252 Release Notes"
}
-->

# Safari Technology Preview 252 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Accessibility, Animations, CSS, CSS Grid Lanes, Canvas, Editing, Forms, HTML, Images, JavaScript, Media, Networking, Performance, Rendering, SVG, Security, Web API, Web Audio, Web Inspector, WebAssembly, WebGL, WebGPU, and WebRTC.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 252 is now [available for download](https://developer.apple.com/safari/resources/) 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](https://github.com/WebKit/WebKit/compare/3b7282ac21bbb0cbe93af6bf69cca280968fa183...0839f9342ed5056785ce58ed9c5a0f92b323f625).

### Accessibility

#### Resolved Issues

- Fixed the accessible name of a `display: contents` element incorrectly including text from its siblings. ([319287@main](https://commits.webkit.org/319287@main))  (185108892)
- Fixed list marker text being included in accessible names and values that requested text without list markers. ([319615@main](https://commits.webkit.org/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](https://commits.webkit.org/319442@main))  (183902668)
- Fixed a newly encountered animation frame rate being aligned with the lowest compatible frame rate instead of the highest. ([319362@main](https://commits.webkit.org/319362@main))  (185152473)
- Fixed an animation of `width` or `height` being incorrectly accelerated when only some keyframes have a size-dependent `transform`. ([319363@main](https://commits.webkit.org/319363@main))  (185153675)
- Fixed view timeline range boundaries discarding subpixel adjustments for sticky positioned elements. ([319369@main](https://commits.webkit.org/319369@main))  (185162728)
- Fixed keyframes using `revert-layer` or `revert-rule` no longer being recomputed after a `KeyframeEffect` is copied. ([319368@main](https://commits.webkit.org/319368@main))  (185164643)
- Fixed `scroll-timeline-name` and `view-timeline-name` to be loosely matched across shadow tree boundaries. ([320040@main](https://commits.webkit.org/320040@main))  (185206745)

### CSS

#### New Features

- Added support for the `named-feature()` function in `@supports` conditions. ([319412@main](https://commits.webkit.org/319412@main))  (183688843)
- Added support for `CSSConditionRule.supports`. ([319302@main](https://commits.webkit.org/319302@main))  (184943650)
- Added support for the unprefixed `user-select` CSS property. ([319562@main](https://commits.webkit.org/319562@main))  (184964807)
- Added support for `CSSMediaRule.matches`. ([319988@main](https://commits.webkit.org/319988@main))  (185154835)
- Added support for percentage values in `text-decoration-inset`. ([320052@main](https://commits.webkit.org/320052@main))  (185850399)

#### Resolved Issues

- Fixed `line-clamp` not clamping content inside an inline block. ([319848@main](https://commits.webkit.org/319848@main))  (168534323)
- Fixed an unexpected ellipsis appearing when `line-clamp` is applied to content with a block inside an inline box. ([319392@main](https://commits.webkit.org/319392@main))  (182123153)
- Fixed the computed value of `display` for `-webkit-box` and `-webkit-inline-box` when combined with `-webkit-box-orient: vertical` and the `continue` property. ([319370@main](https://commits.webkit.org/319370@main))  (182288734)
- Fixed `random()` and `random-item()` with an `auto` caching key in the same property value producing the same random value. ([319463@main](https://commits.webkit.org/319463@main))  (182846761)
- Fixed margins trimmed by `margin-trim` being reflected in computed style. ([319612@main](https://commits.webkit.org/319612@main))  (184215336)
- Fixed subgrid columns ignoring the parent grid’s content distribution from `justify-content`. ([319353@main](https://commits.webkit.org/319353@main))  (184542148)
- Fixed the resolution of font-relative lengths when a minimum font size is in effect. ([319340@main](https://commits.webkit.org/319340@main))  (184727481)
- Fixed an issue where grid item margins were not included in the intrinsic size contributions of a grid container. ([319836@main](https://commits.webkit.org/319836@main))  (184789473)
- Fixed an issue where extra space was not distributed beyond growth limits when sizing grid tracks. ([319837@main](https://commits.webkit.org/319837@main))  (184933769)
- Fixed `::selection` failing to repaint when its style changes. ([319662@main](https://commits.webkit.org/319662@main))  (184994906)
- Fixed invalidation and serialization of properties that use `attr()` with a number or percentage value. ([319994@main](https://commits.webkit.org/319994@main))  (185088893)
- Fixed `anchor(right)` not resolving to an inline anchor’s right edge in `vertical-rl` writing mode. ([319286@main](https://commits.webkit.org/319286@main))  (185108663)
- Fixed `px` values inside `calc()` expressions being serialized incorrectly in computed style when `zoom` is applied. ([319320@main](https://commits.webkit.org/319320@main))  (185156231)
- Fixed `text-overflow: ellipsis` not being shown on content that is not clamped when using `line-clamp`. ([319597@main](https://commits.webkit.org/319597@main))  (185348784)
- Fixed `offset-path` not respecting `corner-shape` when using a `<coord-box>` reference box. ([319655@main](https://commits.webkit.org/319655@main))  (185447602)
- Fixed `corner-shape` drawing `square` and `notch` corners as `round` and `scoop` on outlines and `box-shadow` spread. ([319606@main](https://commits.webkit.org/319606@main))  (185452130)
- Fixed font load status changes being reported with an incorrect previous state when script runs in response to a `FontFace` `loaded` promise. ([319575@main](https://commits.webkit.org/319575@main))  (185462848)
- Fixed incorrect style sharing between elements when a computed value depends on the `lh` unit. ([319596@main](https://commits.webkit.org/319596@main))  (185508307)
- Fixed interpolation of `corner-shape` for outset curves to match the updated specification algorithm. ([319661@main](https://commits.webkit.org/319661@main))  (185519894)
- Fixed: Removed the `inline`, `inline-start`, and `inline-end` values from `margin-trim`, which now accepts `none | block | [ block-start || block-end ]`. ([319622@main](https://commits.webkit.org/319622@main))  (185527437)
- Fixed: Changed `calc()` simplification so that `clamp(none, a, b)` becomes `max(a, b)` and `clamp(a, b, none)` becomes `min(a, b)`. ([319614@main](https://commits.webkit.org/319614@main))  (185531467)
- Fixed `align-content` moving a floated child twice in block containers. ([319665@main](https://commits.webkit.org/319665@main))  (185536955)
- Fixed grid content not contributing to the scrollable overflow area. ([319929@main](https://commits.webkit.org/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](https://commits.webkit.org/319972@main))  (185970333)
- Fixed arguments to registered custom functions so that they are evaluated in the calling context. ([320022@main](https://commits.webkit.org/320022@main))  (185975255)

### CSS Grid Lanes

#### Resolved Issues

- Fixed: Renamed the `flow-tolerance` property to `fit-tolerance`. ([319795@main](https://commits.webkit.org/319795@main))  (185125327)

### Canvas

#### Resolved Issues

- Fixed shadows rendering with a stale, incorrect transform in some cases. ([319534@main](https://commits.webkit.org/319534@main))  (185405205)

### Editing

#### Resolved Issues

- Fixed pasted text being cut off in some web-based code editors. ([319350@main](https://commits.webkit.org/319350@main))  (184653264)
- Fixed typing a space in editable content inside a `<summary>` or `<button>` element also activating that element. ([319628@main](https://commits.webkit.org/319628@main))  (185479319)

### Forms

#### Resolved Issues

- Fixed: Updated the default styling for `appearance: base-select` to center-align items, use `lh` units for padding, and reset all font properties on ::picker-icon and ::checkmark. ([319816@main](https://commits.webkit.org/319816@main))  (184843832)
- Fixed spin buttons for `<input type="number">` not repainting when the window’s active state changes. ([319683@main](https://commits.webkit.org/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](https://commits.webkit.org/319387@main))  (185156091)
- Fixed `dialog.close()` restoring focus even when focus was not inside the dialog and the dialog was not modal. ([319640@main](https://commits.webkit.org/319640@main))  (185549474)
- Fixed `documentElement.focus()` to move focus to the viewport instead of doing nothing. ([319730@main](https://commits.webkit.org/319730@main))  (185567540)
- Fixed script elements parsed from XML by `DOMParser` executing after being cloned. ([319922@main](https://commits.webkit.org/319922@main))  (185943138)

### Images

#### Resolved Issues

- Fixed `ImageDecoder` not applying an image’s EXIF orientation to the decoded frames. ([319527@main](https://commits.webkit.org/319527@main))  (184850407)
- Fixed `ImageDecoder` producing `VideoFrame` objects with a duration of zero. ([319526@main](https://commits.webkit.org/319526@main))  (185257570)

### JavaScript

#### Resolved Issues

- Fixed `worker.terminate()` and page reloads not terminating a worker that is blocked in `Atomics.wait` or a WebAssembly `atomic.wait`. ([319508@main](https://commits.webkit.org/319508@main))  (147482360)
- Fixed `Promise.try()` to resolve its result with `PromiseResolve`, so a promise returned by the callback is no longer wrapped in an extra promise. ([319276@main](https://commits.webkit.org/319276@main))  (185064567)
- Fixed regular expression backreferences not restoring the input position when reading a surrogate pair fails. ([319560@main](https://commits.webkit.org/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](https://commits.webkit.org/319275@main))  (185073630)
- Fixed a regular expression using the `s` flag matching from the start of the string instead of from `lastIndex`. ([320086@main](https://commits.webkit.org/320086@main))  (185814135)
- Fixed the `Referer` header sent for descendant and dynamically imported module script fetches. ([319921@main](https://commits.webkit.org/319921@main))  (185943042)
- Fixed `String.prototype.replace` with a unicode regular expression splitting a surrogate pair after an empty match. ([320099@main](https://commits.webkit.org/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](https://commits.webkit.org/320084@main))  (174807377)
- Fixed an issue where interacting with the inline media controls could dismiss a site’s custom video presentation. ([319741@main](https://commits.webkit.org/319741@main))  (181244652)
- Fixed video failing with `MEDIA_ERR_ABORTED` and restarting from the beginning after restoring a page from the back/forward cache. ([319472@main](https://commits.webkit.org/319472@main))  (183119720)
- Fixed `ManagedMediaSource` not firing the `startstreaming` event when seeking outside the buffered range. ([319330@main](https://commits.webkit.org/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](https://commits.webkit.org/319455@main))  (185043324)
- Fixed an unnecessary `ended` event being fired when seeking to the end of an `HTMLMediaElement` backed by a `MediaSource`. ([319847@main](https://commits.webkit.org/319847@main))  (185145277)
- Fixed an issue where audio could continue playing for several seconds after closing a tab. ([319759@main](https://commits.webkit.org/319759@main), [319842@main](https://commits.webkit.org/319842@main))  (185505597)

### Networking

#### Resolved Issues

- Fixed cookies being stored as session cookies when their `Expires` date uses the month-before-day format produced by `Date.prototype.toString()`. ([320016@main](https://commits.webkit.org/320016@main))  (185840799)

### Performance

#### Resolved Issues

- Fixed hidden page throttling heuristics not being applied to newly created pages. ([319630@main](https://commits.webkit.org/319630@main))  (185461584)

### Rendering

#### Resolved Issues

- Fixed characters overlapping adjacent text when a space glyph’s base advance is substituted. ([319556@main](https://commits.webkit.org/319556@main))  (180227130)
- Fixed incorrect element dimensions being reported for content inside an `iframe` whose owner element generates no box. ([319910@main](https://commits.webkit.org/319910@main))  (181639379)
- Fixed content overlapping when an element gains a scrollbar during layout. ([320066@main](https://commits.webkit.org/320066@main))  (183465635)
- Fixed a list marker overlapping the list item content when the marker text is right-to-left. ([319314@main](https://commits.webkit.org/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](https://commits.webkit.org/319289@main))  (185109123)
- Fixed a block-level box on a line being handed its own float as an intruding float. ([319290@main](https://commits.webkit.org/319290@main))  (185109160)
- Fixed list markers not updating when the list item’s font changes dynamically. ([319476@main](https://commits.webkit.org/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](https://commits.webkit.org/319696@main))  (185591842)
- Fixed an issue where margins did not collapse after a self-collapsing block-level box on a line. ([319697@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/319821@main))  (185787568)
- Fixed `backdrop-filter` being clipped to a rounded rectangle instead of following `corner-shape`. ([320063@main](https://commits.webkit.org/320063@main))  (185813432)
- Fixed an issue where a `max-width` length was not honored on an out-of-flow replaced element with an intrinsic aspect ratio. ([319917@main](https://commits.webkit.org/319917@main))  (185831651)
- Fixed a relatively positioned block-level box on a line reporting scrollable overflow as wide as the entire line. ([319899@main](https://commits.webkit.org/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](https://commits.webkit.org/319897@main))  (185890940)
- Fixed the position of an orthogonal block-level box inside an inline box. ([319895@main](https://commits.webkit.org/319895@main))  (185895981)
- Fixed `background-size: cover` painting nothing for an SVG image with an extreme natural aspect ratio. ([320008@main](https://commits.webkit.org/320008@main))  (186006463)

### SVG

#### New Features

- Added support for `text-overflow` as an SVG presentation attribute. ([319563@main](https://commits.webkit.org/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](https://commits.webkit.org/319411@main))  (183940963)

#### Deprecations

- Removed the `use-script`, `no-change`, and `reset-size` values from `dominant-baseline` to match SVG 2. ([319256@main](https://commits.webkit.org/319256@main))  (174635806)

### Security

#### Resolved Issues

- Fixed an issue where navigations to external URLs in subframes were not consistently blocked. ([319798@main](https://commits.webkit.org/319798@main))  (185801936)

### Web API

#### New Features

- Added support for a `stack` property on `DOMException`, matching other error objects. ([319782@main](https://commits.webkit.org/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](https://commits.webkit.org/319421@main))  (182678875)
- Fixed a streaming `fetch()` response body being withheld from the reader until the next network chunk arrived. ([319981@main](https://commits.webkit.org/319981@main))  (185883588)

### Web Audio

#### Resolved Issues

- Fixed `AudioBufferSourceNode` ignoring the offset passed to `start()` when using a negative `playbackRate`. ([319674@main](https://commits.webkit.org/319674@main))  (184484940)
- Fixed `AudioBufferSourceNode` to clamp out-of-range `loopStart` and `loopEnd` values. ([319755@main](https://commits.webkit.org/319755@main))  (185752079)
- Fixed an issue where `AudioBufferSourceNode` rendered only silence when `start()` was called with an out-of-bounds offset and a negative `playbackRate`. ([319779@main](https://commits.webkit.org/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](https://commits.webkit.org/319533@main))  (185246801)

#### Resolved Issues

- Fixed an exception being thrown when selecting a CDATA section in the DOM tree. ([319252@main](https://commits.webkit.org/319252@main))  (185027124)

### WebAssembly

#### New Features

- Added support for WebAssembly `memory64` together with multiple memories. ([319336@main](https://commits.webkit.org/319336@main))  (185152671)

#### Resolved Issues

- Fixed inconsistent `CompileError` messages when compiling a WebAssembly module with more than one invalid function by always reporting the error for the lowest function index. ([319430@main](https://commits.webkit.org/319430@main))  (140651602)
- Fixed a re-exported imported `WebAssembly.Tag` not being the same object as the one that was imported. ([319294@main](https://commits.webkit.org/319294@main))  (185121644)
- Fixed re-exporting an imported immutable `WebAssembly.Global` so that the exports object returns the same object instead of a new wrapper. ([319351@main](https://commits.webkit.org/319351@main))  (185184951)
- Fixed `WebAssembly.Module.imports()` and `WebAssembly.Module.exports()` exposing the `type` field from the unfinished JS Type Reflection proposal. ([319427@main](https://commits.webkit.org/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](https://commits.webkit.org/319576@main))  (184913852)
- Fixed `getAttribLocation()` and `getUniformLocation()` not reporting an `INVALID_OPERATION` error when querying an unlinked program with a reserved name prefix. ([319903@main](https://commits.webkit.org/319903@main))  (185565011)

### WebGPU

#### New Features

- Added support for the `snorm10-10-10-2` value of `GPUVertexFormat`. ([319603@main](https://commits.webkit.org/319603@main))  (185379686)

#### Resolved Issues

- Fixed a typo in WGSL diagnostics that named the `sampler_comparison` type incorrectly. ([320037@main](https://commits.webkit.org/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](https://commits.webkit.org/319822@main))  (183719203)
- Fixed TURN server URLs containing query-string parameters such as `?transport=tcp` being rejected, which prevented relay ICE candidates from being gathered. ([319365@main](https://commits.webkit.org/319365@main))  (184556197)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)