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

# Safari Technology Preview 245 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Accessibility, CSS, Editing, HTML, Images, JavaScript, MathML, Rendering, SVG, Web API, Web Extensions, Web Inspector, WebGPU, WebRTC.

## Overview

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

### Accessibility

#### Resolved Issues

- Fixed VoiceOver’s “Skip redundant labels” setting not being respected on certain web pages. ([312967@main](https://commits.webkit.org/312967@main))  (176297111)

### CSS

#### New Features

- Added support for the case-sensitive modifier `s` in CSS attribute selectors. ([313234@main](https://commits.webkit.org/313234@main))  (126331481)
- Added support for the `:host:has()` compound selector in CSS. ([313350@main](https://commits.webkit.org/313350@main))  (139799278)

#### Resolved Issues

- Fixed `aspect-ratio` not being respected on flex children when the flex container has `position: absolute`. ([313213@main](https://commits.webkit.org/313213@main))  (117807518)
- Fixed `aspect-ratio` not working correctly on flex children that also have `overflow` set. ([313170@main](https://commits.webkit.org/313170@main))  (118926827)
- Fixed image `aspect-ratio` not being preserved when `width: 100%` and `height: 100%` are set but no ancestor has a defined width. ([313003@main](https://commits.webkit.org/313003@main))  (162373271)
- Fixed transferred min/max block-size constraints not being applied for intrinsic keyword widths on replaced elements. ([313091@main](https://commits.webkit.org/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](https://commits.webkit.org/313271@main))  (175522811)
- Fixed `CSSStyleDeclaration.setProperty()` failing to apply `!important` priority to an existing inline style property when the value was an integer of 255 or lower. ([313159@main](https://commits.webkit.org/313159@main))  (176099619)
- Fixed an issue where elements using `stretch` sizing inside anonymous block wrappers resolved to their intrinsic size instead of stretching to fill the available space. ([313359@main](https://commits.webkit.org/313359@main))  (176398251)
- Fixed `:has()` style invalidation failing in complex nested cases involving `:is()`. ([312966@main](https://commits.webkit.org/312966@main))  (176719780)
- Fixed `-webkit-perspective` not establishing a containing block for fixed-positioned descendants. ([313020@main](https://commits.webkit.org/313020@main))  (176729670)
- Fixed nested multi-column layouts with three or more levels failing to paginate content across pages. ([312973@main](https://commits.webkit.org/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](https://commits.webkit.org/313009@main))  (176771971)
- Fixed non-replaced blocks with `aspect-ratio` and a percentage `max-width` collapsing to zero width during intrinsic sizing. ([313074@main](https://commits.webkit.org/313074@main))  (176873776)
- Fixed percentage `max-width` on elements with `aspect-ratio` resolving against the wrong axis in perpendicular writing modes. ([313078@main](https://commits.webkit.org/313078@main))  (176879597)
- Fixed `z-index` not applying to statically-positioned `display: -webkit-box` items to align with Firefox and Chrome behavior. ([313081@main](https://commits.webkit.org/313081@main))  (176886461)
- Fixed flex containers using `box-sizing: border-box` providing the wrong cross size to stretched flex items. ([313175@main](https://commits.webkit.org/313175@main))  (176989934)
- Fixed flex containers with `aspect-ratio`-derived height not providing a definite cross size to their flex items. ([313256@main](https://commits.webkit.org/313256@main))  (177085129)
- Fixed SVG images with no intrinsic dimensions collapsing to zero height inside column flex containers. ([313257@main](https://commits.webkit.org/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](https://commits.webkit.org/313286@main))  (176847897)
- Fixed a recent regression that “Zhuyin - Traditional” input method stalling for multiple seconds when composing Chinese text. ([313336@main](https://commits.webkit.org/313336@main))  (177042301)

### HTML

#### Resolved Issues

- Fixed a severe performance regression causing dynamic insertion of `<img>` elements with a `src` attribute to be dramatically slower than other browsers. ([313268@main](https://commits.webkit.org/313268@main))  (166201075)
- Fixed nested calls to `requestClose()` incorrectly firing multiple `cancel` events and causing a stack overflow. ([313239@main](https://commits.webkit.org/313239@main))  (174850509)
- Fixed `requestClose()` incorrectly removing the `open` attribute when called on a disconnected `dialog` element. ([313251@main](https://commits.webkit.org/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](https://commits.webkit.org/313047@main))  (176410897)
- Fixed the HTML preload scanner not preloading resources referenced by legacy `<image>` tags. ([312984@main](https://commits.webkit.org/312984@main))  (176712749)

### Images

#### Resolved Issues

- Fixed rendering performance of HDR images that have gain-maps by using GPU-backed surfaces. ([313339@main](https://commits.webkit.org/313339@main))  (176605566)

### JavaScript

#### New Features

- Added support for static `import defer` semantics. ([313139@main](https://commits.webkit.org/313139@main))  (176568369)

#### Resolved Issues

- Fixed the `Array` `ToPrimitive` fast path incorrectly ignoring overrides of `Object.prototype.valueOf`. ([313028@main](https://commits.webkit.org/313028@main))  (175122250)
- Fixed input position corruption in regular expression backward matching when rewinding over a surrogate pair. ([313026@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/312993@main))  (170901728)
- Fixed spacing values for prefix operators `+`, `−`, `±`, `∓`, `∇`, and infix operator `⋉` in the MathML Core operator dictionary. ([312999@main](https://commits.webkit.org/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](https://commits.webkit.org/312997@main))  (176693587)
- Fixed nonce-hiding support for MathML elements to align with the HTML specification. ([313075@main](https://commits.webkit.org/313075@main))  (176875058)

### Media

#### Resolved Issues

- Fixed `timeupdate` events being fired during seeking before the seek operation completes. ([313165@main](https://commits.webkit.org/313165@main))  (176861767)
- Fixed the `ended` event not always firing when the `MediaSource` duration is changed to match the current playback position. ([313141@main](https://commits.webkit.org/313141@main))  (176863546)
- Fixed a MediaSource issue where the decode-key cleanup in coded frame processing was incorrectly removing non-orphaned samples. ([313296@main](https://commits.webkit.org/313296@main))  (176971800)
- Fixed `currentTime()` returning a stale value after the playback rate was changed from zero to a non-zero value. ([313249@main](https://commits.webkit.org/313249@main))  (177046564)

### Rendering

#### Resolved Issues

- Fixed an issue where a child element with `filter: blur()` ignored `border-radius` overflow clipping from its parent. ([312531@main](https://commits.webkit.org/312531@main))  (175519148)
- Fixed `drop-shadow` filters and `transform: translate()` incorrectly clipping nested elements after a regression. ([313316@main](https://commits.webkit.org/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](https://commits.webkit.org/313168@main))  (176172404)

### SVG

#### Resolved Issues

- Fixed negative `stroke-dashoffset` values rendering with incorrect offsets when `stroke-dasharray` has an odd number of values. ([313353@main](https://commits.webkit.org/313353@main))  (103596361)
- Fixed an issue where `@prefers-color-scheme` in an SVG image will sometimes not follow the system color appearance. ([313021@main](https://commits.webkit.org/313021@main))  (176413340)
- Fixed `getScreenCTM()` returning an incorrect matrix when the document is scrolled under a CSS-transformed ancestor. ([313111@main](https://commits.webkit.org/313111@main))  (176814876)

### Web API

#### Resolved Issues

- Fixed missing custom element callbacks for the `role` attribute. ([312976@main](https://commits.webkit.org/312976@main))  (176713992)
- Fixed incorrect URL parser invocation on the `Notification` object. ([312988@main](https://commits.webkit.org/312988@main))  (176762955)
- Fixed `requestAnimationFrame()` not providing sub-millisecond timestamp precision in cross-origin isolated contexts. ([313153@main](https://commits.webkit.org/313153@main))  (176967366)

### Web Extensions

#### Resolved Issues

- Fixed cross-origin `XMLHttpRequest` incorrectly triggering additional Web Extension permission requests. ([313506@main](https://commits.webkit.org/313506@main))  (154866064)
- Fixed loading Web Extensions breaking Cloudflare bot challenge pages. ([313007@main](https://commits.webkit.org/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](https://commits.webkit.org/312995@main))  (176770197)

### WebGPU

#### Resolved Issues

- Fixed a WGSL shader validation failure in binary arithmetic expressions. ([313135@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/313072@main))  (175425085)

---

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)