Release Notes for Safari Technology Preview 104

Safari Technology Preview Release 104 is now available for download for macOS Catalina and macOS Mojave. 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 258409-259472.

Web Inspector

  • Elements
    • Created a visual editor for box-shadow (r259170)
  • Network
    • Changed “Preserve Log” to be the last navigation item to be hidden at small widths (r258622)
    • Ensured that the method is escaped when using “Copy as cURL” (r259141)
  • Sources
    • If the hovered object is a DOM node, highlight it when hovering the title in the object preview popup (r258621)
  • Storage
    • Added support for editing cookies (r259173)
  • Console
    • Added logs for Intelligent Tracking Prevention Debug Mode and Ad Click Attribution Debug Mode in the Console (r259236)
    • Added a console message when legacy TLS is used (r258890, r258957)
  • Miscellaneous
    • Added a new WebSocket icon (r259329)
    • Added the keyboard shortcut for showing the Search Tab and Settings Tab to the titles of their respective tab tab items (r259101)
    • Fixed a bug where the tab bar thought it was too wide causing a tab bar item to be hidden (r258623)
    • Fixed a bug where the currently focused node was changed when detaching into a separate window (r259277)
    • Prevented disabled buttons from being focusable (r258730)


  • Avoided querying pasteboard strings while dragging content over a potential drop target (r258980)
  • Added label text to suggested values for a <datalist> element (r259330)
  • Fixed <datalist> dropdown suggestions table able to be scrolled too far (r259198)
  • Fixed a change event getting dispatched when a <textarea> gets changed without focus (r258532)
  • Fixed event listeners registered with the once option that get garbage collected too soon (r259009)
  • Fixed the name of X-Content-Type HTTP header in console logging (r258789)
  • Fixed a bug that could cause elements to disappear with combinations of transforms and overflow (r259015)
  • Fixed function passed to addEventListener may get garbage collected before the event listener is even added (r258959)
  • Prevented Force Touch preview on file:/// URL works while clicking on the URL is blocked (r259056)
  • Removed synchronous termination of service workers (r259383)
  • Sanitized the suggested download filename (r258741)
  • Updated Intl.NumberFormat.prototype.format to preserve a sign of -0 (r259370)
  • Updated to make sure a preflight fails if response headers are invalid (r258631)
  • Updated to consider the referrer-policy in the append Origin header algorithm (r259036)


  • Added support for :is() (r259261)
  • Fixed changes in grid or elements inside the grid affecting margin on other elements in the grid (r258735)

Web Animations

  • Marked promises as handled when rejected (r258702)
  • Fixed onwebkit{animation, transition}XX handlers missing from Document (r258697)

Intersection Observer

  • Fixed Intersection Observer intersections when zoomed in (r258787, r258791)


  • Changed HTMLTrackElement to be pending while it is waiting for LoadableTextTrack request (r259138)
  • Fixed animated PNG issue where it would play the frames one time more than the image loopCount (r258817)


  • Added initial support for WebRTC HEVC (r259452)
  • Applied video rotation at the source level if WebRTC sink ask so (r258504)
  • Fixed RTCRtpSender of kind video to have a null dtmf attribute (r258502)
  • Fixed audio failing to capture stream if the AudioSession gets interrupted (r258977)
  • Replaced the host candidate IP address in SDP with the corresponding mDNS name (r258545)
  • Supported inserting text or dictation alternative by simulating keyboard input (r258873)
  • Supported resolution of IPv6 STUN/TURN addresses (r259338)


  • Improved title and text used in prompts (r258961)

Bug Fixes

  • Fixed getting stuck in a loading state when seeking on (r259404)

Safari extensions

  • Added support for restoring extension tabs across launches of Safari