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

# Safari Technology Preview 231 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: CSS, JavaScript, Media, Rendering, Web API, Web Inspector, and WebDriver.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 231 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: [300987@main…301765@main](https://github.com/WebKit/WebKit/compare/34584723de5b46e01b218df327f43ebd3afb9028...9018757c64f271d2e19408850182e6b841159b53).

### CSS

#### New Features

- Added support for the `safe` keyword with `anchor-center` in CSS Anchor Positioning. ([301301@main](https://commits.webkit.org/301301@main))  (155767796)
- Added support for `flip-x` and `flip-y` options in `position-try-fallback` for CSS Anchor Positioning. ([302057@main](https://commits.webkit.org/302057@main))  (163282036)

#### Resolved Issues

- Fixed handling of padding and margins for flex and grid layouts across all writing modes. ([301814@main](https://commits.webkit.org/301814@main))  (71046552)
- 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)
- Fixed `<iframe>` elements so their content correctly respects the page’s `usedZoom()`. ([302097@main](https://commits.webkit.org/302097@main))  (162314059)
- Fixed auto margins by converting them to zero when `position-area` or `anchor-center` is applied in CSS Anchor Positioning. ([301662@main](https://commits.webkit.org/301662@main))  (162809291)

### JavaScript

#### Resolved Issues

- Fixed `TypeError` messages when calling class or function constructors without `new` to include the constructor name. ([301023@main](https://commits.webkit.org/301023@main))  (161152354)

### Media

#### Resolved Issues

- Fixed an issue where custom WebVTT caption text size settings did not propagate to cue child elements by moving the `font-size` definition into the cue’s shared `<style>` block. ([301681@main](https://commits.webkit.org/301681@main))  (162547969)

### Rendering

#### New Features

- Added support for text shaping across inline boxes. ([301354@main](https://commits.webkit.org/301354@main))  (162430932)

#### Resolved Issues

- Fixed an issue where selecting table cells could cause overlapping selections in flex and grid layouts. ([294464@main](https://commits.webkit.org/294464@main))  (160805174)
- Fixed a performance issue on  layouts with long `pre` blocks and `word-break: break-all` by including whitespace in overflow width calculations. ([301657@main](https://commits.webkit.org/301657@main))  (162695099)
- Fixed Largest Contentful Paint to optimize text paints by performing an early area comparison when an element has only one text box. ([301895@main](https://commits.webkit.org/301895@main))  (163067611)
- Fixed Largest Contentful Paint to skip tracking `loadTime` for data URI images. ([301988@main](https://commits.webkit.org/301988@main))  (163213487)
- Fixed how Largest Contentful Paint performs area checks for text nodes, optimizing calculations when all rects are collected and ancestor transforms are absent. ([302072@main](https://commits.webkit.org/302072@main))  (163285757)

### Web API

#### Resolved Issues

- Fixed Navigation API WPT tests failing due to a WebDriver error.  (161199777)
- Fixed `PerformanceEventTiming` so that `keydown` and `pointerdown` entries no longer wait for their corresponding `keyup` or `pointerup` events before assigning a duration, preventing durations from appearing too long. ([302107@main](https://commits.webkit.org/302107@main))  (161911473)
- Fixed `attachShadow()` to use the global custom element registry by default when `customElementRegistry` is `null`, aligning with the WHATWG DOM specification ([300996@main](https://commits.webkit.org/300996@main)).  (161949493)
- Fixed `navigate()` with `{ history: "replace" }` to correctly update the current `History` item instead of adding a new one during same-document navigations. ([302130@main](https://commits.webkit.org/302130@main))  (163323288)

### Web Inspector

#### Resolved Issues

- Fixed an issue where the Sources tab won’t show contents of a script that contains a `for` statement with optional chaining in the test condition. ([301197@main](https://commits.webkit.org/301197@main))  (160617913)

### WebDriver

#### Resolved Issues

- Fixed an issue where element references nested inside `Array` or `Object` arguments were not properly extracted when executing scripts. ([301445@main](https://commits.webkit.org/301445@main))  (162571946)

---

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)