Release Notes for Safari Technology Preview 173

Safari Technology Preview Release 173 is now available for download for macOS Sonoma beta and macOS Ventura. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update.

Many of the new Safari 17 features are now available in Safari Technology Preview 173:

Feature Flags is a new section of Safari Technology Preview Settings and replaces the Experimental Features section of the Develop menu. It allows you to search for specific features and to easily see features toggled from their default state in bold. Feature flags have a status such as Stable, Testable, Preview, or Developer, and are now organized by topic.

A redesigned Develop menu makes it easier to find the key tools available to help you create websites, web apps, web content inside other apps, web extensions, and more.

Responsive Design Mode has been refreshed to focus on the responsiveness of a page’s design at any width or height on your Mac. Specify viewport size at the top of Responsive Design Mode or drag the resize handles around the view, and easily jump into device simulators.

Profiles on macOS Sonoma help you keep your browsing data separated including History, favorites, Tab Groups and website data such as Notification subscriptions, cookies, caches, and service workers.

Web apps on macOS Sonoma allows you to add any website to your Dock with this release of Safari Technology Preview.

Improved Private Browsing on macOS Sonoma locks your Private Browsing windows when not in use and adds protection against many more of the advanced techniques used to track you.

Managed Media Source combines the best features of HTTP Live Streaming and Media Source Extensions into an easy to adopt power-efficient low-level toolkit for adaptive streaming.

JPEG XL support on macOS Sonoma adds a new image format with an improved compression algorithm for better image quality at smaller file sizes than JPEG, but with the same progressive loading capability.

HEIC adds support for the file format used on iPhone and iPad to store photos taken with the camera, allowing developers to support importing and editing photos right in the browser.

Live Text adds support for vertical text recognition in images and videos.

A redesigned text cursor on macOS Sonoma uses the system accent color and matches iOS behavior. You can still customize the color with the caret-color CSS property.

In addition to these new Safari 17 features, this release includes WebKit changes between: 264855@main…265377@main.

Web Inspector

  • Fixed color swatch to not show an incorrect tooltip when read-only (265039@main)
  • Fixed details sidebar in the Sources tab to maintain its width when changing between tabs (265152@main)

CSS

  • Added a CSS rule nesting level limit (265309@main)
  • Fixed cjk-earthly-branch and cjk-heavenly-stem counter styles to have fixed system (265235@main)
  • Fixed the computed display of a form inside table elements to be display: none (265283@main)
  • Made <ray-size> optional in ray() for CSS Motion Path (265200@main)

Media Queries

Rendering

  • Fixed inline-level elements with a self-painting layer rendering overlapping ellipsis (264973@main)

Editing

  • Fixed <textarea> with float: left disappearing when editing text (264943@main)

JavaScript

  • Added global String.replace(/regexp-global/g, func) result caching for large strings (264967@main)
  • Optimized op_to_this for global object case (265373@main)
  • Optimized parseFloat(number) (265189@main)
  • Optimized ProxyObject’s “ownKeys” trap (265218@main)

Popover

  • Made popover methods forbid only modal dialogs, not all open dialogs (264876@main)
  • Made element.togglePopover() return a boolean (265064@main)

Images

  • Fixed main-resource content loads with Content-Type: image/heif to show the image instead of downloading it (265091@main)

Media

  • Fixed animation when making a video full screen (265051@main)
  • Fixed non-MSE blob URLs for the <source> element and src attribute (265045@main)
  • Fixed WebM files support with no track ID (265425@main)
  • Fixed video going black with only audio playing when exiting picture-in-picture (264974@main)
  • Fixed Safari Tab showing a speaker icon indicating the tab is playing audio even though it is paused (265052@main)
  • Set a limit for the number of samples stored in SourceBuffer (265355@main)

Web API

  • Changing the dir attribute of documentElement doesn’t update a child element matching :dir pseudo-class (265332@main)
  • Fixed images with decoding="async" flickering while zooming in. (265328@main)
  • Fixed serialization of Selectors (264980@main)
  • Fixed ensuring all ServiceWorkerRegistration files and directories are removed when registrations are cleared (264998@main)
  • Fixed style invalidation of IDs within :nth-child and :nth-last-child (264986@main)
  • Fixed MediaStream from canvas (captureStream) to be able to render into a different canvas (265128@main)
  • Fixed readAsDataURL.readAsDataURL() for empty blobs (265153@main)
  • Fixed remaining page height to never be 0 (264857@main)
  • Fixed <select> with multiple enabled not consistently firing the onchange event (264873@main)
  • Fixed HTMLPreloadScanner to not ignore the referrerpolicy attribute for <img> elements (265223@main)
  • Fixed window named getter to behave correctly when there are duplicate frame names (265211@main)
  • Fixed XMLHttpRequest.responseXML.characterSet (265210@main)
  • Set canvas-based VideoFrame color space to RGB (264881@main)

SVG

  • Changed to stop propagating text decorations on the outermost SVG roots (264894@main)
  • Changed to use a placeholder SVG as a mask to respect semantic color changes (265037@main)
  • Fixed <feColorMatrix> filter when defined inside then set directly on the <svg> element (265135@main)
  • Fixed setting the vector-effect attribute in the SVG <text> tag to “non-scaling-stroke” has no effect (265204@main)
  • Fixed handling of a negative radius for feMorphology (265007@main)