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

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

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

Apple has released Safari Technology Preview 249, the latest version of its 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‌ 249 includes fixes and updates for Accessibility, Animations, CSS, Editing, Forms, HTML, JavaScript, Media, Rendering, Spatial Web, Web API, Web Audio, Web Inspector, WebAssembly, WebDriver, and WebRTC.‌

The current ‌Safari Technology Preview‌ release is compatible with machines running macOS 26 Tahoe and macOS 27 Golden Gate, the newest version of macOS that will launch later this year.

Overview

Safari Technology Preview Release 249 is now available for download for macOS Golden Gate and macOS Tahoe. 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: 316531@main…317820@main.

Accessibility

Resolved Issues

  • Fixed an issue where an aria-labelledby relation was not built when its target element was inserted via innerHTML. (316913@main) (179677418)
  • Fixed an issue where VoiceOver was silent during character navigation inside a local iframe. (317264@main) (182229891)
  • Fixed an issue where web content somtimes appeared empty to assistive technology after navigation. (317449@main) (182544199)

Animations

Resolved Issues

  • Fixed an issue where calling play() on a finite scroll-driven animation timeline did not reset its start time to the current time. (316745@main) (181712713)
  • Fixed an issue where animation-timeline did not use the last matching timeline when it matched multiple timelines. (317330@main) (182405676)
  • Fixed an issue where animation-timeline could match a timeline outside the nearest timeline-scope element with that name. (317376@main) (182417407)

CSS

New Features

  • Added support for the attr() function. (316672@main) (173992627)
  • Added support for outline-offset: inset. (316677@main) (180547604)
  • Added support for the @function custom functions rule. (316671@main) (181625123)
  • Added preview support for the wrap-inside property. (317182@main) (181751564)
  • Added support for the if() function. (316813@main) (181806268)
  • Added support for calc-mix(). (316847@main) (181839626)
  • Added support for justify-self on block-level boxes. (317212@main) (181926245)
  • Added preview support for text-decoration-inset. (317230@main) (182019037)
  • Added preview support for the content property on the ::marker pseudo-element. (317211@main) (182066124)

Resolved Issues

  • Fixed an issue where setting view-transition-name dynamically did not create a stacking context. (317310@main) (178316558)
  • Fixed an issue where CSS Grid items with a computed preferred size that behaves as auto did not correctly compute their minimum content contribution. (316697@main) (181146154)
  • Fixed an issue where visually overflowing content in a CSS Grid item was not painted. (316668@main) (181277780)
  • Fixed anchor-center in vertical writing modes not being scroll-adjusted along the block axis. (316537@main) (181413103)
  • Fixed an issue where an empty editable flex container did not reserve a line’s worth of block size in vertical writing modes. (317467@main) (181485387)
  • Fixed an issue where CSS Grid did not correctly increase track sizes to accommodate items spanning flexible tracks. (317426@main) (181635324)
  • Fixed an issue where stretch alignment did not trigger stretch sizing for CSS Grid items. (316949@main) (181750071)
  • Fixed an issue where CSS Grid items could retain stale block sizes after a subsequent layout. (317166@main) (182144347)
  • Fixed an issue where clip-path shapes could render with incorrect arcs. (317397@main) (182443333)
  • Fixed an issue where ::highlight() and ::target-text ignored text-underline-offset. (317440@main) (182466757)
  • Fixed an issue where ::highlight() decoration replaced the originating element’s decoration instead of layering over it. (317439@main) (182523249)

Editing

Resolved Issues

  • Fixed an issue that disallowed font names that were not a valid CSS identifiers. (316948@main) (51409819)
  • Fixed the Edit menu’s Copy item being incorrectly enabled when there was no selection in the web page. (316571@main) (176061974)

Forms

Resolved Issues

  • Fixed an issue where the datalist popup menu was presented in the wrong place on a screen to the left of the main screen. (316965@main) (181967418)

HTML

New Features

  • Added support for popover=hint. (317402@main) (129495028)

JavaScript

New Features

  • Added support for the Temporal object. (316742@main) (181723535)

MathML

Resolved Issues

  • Fixed an issue where U+2016 (DOUBLE VERTICAL LINE) was missing the symmetric property in the MathML operator dictionary. (316867@main) (179558196)

Media

Resolved Issues

  • Fixed an issue where finding text starting from a selection could resolve to the wrong caption cue instead of the one nearest the video’s playhead. (317168@main) (182001231)

Rendering

New Features

  • Added support for dark mode in the XML document viewer. (316832@main) (122234600)

Resolved Issues

  • Fixed an issue where box-shadow rendering broke when the page was zoomed. (317080@main) (169167365)

Scrolling

Resolved Issues

  • Fixed an issue where re-snapping did not select the snap area aligned in both axes when multiple targets were aligned. (317294@main) (182285397)
  • Fixed an issue where scroll-snap-align was not respected when scrolling to an anchor or calling scrollIntoView(). (317495@main) (182544180)

Spatial Web

Resolved Issues

  • Fixed an issue where navigating back to a page with a previously active web environment left the UI stuck showing the environment as active. (316891@main) (180966321)
  • Fixed an issue where the background color of HTMLModelElement did not match spec for non-opaque colors. (316788@main) (181641249)

Web API

New Features

  • Added support for subgroups in WebGPU. (317145@main) (154874391)
  • Added support for close watchers, including the closedby attribute for dialog elements. (316680@main) (180105698)

Resolved Issues

  • Fixed an issue where a user gesture authorization token was not properly verified for Digital Credentials requests. (317228@main) (174908839)
  • Fixed DOMMatrix and IntersectionObserver correctly enforcing absolute-length unit requirements when parsing values. (316532@main) (181453666)
  • Fixed an issue where Scroll To Text Fragment directives could run outside text/html and text/plain documents. (316976@main) (181763736)
  • Fixed an issue where replaceChildren() could not replace a document’s children. (316909@main) (181921026)

Web Audio

Resolved Issues

  • Fixed Web Audio PannerNode orientation-only changes not updating the directional cone gain. (316541@main) (181413407)

Web Inspector

New Features

  • Added support for the range mappings proposal in source maps. (316748@main) (178564308)
  • Added per-element Layout Invalidated events in Web Inspector to reflect the number of elements affected by a layout invalidation. (317302@main) (181243589)

Resolved Issues

  • Fixed an issue where every <input> element showed a Scroll badge in the Elements tab. (316773@main) (101661656)
  • Fixed an issue where search results did not select the corresponding source code line for fetched JSON. (317499@main) (118115749)
  • Fixed an issue where search in Web Inspector did not find results inside the shadow DOM. (317500@main) (126458322)
  • Fixed an issue where Web Inspector could crash when selecting a popover matching a nested @scope with a bare declaration. (316987@main) (181745000)
  • Fixed an issue where Web Inspector mapped the crimson named color to the wrong RGB value. (317047@main) (182090064)
  • Fixed an issue where the gradient editor in Web Inspector dropped explicit 0% color stops and misparsed leading radial color stops. (317192@main) (182172439)
  • Fixed an issue where autocompleting a vendor-prefixed value in Styles could duplicate the prefix, for example producing -apple--apple-system. (317167@main) (182178871)

WebAssembly

Resolved Issues

  • Fixed an issue where Error stack traces did not include names for modules instantiated with WebAssembly.instantiateStreaming. (316642@main) (181523735)

WebDriver

New Features

  • Added WebDriver support for the Digital Credentials API, including commands to simulate wallet payloads, indefinite waits, and user rejection. (316435@main) (168941907)

WebRTC

Resolved Issues

  • Fixed OverconstrainedError to inherit from DOMException and expose a code attribute per the Media Capture spec. (316578@main) (180728516)

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.