Release Notes for Safari Technology Preview 71

Safari Technology Preview Release 71 is now available for download for macOS Mojave and macOS High Sierra. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS Mojave and from the Mac App Store’s Updates tab on macOS High Sierra. After updating to macOS Mojave, you may have to reinstall Safari Technology Preview.

This release covers WebKit revisions 237919-238607.

Dark Mode

  • Enabled Dark Mode CSS Support by default in the Experimental Features menu (r238213)
  • Added experimental support for a supported-color-schemes CSS property (r238001)
  • Updated prefers-color-scheme media query matching to better match the draft spec (r238200)
  • Changed the default document background and text colors in dark mode and when dark is listed as a supported-color-schemes on the document or body element (r238212)
  • Added support for forcing color scheme (dark or light mode) in Web Inspector’s Elements tab (r238570)

Web Animations

  • Enabled Web Animations by default in the Experimental Features menu (r238095)

Intersection Observer

  • Enabled Intersection Observer by default in the Experimental Features menu (r238129)

Web Authentication

  • Added Web Authentication as an experimental feature with support for USB-based CTAP2 devices (r238466)

Web API

  • Fixed click event and touch event listeners on the body element (r237978)
  • Fixed input element gaining focus when a selectstart event listener on the document prevents the default action (r238409)
  • Fixed phantom focus events and blur events firing when clicking between text input fields with addEventListener (r238440)
  • Fixed Content-Type parameter values to allow empty quoted strings (r238124)
  • Changed CSS Painting API to pass size, arguments, and input properties to the paint callback (r237981)

SVG

  • Fixed incorrectly sized monospace text when an SVG is included as an <img> (r238447)
  • Fixed SVG <use> element inside a shadow tree to be able to reference an element in the same tree (r238524)
  • Fixed updating href on textPath to properly update its rendering (r238464)

CSS

  • Unprefixed text-decoration CSS3 properties (r238002)
  • Fixed normal-flow-only flex items to correctly respect z-index (r238058)
  • Fixed overlays with -webkit-overflow-scrolling:touch to become scrollable after added text makes it taller (r238266)

Rendering

  • Made compositing updates incremental (r238090)
  • Changed to update the transform of a composited layer when the layer also needs repainted (r238170)
  • Fixed the caret disappearing at the end of a password field when the caps lock indicator is shown (r238522)
  • Fixed invisible dotted underlines that skip descenders (r237948)
  • Added support for dynamic pseudo-classes on elements with display: contents (r238097)
  • Fixed positioned text underlines that can look like a strike-through (r237955)

Intelligent Tracking Prevention

  • Enabled a cap on partitioned cache max age (r237949)

WebRTC

  • Required <iframe allow="display"> for an iframe to use getDisplayMedia (r238091)
  • Added support for RTCRtpCodecParameters.sdpFmtpLine (r238172)
  • Added support for transportStats and peerConnectionStats (r238171)
  • Enabled setting RTCRtpTransceiver.direction (r237974)
  • Fixed RTCPeerConnection.getTransceivers to always expose all transceivers (r238150)

Web Inspector

  • Added support for the tab bar to automatically add a new Audit tab for running page audits when enabled in Web Inspector Experimental settings (r238500)
  • Added default tests to the Audit tab (r238334)
  • Added support for drag-and-drop for importing Audits in the Audits tab and Recordings in the Canvas tab (r238198)
  • Changed to not start the Canvas tab with auto-capture enabled (r238169)
  • Added support for the copy keyboard shortcut and context menu to the Cookies table (r238569)
  • Fixed the Debugger Popover to work when paused in a Worker (r238003)
  • Fixed Elements tab to allow selecting and deleting multiple DOM nodes (r238602)
  • Fixed missing minimum sizes in Network graphs that could cause no graph to be shown (r238168)
  • Added secure certificate details per-request in the Network tab (r238122)
  • Added a button to show the system certificate dialog in the Network tab (r238350)
  • Fixed a potential issue for watch expressions that never show results (r238005)
  • Added support for ⌘A (Command-A) to select all properties in the Styles sidebar (r238135)
  • Added support for ⇧Click (Shift-click) on a property to extend the selection in the Styles sidebar (r238201)
  • Fixed inline swatches when multiple properties selection is enabled in the Styles sidebar (r238120)
  • Changed Pressing ⇥ (Tab) or Enter to start editing the focused property in the Styles sidebar (r238096)
  • Added support to allow expanding properties to show list of overridden values in the Computed sidebar (r238589)
  • Fixed the experimental Computed sidebar in Dark Mode (r238594)
  • Updated tables to recalculate scrollable height when resized (r238203)
  • Updated tables to support Select All ⌘A (Command-A) (r238140)
  • Updated tables to support extending the row selection with the ⇧ (Shift) key (r238121)
  • Updated tables with no selection to select the first or last row when pressing the down or up arrow key (r238139)
  • Added a Media timeline in the Timelines tab (r238484)
  • Updated TreeOutline to re-use multiple-selection logic from Table (r238599)
  • Updated TreeOutline to prevent selecting the first child of an expanded element when pressing the right arrow key (r238305)
  • Added a button to clear filters with “No Filter Results” in the Navigation sidebar (r238502)
  • Made the “Reload Web Inspector” button more reliable when toggling experimental features (r238378)

CSS Grid

  • Fixed absolute positioned child getting incorrectly sized when using auto-fit, generating spurious collapsed tracks (r238491)
  • Fixed align-self:center and position:sticky to work together (r238551)
  • Fixed grid container sizing under min-content height (r238488)
  • Implemented Baseline Alignment for grid items (r238457)

Media

  • Fixed frame re-ordering preventing iframes from getting enqueued (r238086)
  • Enabled external playback for video in element fullscreen (r238327)
  • Fixed SourceBuffer to prevent throwing an error when appending a second init segment after changeType() (r238054)

Payment Request

  • Fixed canMakePayment() to not consider serialized payment method data (r238042)

JavaScript

  • Added BigInt support into ValueAdd (r237972)