Release Notes for Safari Technology Preview 116

Safari Technology Preview Release 116 is now available for download 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.

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)
    • Added a + to the Local Overrides section in the navigation sidebar to streamline creating custom local overrides (r267979)
    • Fixed issue where event breakpoints were not editable after being added (r267976)
    • Fixed issue where line-based JavaScript breakpoints were not added on reload (r268629)
    • Fixed issue where the Sources Tab had wrong icon when paused (r268427)

Web Audio API

  • Enabled AudioWorklet API by default (r268459)
  • Added implementation for AudioWorkletGlobalScope.registerProcessor() (r268103)
  • Added implementation for AudioWorkletGlobalScope‘s currentFrame, currentTime, and sampleRate attributes (r268076)
  • Changed to use AudioWorkletProcessor to process audio (r268365)
  • Changed calling AudioContext.resume() right after AudioContext.suspend() to be a no-op (r268368)
  • Changed AudioWorkletGlobalScope to perform a microtask checkpoint after each rendering quantum (r268369)
  • Fixed parameters argument for AudioWorkletProcessor.process() to be spec-compliant (r268414)


  • Enabled video capture by default on macOS (r268052)
  • Added support for MediaRecorder bitrate getters (r268363)
  • Added support for MediaRecorder pause and resume (r268130)
  • Added support for respecting enabled and muted tracks (r267987)
  • Added support for BlobEvent.timecode (r268136)
  • Fixed MediaRecorder .stop to not throw in Inactive state (r268477)
  • Made sure to fire the correct set of events in case MediaRecorder stream has track changes (r268119)


  • Added support for the individual transform properties translate, rotate, scale, including accelerated animation (r267985, r268627)
  • Fixed flex-grow property to be animatable (r268516)
  • Fixed CSS image-orientation: none to be ignored for cross-origin images (r268249)
  • CSS transform computed style should not reflect individual transform properties (r268263)
  • Added painting CSS highlights over images (r268487)
  • Fixed clip-path: path() ignoring page zooming (r268138)
  • Fixed background-clip: var(--a) invalidating -webkit-background-clip: text when --a: text (r268158)


  • Respect the font size when presenting the <select> dropdown when custom fonts are used (r268126)


  • Changed arguments.callee to become ThrowTypeError if the function has a complex-parameter-list (spec-term) (r268323)
  • Changed BigInt constructor to be constructible while it always throws an error (r268322)
  • 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)
  • Improved the essential internal methods for %TypedArray% to adhere to spec (r268640)


  • Removed the alg field from the attestation statement (r268602)


  • Fixed AirPlay menu not showing up when the AirPlay button is clicked (r268308)
  • Improved computation of default audio input and output devices (r268396)


  • Allowed passive mouse wheel event listeners to not force synchronous scrolling (r268476)
  • Implemented (r268228)
  • Updated FileReader.result to return null if it isn’t done yet (r268232)
  • Improved xhr.response conformance to the specification (r267959)

URL Parsing

  • Aligned URL setters to reasonable behaviors of other browsers (r268050)
  • Changed to parse “#” as a delimiter for fragment identifier in data URIs (r267995)
  • Changed to fail parsing URLs with hosts containing invalid punycode encodings (r267965)
  • Fixed UTF-8 encoding in URL parsing (r267963)

Storage Access API

  • Enabled per-page storage access scope (r267973)


  • Fixed accessibility on Presidential Executive Order pages (r268117, r268206)


  • Fixed WebDriver Input clear/value commands when the target is inside a Shadow DOM (r267978)