Release Notes for Safari Technology Preview 73

Safari Technology Preview Release 73 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 239091-239566.

Web API

  • Fixed navigator.userAgent in service workers to correctly reflect the customUserAgent set by the client (r239534)
  • Fixed offsetLeft and offsetParent to adjust across shadow boundaries (r239313)
  • Fixed an incorrect value for key property in keydown and keyup events generated holding the Control (⌃) key (r239361)
  • Removed support for <meta http-equiv=set-cookie> (r239342)

JavaScript

  • Added support for globalThis (r239464)
  • Added support for BigInt in JSON.stringify (r239544)
  • Implemented support for BigInt ValueDiv into DFG (r239158)
  • Implemented DFG and FTL support for typeof in BigInt (r239141)
  • Implemented the “well-formed JSON.stringify” proposal (r239537)
  • Optimized Object.keys by caching key results (r239324)

CSS

  • Fixed percentages in relative offsets for CSS grid items (r239502)
  • Fixed thick overlines and line-throughs growing in the wrong direction (r239357)
  • Fixed CSS variables to work for colors in the border property (r239516)
  • Prevented attempting to animate invalid CSS properties (r239174)
  • Updated CSS Properties and Values API to use new cycle fallback behavior (r239365)
  • Updated repeated background images with zero size to display the background color (r239504)

Media

  • Changed EME MediaKeySystemConfiguration distinctiveIdentifier and persistentState to default to optional (r239373)
  • Changed inline WebVTT styles should override styles from Captions settings in System Preferences (r239181)
  • Updated PiP video to switch tabs before returning video to inline (r239447)
  • Changed playing a media element synchronously after setting srcObject to succeed without user gesture (r239189)
  • Fixed a flicker when exiting element-fullscreen (r239475)

WebRTC

  • Ensured the first video frame of a MediaStream is rendered (r239319)
  • Fixed the MediaStream calculation of width or height when constraints contain only one of them (r239163)
  • Ensured that an ended event fires on MediaStreamTrack when a USB camera is unplugged (r239531)
  • Made RTCRtpSender.setParameters activate specific encodings (r239252)
  • Made sure getSenders() and getReceivers() do not return closed transceiver senders or receivers (r239238)
  • Implemented non-timeslice mode encoding for MediaRecorder (r239145)
  • Made sure RTCRtpTransceiver.stopped is true when a remote description with the corresponding m section rejected is applied (r239192)

Web Animations

  • Changed Web Animations to ensure an animation’s finished state only occurs once when updating animations (r239269)

Web Authentication

  • Changed userPresence to always be true (r239523)

WebGPU

  • Implemented WebGPUBindGroupLayoutDescriptor and its supporting dictionaries (r239288)
  • Added basic implementation of vertex buffers with Metal Shading Language in WebGPU (r239139)

Web Inspector

  • Enabled the display of m3u8 content as text in the Network tab (r239343)
  • Ensured that localized strings in default audits respond to locale changes in the Audit tab (r239449)
  • Fixed clipping of “Clear Filters” button in short windows in the Audit tab (r239394)
  • Fixed descriptions of default tests in the Audit tab (r239433)
  • Provided localization support for the display of “percentage passed” results in the Audit tab (r239404)
  • Fixed autoformat for minified JavaScript (r239467)
  • Fixed alignment of path view in the Canvas tab (r239312)
  • Fixed initial focus state of the recording auto-capture input in the Canvas tab (r239420)
  • Fixed selected text color when Inspector window is inactive in dark mode (r239386)
  • Fixed colors of ThreadTreeElement status icon when hovered in dark mode (r239430)
  • Fixed background color of Type profiler popovers in dark mode (r239484)
  • Improved readability for tables containing object previews in dark mode (r239443)
  • Fixed which element gets selected after pressing an arrow key after undoing deletion of a DOM node in the Elements tab (r239405)
  • Fixed Charles Proxy errors when opening some HAR files exported from Safari (r239478)
  • Fixed disappearing reload button after changing more than one setting (r239179)
  • Fixed the spacing of “E” icon on the debugger dashboard (r239432)
  • Fixed the rendering of column sort controls for dark mode in the Layers tab (r239385)
  • Increased the default column width for some localizations in the Layers tab (r239345)
  • Fixed the alignment of experimental setting editors for some localizations in the Settings tab (r239521)
  • Fixed a problem in the Styles sidebar where focus was lost when the inspector is blurred (r239527)
  • Fixed shift-clicking a color-swatch to change formats in the Styles sidebar (r239413)
  • Fixed data corruption when toggling selected properties in the Styles sidebar (r239251)
  • Improved the usability of the Computed styles sidebar when the panel is narrow (r239399)
  • Made the “esc” key select the entire property when editing the name or value in the Styles sidebar (r239481)
  • Prevented table selection from becoming corrupted when deleting selected cookies (r239175)
  • Fixed labelling of Intersection Observer callbacks in the Timelines tab (r239397)