<!--
{
  "documentType" : "article",
  "framework" : "Safari Technology Preview Release Notes",
  "identifier" : "/documentation/Safari-Technology-Preview-Release-Notes/stp-release-24",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Safari Technology Preview 24 Release Notes"
}
-->

# Safari Technology Preview 24 Release Notes

Preview the latest web technology updates including: User Timing, Link Preload, Web API, JavaScript, CSS, Web Inspector, Accessibility, Rendering, Performance, and Security.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 24 is now [available for download](https://webkit.org/downloads/) for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions [211256-212356](https://trac.webkit.org/log?stop_rev=%20212356&rev=%20211256&limit=1270).

### User Timing

- Added User Timing as an experimental feature ([r211332](https://trac.webkit.org/changeset/211332))
- Implemented `PerformanceObserver` for User Timing ([r211406](https://trac.webkit.org/changeset/211406))
- Added support for Performance API (`performance.now()`, `UserTiming`) in Workers ([r211594](https://trac.webkit.org/changeset/211594))

### Link Preload

- Added `<link preload>` as an experimental feature ([r211341](https://trac.webkit.org/changeset/211341))
- Added support for speculative resource loading ([r211480](https://trac.webkit.org/changeset/211480))
- Prevented preloaded resources from being cleared after parsing is done ([r211649](https://trac.webkit.org/changeset/211649))
- Addressed memory issues related to clearing preloaded resources ([r211673](https://trac.webkit.org/changeset/211673))

### Web API

- Changed Location object to throw a TypeError for `Object.preventExtensions()` ([r211778](https://trac.webkit.org/changeset/211778))
- Changed Pointer Lock to require keyboard focus ([r211652](https://trac.webkit.org/changeset/211652))
- Changed Pointer Lock events to be delivered directly to the target element ([r211650](https://trac.webkit.org/changeset/211650))
- Changed the HTML Form Validation popover to be dismissed when pressing the Escape key ([r211653](https://trac.webkit.org/changeset/211653))
- Changed the HTML Form Validation popover to respect the minimum font size setting ([r212325](https://trac.webkit.org/changeset/212325))
- Fixed an issue causing Fetch to fail when passing `undefined` as the headers ([r212162](https://trac.webkit.org/changeset/212162))
- Fixed the `<details>` element to work correctly when content is changed between closing and opening ([r212027](https://trac.webkit.org/changeset/212027))
- Implemented `toJSON()` for `URL` objects ([r212193](https://trac.webkit.org/changeset/212193))
- Improved URL specification compliance ([r211636](https://trac.webkit.org/changeset/211636), [r212279](https://trac.webkit.org/changeset/212279))
- Prevented a redundant scroll to top-left corner of the page when navigating back to a URL with no fragment ([r212197](https://trac.webkit.org/changeset/212197))
- Made Symbols configurable when exposed on cross-origin Window or Location objects ([r211772](https://trac.webkit.org/changeset/211772))

### JavaScript

- Implemented dynamic `import` operator ([r211280](https://trac.webkit.org/changeset/211280))
- Changed dynamic import through `setTimeout()` and `setInterval()` to correctly inherit SourceOrigin ([r211314](https://trac.webkit.org/changeset/211314))
- Changed scripts load priority to ‘high’ ([r211334](https://trac.webkit.org/changeset/211334))
- Fixed Apple Pay line validation to prevent validating line items that are “pending” ([r211446](https://trac.webkit.org/changeset/211446))
- Implemented `ArrayBuffer.prototype.byteLength` and `SharedArrayBuffer.prototype.byteLength` ([r212196](https://trac.webkit.org/changeset/212196))
- Implemented lifting template escape sequence restrictions in tagged templates ([r211319](https://trac.webkit.org/changeset/211319))

### CSS

- Fixed elements with a `backdrop-filter` and a mask to correctly mask the backdrop ([r211305](https://trac.webkit.org/changeset/211305))
- Updated `line-break:auto` to match the latest version of Unicode ([r212235](https://trac.webkit.org/changeset/212235))

### Web Inspector

- Enabled the console to evaluate dynamic module `import()` ([r211777](https://trac.webkit.org/changeset/211777))
- Added CSS color keyword entries for all “grey” and “gray” variations ([r211452](https://trac.webkit.org/changeset/211452))
- Added `stroke-linecap` property values to CSS autocompletion ([r211640](https://trac.webkit.org/changeset/211640))
- Added a horizontal slider for gradient editor angle value where applicable ([r211318](https://trac.webkit.org/changeset/211318))
- Added a limit on Async Call Stacks for asynchronous loops ([r211385](https://trac.webkit.org/changeset/211385))
- Added a setting to preserve network data on navigation for the Network tab ([r211451](https://trac.webkit.org/changeset/211451))
- Added the ability to show the current value of CSS variables in style rules ([r212273](https://trac.webkit.org/changeset/212273))
- Added a warning that webkitSubtle in WebCrypto is deprecated ([r212261](https://trac.webkit.org/changeset/212261))
- Changed docking Web Inspector to collapse the split console in the Timeline and Network tabs ([r211976](https://trac.webkit.org/changeset/211976))
- Fixed jumping from Search tab results to see the resource in other tabs (Resource, Debugger, Network) ([r211608](https://trac.webkit.org/changeset/211608))
- Fixed a Debugger sidebar panel issue that can cause it to have multiple tree selections ([r212171](https://trac.webkit.org/changeset/212171))
- Fixed DOM tree view collapsing when switching back to the Elements tab ([r211829](https://trac.webkit.org/changeset/211829))
- Removed Shift-Command-W (⇧⌘W) shortcut to a close tab ([r211485](https://trac.webkit.org/changeset/211485))

### Accessibility

- Fixed text string range from index and length in text controls when there are newlines ([r211491](https://trac.webkit.org/changeset/211491))

### Rendering

- Fixed column progression after enabling pagination on a right-to-left document ([r211564](https://trac.webkit.org/changeset/211564))

### Performance

- Suspended SVG animations on hidden pages ([r211612](https://trac.webkit.org/changeset/211612))
- Avoided initially creating a layer backing store for elements outside the visible area ([r211845](https://trac.webkit.org/changeset/211845))

### Security

- Changed CSS data URL resources to be treated as same origin loads when loaded through HTML `<link>` elements ([r211926](https://trac.webkit.org/changeset/211926))

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)