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

# Safari Technology Preview 230 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Animations, CSS, HTML, MathML, Media, Rendering, SVG, Security, Web API, Web Extension, and Web Inspector.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 230 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: [300291@main…300986@main](https://github.com/WebKit/WebKit/compare/967b8318789f7e0dd92f68fd31d944f0609593db...a53c1df6dfa172655ffcbc1fdd2dacf6cb68fa27).

### Animations

#### Resolved Issues

- Fixed `animation-name` resolution to correctly find matching `@keyframes` within tree-scoped and shadow DOM contexts. ([300706@main](https://commits.webkit.org/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](https://commits.webkit.org/300422@main))  (157638931)
- Fixed CSS anchor positioning to remember the last successful position option at `ResizeObserver` delivery time, aligning with the spec. ([300890@main](https://commits.webkit.org/300890@main))  (159225250)
- Fixed an issue where transitioning an element to `display: none` with `transition-behavior: allow-discrete` and CSS Anchor Positioning would repeatedly restart the transition. ([300519@main](https://commits.webkit.org/300519@main))  (160421419)
- Fixed the acceptable anchor algorithm in CSS Anchor Positioning to correctly consider inline elements as containing blocks. ([300614@main](https://commits.webkit.org/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](https://commits.webkit.org/300297@main))  (160927950)
- Fixed `position-try-fallback` resolution by treating names as tree-scoped references to properly search shadow DOM host scopes. ([300333@main](https://commits.webkit.org/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](https://commits.webkit.org/300684@main))  (161563289)
- Fixed `getComputedStyle` to return numeric values (`2`) for `orphans` and `widows` instead of the internal `auto` value, ensuring the computed values correctly reflect the CSS specification. ([300690@main](https://commits.webkit.org/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](https://commits.webkit.org/300787@main))  (161611444)
- Fixed the calculation of anchor positions in `vertical-rl` multi-column layouts by correctly flipping coordinates in fragmented flows. [(300807@main)](https://commits.webkit.org/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](https://commits.webkit.org/300909@main))  (161714637)
- Fixed `position-area` handling to include the in-flow scrollable area of the initial containing block. ([300921@main](https://commits.webkit.org/300921@main))  (161741583)
- Fixed `position-visibility: no-overflow` to respond correctly to scrolling. ([301211@main](https://commits.webkit.org/301211@main))  (162173481)
- Fixed: Renamed `position-area` keywords from `x-self-start`, `x-self-end`, `y-self-start`, and `y-self-end` to `self-x-start`, `self-x-end`, `self-y-start`, and `self-y-end` respectively to align with updated CSSWG specifications.([301226@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/300682@main))  (161124260)

### Rendering

#### Resolved Issues

- Fixed incorrect clipping of position:fixed/sticky content during view transitions. ([300561@main](https://commits.webkit.org/300561@main))  (154886047)
- Fixed an issue that caused cropped flexbox elements to render incorrectly. ([300433@main](https://commits.webkit.org/300433@main))  (159638640)
- Fixed an issue where sticky elements at the edge of the viewport could disappear during rubber band scrolling. ([300544@main](https://commits.webkit.org/300544@main))  (160385933)
- Fixed flickering of elements with slow-painting content during view transitions. ([300902@main](https://commits.webkit.org/300902@main))  (160886647)
- Fixed an issue where elements with both `opacity` and CSS `filter` effects could render incorrectly. ([300549@main](https://commits.webkit.org/300549@main))  (161130683)
- Fixed an issue where elements with background images were not counted as contentful for Paint Timing. ([300667@main](https://commits.webkit.org/300667@main))  (161456094)

### SVG

#### Resolved Issues

- Fixed an issue where `stop-color` incorrectly accepted hashless hex color values like `1234` by treating them as invalid to follow the spec. ([300296@main](https://commits.webkit.org/300296@main))  (119166640)
- Fixed an issue where SVG pattern `tileImage` could appear blurred or pixelated when zooming or printing. ([300357@main](https://commits.webkit.org/300357@main))  (159202567)
- Fixed `SVGAElement` so that its `rel` and `relList` attributes now affect navigation behavior, including proper handling of `noopener`, `noreferrer`, and the new `opener` value, aligning SVG links with `HTMLAnchorElement` behavior. ([300462@main](https://commits.webkit.org/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](https://commits.webkit.org/300770@main))  (147760089)

### Web API

#### New Features

- Added support for Largest Contentful Paint. ([300834@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/300783@main))  (147763139)
- Fixed an issue where `navigate.back` in the main frame would fail after a `navigate.back` in a child frame by properly clearing the provisional history item to allow correct back navigation. ([301092@main](https://commits.webkit.org/301092@main))  (158259024)
- Fixed `NavigateEvent.sourceElement` to correctly reference the submitting `HTMLFormElement` instead of `null` when a form is submitted. ([301252@main](https://commits.webkit.org/301252@main))  (160391355)
- Fixed `EventCounts` interface was not `maplike`. Enables use of methods such as `.forEach()`, `keys()`, and `entries()`. ([300830@main](https://commits.webkit.org/300830@main))  (160968888)
- Fixed an issue where `mousemove` events were still dispatched to removed `mouseover` targets instead of their parent element when the target was deleted. ([300522@main](https://commits.webkit.org/300522@main))  (161203639)
- Fixed missing `pointerenter` and `mouseenter` events when a child element moved under the mouse. ([300564@main](https://commits.webkit.org/300564@main))  (161362257)
- Fixed an issue where only one CSP violation report was sent for multiple enforced `require-trusted-types-for` directives. ([300832@main](https://commits.webkit.org/300832@main))  (161740298)
- Fixed Trusted Types incorrectly treating `null` or `undefined` policy return values as `null` instead of empty strings during `createHTML`, `createScript`, and `createScriptURL` operations. ([300892@main](https://commits.webkit.org/300892@main))  (161837641)

### Web Extension

#### New Features

- Added support for `browser.runtime.getVersion()` to retrieve the extension version from its manifest. ([300972@main](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/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](https://commits.webkit.org/300752@main))  (161577627)

---

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)