Thchere

Safari Technology Preview 238 Delivers Performance Boosts and Web Standard Compliance

Published: 2026-05-04 18:53:42 | Category: Technology

The latest iteration of Apple's developer-focused browser, Safari Technology Preview 238, is now available for macOS Tahoe and macOS Sequoia. Existing users can update via System Settings > General > Software Update. This release incorporates WebKit changes from revision 306596@main to 307618@main, bringing a host of new features, performance enhancements, and fixes that align Safari more closely with modern web standards.

Animations: Off-Main-Thread Acceleration

Threaded Time-Based Animation Resolution

A major highlight is the enabling of threaded time-based animation resolution. This allows accelerated time-based animations to run off the main thread, improving performance and synchronizing them with scroll-driven animations. Additionally, CSS Motion Path animations can now be accelerated, enabling smoother, more complex motion effects without burdening the main thread. (307252@main)

Safari Technology Preview 238 Delivers Performance Boosts and Web Standard Compliance
Source: webkit.org

CSS Enhancements and Bug Fixes

New :open Pseudo-Class

Web developers gain a new tool with support for the :open pseudo-class, which matches form elements and other elements currently in an open state. This simplifies styling of dropdowns, dialogs, and similar UI components. (307295@main)

Scrollable Overflow Computation Fix

An issue where scrollable overflow for block containers did not account for padding-inline-end has been resolved. This fix aligns Safari with the CSS Overflow specification, ensuring consistent behavior across browsers. (307212@main)

Linear Gradients with Uniform Color Stops

Rendering of linear gradients that have all color stops at the same position has been fixed. Previously, such gradients could render incorrectly; now they display as expected. (306823@main)

Editing: Chinese Character Conversion

The Transformations submenu now includes menu items to convert editable text between Simplified and Traditional Chinese characters. This is a welcome addition for users and developers working with multilingual content. (306761@main)

Forms: Customizable <select> Element

Safari now enables the customizable <select> element. By using appearance: base-select, developers can apply custom styling and content to dropdown options, offering more design flexibility while maintaining native behavior. (307548@main)

Networking Security and Encoding Fixes

IDN Homograph Attack Mitigation

A critical security fix addresses a phishing vulnerability: the address bar could display an internationalized domain name (IDN) homograph as a visually identical legitimate Latin domain. This issue has been resolved to prevent potential spoofing attacks. (307005@main)

URL Percent-Encoding for Non-UTF-8 Character Sets

An issue where URL query percent-encoding was incorrect when using non-UTF-8 character encodings (such as iso-8859-2, windows-1250, and gbk) has been fixed. This ensures proper handling of international URLs. (306768@main)

Rendering: Table Performance Improvement

A performance issue causing a hang when rendering tables with a large number of rowspan="0" cells has been resolved. This fix enhances responsiveness in complex data tables. (306891@main)

SVG Specification Alignment

RadialGradient Default Values

Default values for the fx and fy attributes on SVGRadialGradientElement have been updated to 50% to align with the SVG2 specification. (306811@main)

Invalid viewBox Values Ignored

SVGAnimatedRect.baseVal now ignores invalid values set on the viewBox attribute (e.g., negative width or height), matching behavior in Firefox and Chrome. (307463@main)

Length Attribute Reset on Removal

SVG length attributes now reset to their default values when removed, rather than retaining previously set values. This fixes inconsistencies in dynamic attribute handling. (307585@main)

Scrolling: Scroll Anchoring Enabled

Scroll anchoring has been enabled, preventing visible jumps in scroll position when content is inserted or removed above the viewport. This results in a smoother user experience, especially on content-heavy pages. (307475@main)

Web API Additions

ReadableStream.from()

Support for ReadableStream.from() has been added, allowing creation of a ReadableStream from an async iterable or iterable. This streamlines working with streaming data in JavaScript. (306786@main)

ReadableStream Transfer via postMessage()

Developers can now transfer ReadableStream objects using postMessage(), enabling efficient sharing of stream data between windows or workers. (307068@main)

For the complete list of changes, refer to the official WebKit Blog or the Safari Technology Preview page.