• Home
  • Apps
  • macOS
  • News
  • Apple Releases Safari Technology Preview 234 – Brings Bug Fixes and Performance Improvements

Apple Releases Safari Technology Preview 234 – Brings Bug Fixes and Performance Improvements

Apple Releases Safari Technology Preview 234 – Brings Bug Fixes and Performance Improvements

Apple has released Safari Technology Preview 234, the latest version of their developer preview web browser. The preview version of Apple’s popular browser offers developers and other interested users the ability to try out features that may or may not, debut in future public release versions of Safari.

‌Safari Technology Preview‌ 234 includes fixes and updates for Animations, CSS, HTML, JavaScript, MathML, Media, SVG, Web API, Web Authentication, Web Inspector, and WebRTC.

The current ‌Safari Technology Preview‌ release is compatible with machines running macOS Sequoia and macOS Tahoe, the newest version of macOS that launched earlier this year. The ‌update is available through the Software Update mechanism in System Preferences or System Settings to anyone who has downloaded the browser from Apple’s website.

Overview

Safari Technology Preview Release 234 is now available for download 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: 303092@main…304071@main.

Accessibility

Resolved Issues

  • Fixed missing aria-label on the button added by <img controls> to improve accessibility for screen readers. (304013@main) (164651880)

Animations

New Features

  • Added support for Threaded Scroll-driven Animations. With Threaded Scroll-driven Animations, eligible scroll-driven animations are updated as their associated timeline’s source element is scrolled instead of when the page rendering is updated, yielding smoother animations on devices with Pro Motion displays. Additionally, since scrolling is performed in a separate process, those animations update as scrolling occurs no matter the load on the main thread. Eligible animations are any scroll-driven animations animating the opacitytransformtranslatescalerotatefilterbackdrop-filter or any of the Motion Path properties. (303997@main) (165924545)

CSS

New Features

  • Added support for CSS display: grid-lanes. (303114@main) (164860495)
  • Added support for an automatic initial value for grid-auto-flow in CSS Grid Level 3 to switch flow orientation based on grid-template-rows and grid-template-columns for grid lane layouts. (303634@main) (164791817)
  • Added support for item-tolerance in CSS Masonry layouts to improve flexible grid item placement. (303096@main) (164043151)

Resolved Issues

  • Fixed an issue where max-width was not correctly applied to tables with fixed widths. (303644@main) (96554687)
  • Fixed incorrect sizing and fragment URL handling for SVG images used in -webkit-cross-fade(). (303593@main) (106633417)
  • Fixed table layout so that fixed horizontal margins on <caption> elements now contribute to the table’s minimum preferred logical width, preventing captions from causing narrower than expected tables. (303642@main) (120990942)
  • Fixed incorrect width calculation for positioned elements using box-sizing: border-box with an aspect-ratio, ensuring borders and padding are not double-counted. (303834@main) (121500004)
  • Fixed the UA style sheet to use :focus-visible instead of :focus for outline properties. (303643@main) (123155364)
  • Fixed HighlightRegistry to remove its non-standard constructor and updated tests to use CSS.highlights while ensuring Map.prototype is properly restored after tampering. (303858@main) (125529396)
  • Fixed handling of @property registration so that the initial-value descriptor can be optional. (303757@main) (131288198)
  • Fixed devicePixelRatio so that page zoom now affects the main frame consistently with iframes, keeping their values synchronized. (303397@main) (163857955)
  • Fixed line-height to correctly scale font-relative units when text zoom is applied. (304012@main) (165073337)
  • Fixed element.clientWidth and element.clientHeight to correctly include padding for content-box tables. (303641@main) (165515755)
  • Fixed: Refactored the handling of block-level boxes inside inline boxes. (303985@main) (165523565)
  • Fixed an issue where text-decoration: underline appeared higher than expected when text-box-trim was applied to the root inline box. (303710@main) (165614136)
  • Fixed auto-placement cursor handling for spanning items in grid-lanes layouts to correctly wrap within the valid range. (303815@main) (165701659)
  • Fixed an issue with grid lanes masonry layout where items with negative margins were incorrectly positioned too low by always taking the maximum running position. (303813@main) (165718130)

HTML

Resolved Issues

  • Fixed shadowrootcustomelementregistry attribute serialization to correctly compare ShadowRoot and document registries. (303841@main) (165476421)

JavaScript

Resolved Issues

  • Fixed Date constructor overflow handling so that invalid day values now return NaN. (303582@main) (155776209)
  • Fixed Intl.Locale.prototype.getWeekInfo() to remove the minimalDays property for compliance with the specification. (303287@main) (165083619)
  • Fixed Intl.NumberFormat to properly apply minimumFractionDigits and maximumFractionDigits to ensure currency and compact notations behave correctly. (303943@main) (165875014)

MathML

Resolved Issues

  • Fixed default MathML rule thickness to use the font’s underlineThickness metric with a zero fallback. (303108@main). (164693673)
  • Fixed painting empty <msqrt> radical operator in MathML by removing an incorrect check. (303134@main) (164776629)
  • Fixed MathML <mpadded><mfrac><munderover><mover> and <mspace> elements not updating layout when attributes like widthheightdepthlspace, and voffset etc. changed. (303508@main) (164797996)
  • Fixed MathML boolean attributes so they are now compared ASCII case-insensitively. (303107@main) (164819048)

Media

Resolved Issues

  • Fixed an issue where Video Viewer UI elements overlapped or exited unexpectedly. (303256@main) (164051864)
  • Fixed an issue where WebM with VP9/Vorbis fallback would not play. (303100@main) (164053503)
  • Fixed an issue where empty <track> elements prevented media from advancing its readyState and blocked play() calls. (303314@main) (164125914)
  • Fixed MediaStreamTrackProcessor to respect track.enabled = false. (303389@main) (165199900)
  • Fixed an issue where the ended event for Media Source Extensions might never fire by ensuring buffered ranges update correctly and playback gaps are observed even when the video does not start at time zero. (303596@main) (165430052)
  • Fixed an issue where caption previews were not shown in the default media controls. (304070@main) (165931046)

SVG

Resolved Issues

  • Fixed SVG intrinsic sizing and preferredAspectRatio() to correctly transpose dimensions for vertical writing modes. (303578@main) (103262534)
  • Fixed SVGLength parsing to correctly return the initial value when encountering parser errors or invalid values. (303577@main) (136102554)
  • Fixed an issue where SVGImage did not respect system dark mode changes. (303920@main) (140661763)
  • Fixed SVGLength.prototype.valueAsString to throw a SyntaxError when assigned an empty string. (303594@main) (165429393)
  • Fixed an issue where lengths with leading or trailing whitespace failed to be parsed. (303951@main) (165501190)

Web API

New Features

  • Added support for ReadableStream.getIterator() and the [@@asyncIterator] methods to enable iteration over streams. (303970@main). (96318671)
  • Added support for the Keyboard Lock API. (303093@main) (161422221)
  • Added support for using readable byte streams as fetch request and response bodies and enabling synchronous start behavior. (303115@main) (162107262)
  • Added support for ReadableByteStream. (303239@main) (164877711)
  • Added support for upgrading elements in CustomElementRegistry.prototype.initialize. (303250@main) (165045530)
  • Added support for the customelementregistry content attribute and handling of null customElementRegistry values in document.createElementdocument.createElementNS, and element.attachShadow. (303300@main) (165096267)
  • Expose MediaDeviceInfo interface in SecureContext only as per web specification. (303512@main) (165318702)

Resolved Issues

  • Fixed an issue where scroll-margin from IntersectionObserver incorrectly applied to scrollers inside cross-origin iframes. (303367@main) (164994009)
  • Fixed ReadableStream and WritableStream to correctly pass abort and cancel reasons and improving WebTransport stream handling. (303738@main) (165474756)

Web Authentication

New Features

  • Added support for the WebAuthn PRF extension that maps to the CTAP hmac-secret extension, enabling credential-bound cryptographic secrets for both credential creation and authentication flows. (303406@main) (113572812)

Resolved Issues

  • Fixed an issue where the excludeCredentials list was not sent to CTAP when its size was 1. (303120@main) (164546088)

Apple’s aim with ‌Safari Technology Preview‌ is to gather feedback from developers and users on its browser development process. ‌Safari Technology Preview‌ can run side-by-side with the existing Safari browser and while it is designed for developers, it does not require a developer account to download and use.