Safari Technology Preview 238 Delivers Performance Boosts and Web Standard Compliance

By ● min read
<p>The latest iteration of Apple's developer-focused browser, <strong>Safari Technology Preview 238</strong>, is now available for macOS Tahoe and macOS Sequoia. Existing users can update via <em>System Settings > General > Software Update</em>. 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.</p> <h2 id="animations">Animations: Off-Main-Thread Acceleration</h2> <h3>Threaded Time-Based Animation Resolution</h3> <p>A major highlight is the enabling of threaded time-based animation resolution. This allows accelerated time-based animations to run off the main thread, <strong>improving performance</strong> 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)</p><figure style="margin:20px 0"><img src="https://webkit.org/wp-content/themes/webkit/images/preview-card.jpg" alt="Safari Technology Preview 238 Delivers Performance Boosts and Web Standard Compliance" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: webkit.org</figcaption></figure> <h2 id="css">CSS Enhancements and Bug Fixes</h2> <h3>New <code>:open</code> Pseudo-Class</h3> <p>Web developers gain a new tool with support for the <code>:open</code> 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)</p> <h3>Scrollable Overflow Computation Fix</h3> <p>An issue where scrollable overflow for block containers did not account for <code>padding-inline-end</code> has been resolved. This fix aligns Safari with the <strong>CSS Overflow specification</strong>, ensuring consistent behavior across browsers. (307212@main)</p> <h3>Linear Gradients with Uniform Color Stops</h3> <p>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)</p> <h2 id="editing">Editing: Chinese Character Conversion</h2> <p>The <em>Transformations</em> submenu now includes menu items to convert editable text between <strong>Simplified and Traditional Chinese</strong> characters. This is a welcome addition for users and developers working with multilingual content. (306761@main)</p> <h2 id="forms">Forms: Customizable <code>&lt;select&gt;</code> Element</h2> <p>Safari now enables the customizable <code>&lt;select&gt;</code> element. By using <code>appearance: base-select</code>, developers can apply <strong>custom styling and content</strong> to dropdown options, offering more design flexibility while maintaining native behavior. (307548@main)</p> <h2 id="networking">Networking Security and Encoding Fixes</h2> <h3>IDN Homograph Attack Mitigation</h3> <p>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 <strong>spoofing attacks</strong>. (307005@main)</p> <h3>URL Percent-Encoding for Non-UTF-8 Character Sets</h3> <p>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)</p> <h2 id="rendering">Rendering: Table Performance Improvement</h2> <p>A performance issue causing a hang when rendering tables with a large number of <code>rowspan="0"</code> cells has been resolved. This fix enhances responsiveness in complex data tables. (306891@main)</p> <h2 id="svg">SVG Specification Alignment</h2> <h3>RadialGradient Default Values</h3> <p>Default values for the <code>fx</code> and <code>fy</code> attributes on <code>SVGRadialGradientElement</code> have been updated to <strong>50%</strong> to align with the SVG2 specification. (306811@main)</p> <h3>Invalid viewBox Values Ignored</h3> <p><code>SVGAnimatedRect.baseVal</code> now ignores invalid values set on the <code>viewBox</code> attribute (e.g., negative width or height), matching behavior in Firefox and Chrome. (307463@main)</p> <h3>Length Attribute Reset on Removal</h3> <p>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)</p> <h2 id="scrolling">Scrolling: Scroll Anchoring Enabled</h2> <p>Scroll anchoring has been enabled, preventing <strong>visible jumps in scroll position</strong> when content is inserted or removed above the viewport. This results in a smoother user experience, especially on content-heavy pages. (307475@main)</p> <h2 id="web-api">Web API Additions</h2> <h3>ReadableStream.from()</h3> <p>Support for <code>ReadableStream.from()</code> has been added, allowing creation of a ReadableStream from an async iterable or iterable. This streamlines working with streaming data in JavaScript. (306786@main)</p> <h3>ReadableStream Transfer via postMessage()</h3> <p>Developers can now transfer <strong>ReadableStream objects</strong> using <code>postMessage()</code>, enabling efficient sharing of stream data between windows or workers. (307068@main)</p> <p>For the complete list of changes, refer to the official <a href="https://webkit.org/blog/">WebKit Blog</a> or the <a href="https://developer.apple.com/safari/technology-preview/">Safari Technology Preview page</a>.</p>
Tags: