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

# Safari Technology Preview 116 Release Notes

Preview the latest web technology updates including: Web Extensions, Web Inspector, Web Audio API, MediaRecorder, CSS, Rendering, JavaScript, WebAuthn, Media, Web API, URL Parsing, Storage Access API, Accessibility, and WebDriver.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 116 is now [available for download](https://webkit.org/downloads/) for macOS Big Sur and macOS Catalina. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.

This release covers WebKit revisions [267959-268651](https://trac.webkit.org/log?stop_rev=267959&rev=268651&limit=999).

### Web Extensions

- Added support for non-persistent background pages
- Fixed `browser.tabs.update()` to accept calls without a `tabId` parameter
- Fixed `browser.tabs.update()` to allow navigations to a URL with a custom scheme

### Web Inspector

- Sources
  - Added support for creating a local override from resources that failed to load ([r267977](https://trac.webkit.org/changeset/267977/webkit/))
  - Added a `+` to the Local Overrides section in the navigation sidebar to streamline creating custom local overrides ([r267979](https://trac.webkit.org/changeset/267979/webkit/))
  - Fixed issue where event breakpoints were not editable after being added ([r267976](https://trac.webkit.org/changeset/267976/webkit/))
  - Fixed issue where line-based JavaScript breakpoints were not added on reload ([r268629](https://trac.webkit.org/changeset/268629/webkit/))
  - Fixed issue where the Sources Tab had wrong icon when paused ([r268427](https://trac.webkit.org/changeset/268427/webkit/))

### Web Audio API

- Enabled AudioWorklet API by default ([r268459](https://trac.webkit.org/changeset/268459/webkit/))
- Added implementation for `AudioWorkletGlobalScope.registerProcessor()` ([r268103](https://trac.webkit.org/changeset/268103/webkit/))
- Added implementation for `AudioWorkletGlobalScope`’s `currentFrame`, `currentTime`, and `sampleRate` attributes ([r268076](https://trac.webkit.org/changeset/268076/webkit/))
- Changed to use `AudioWorkletProcessor` to process audio ([r268365](https://trac.webkit.org/changeset/268365/webkit/))
- Changed calling `AudioContext.resume()` right after `AudioContext.suspend()` to be a no-op ([r268368](https://trac.webkit.org/changeset/268368/webkit/))
- Changed `AudioWorkletGlobalScope` to perform a microtask checkpoint after each rendering quantum ([r268369](https://trac.webkit.org/changeset/268369/webkit/))
- Fixed `parameters` argument for `AudioWorkletProcessor.process()` to be spec-compliant ([r268414](https://trac.webkit.org/changeset/268414/webkit/))

### MediaRecorder

- Enabled video capture by default on macOS ([r268052](https://trac.webkit.org/changeset/268052/webkit/))
- Added support for MediaRecorder bitrate getters ([r268363](https://trac.webkit.org/changeset/268363/webkit/))
- Added support for MediaRecorder pause and resume ([r268130](https://trac.webkit.org/changeset/268130/webkit/))
- Added support for respecting enabled and muted tracks ([r267987](https://trac.webkit.org/changeset/267987/webkit/))
- Added support for `BlobEvent.timecode` ([r268136](https://trac.webkit.org/changeset/268136/webkit/))
- Fixed MediaRecorder `.stop` to not throw in Inactive state ([r268477](https://trac.webkit.org/changeset/268477/webkit/))
- Made sure to fire the correct set of events in case MediaRecorder stream has track changes ([r268119](https://trac.webkit.org/changeset/268119/webkit/))

### CSS

- Added support for the individual transform properties `translate`, `rotate`, `scale`, including accelerated animation ([r267985](https://trac.webkit.org/changeset/267985/webkit/), [r268627](https://trac.webkit.org/changeset/268627/webkit/))
- Fixed `flex-grow` property to be animatable ([r268516](https://trac.webkit.org/changeset/268516/webkit/))
- Fixed CSS `image-orientation: none` to be ignored for cross-origin images ([r268249](https://trac.webkit.org/changeset/268249/webkit/))
- CSS transform computed style should not reflect individual transform properties ([r268263](https://trac.webkit.org/changeset/268263/webkit/))
- Added painting CSS highlights over images ([r268487](https://trac.webkit.org/changeset/268487/webkit/))
- Fixed `clip-path: path()` ignoring page zooming ([r268138](https://trac.webkit.org/changeset/268138/webkit/))
- Fixed `background-clip: var(--a)` invalidating `-webkit-background-clip: text` when `--a: text` ([r268158](https://trac.webkit.org/changeset/268158/webkit/))

### Rendering

- Respect the font size when presenting the `<select>` dropdown when custom fonts are used ([r268126](https://trac.webkit.org/changeset/268126/webkit/))

### JavaScript

- Changed `arguments.callee` to become ThrowTypeError if the function has a complex-parameter-list (spec-term) ([r268323](https://trac.webkit.org/changeset/268323/webkit/))
- Changed BigInt constructor to be constructible while it always throws an error ([r268322](https://trac.webkit.org/changeset/268322/webkit/))
- Fixed `Array.prototype.sort`’s `sortBucketSort` which accessed an array in an invalid way leading to incorrect results with indexed properties on the prototype chain ([r268375](https://trac.webkit.org/changeset/268375/webkit/))
- Improved the essential internal methods for `%TypedArray%` to adhere to spec ([r268640](https://trac.webkit.org/changeset/268640/webkit/))

### WebAuthn

- Removed the `alg` field from the attestation statement ([r268602](https://trac.webkit.org/changeset/268602/webkit/))

### Media

- Fixed AirPlay menu not showing up when the AirPlay button is clicked ([r268308](https://trac.webkit.org/changeset/268308/webkit/))
- Improved computation of default audio input and output devices ([r268396](https://trac.webkit.org/changeset/268396/webkit/))

### Web API

- Allowed passive mouse wheel event listeners to not force synchronous scrolling ([r268476](https://trac.webkit.org/changeset/268476/webkit/))
- Implemented `Blob.stream` ([r268228](https://trac.webkit.org/changeset/268228/webkit/))
- Updated `FileReader.result` to return null if it isn’t done yet ([r268232](https://trac.webkit.org/changeset/268232/webkit/))
- Improved `xhr.response` conformance to the specification ([r267959](https://trac.webkit.org/changeset/267959/webkit/))

### URL Parsing

- Aligned URL setters to reasonable behaviors of other browsers ([r268050](https://trac.webkit.org/changeset/268050/webkit/))
- Changed to parse “#” as a delimiter for fragment identifier in data URIs ([r267995](https://trac.webkit.org/changeset/267995/webkit/))
- Changed to fail parsing URLs with hosts containing invalid punycode encodings ([r267965](https://trac.webkit.org/changeset/267965/webkit/))
- Fixed UTF-8 encoding in URL parsing ([r267963](https://trac.webkit.org/changeset/267963/webkit/))

### Storage Access API

- Enabled per-page storage access scope ([r267973](https://trac.webkit.org/changeset/267973/webkit/))

### Accessibility

- Fixed accessibility on Presidential Executive Order pages ([r268117](https://trac.webkit.org/changeset/268117/webkit/), [r268206](https://trac.webkit.org/changeset/268206/webkit/))

### WebDriver

- Fixed WebDriver Input clear/value commands when the target is inside a Shadow DOM ([r267978](https://trac.webkit.org/changeset/267978/webkit/))

---

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)