Release Notes for Safari Technology Preview 39

Safari Technology Preview Release 39 is now available for download for macOS Sierra and betas of macOS High Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 220795-221334.

Beacon API

  • Added support for quota limitation (r220922)
  • Enabled content extensions to be able to intercept Beacon and Ping redirects (r220996)
  • Improved error reporting (r220946)
  • Prevented cross origin Beacon requests with an ArrayBuffer or ArrayBufferView payload from doing a CORS preflight (r220817)

Directory Upload

  • Added basic support for input.webkitdirectory behind an experimental feature flag (r221177)
  • Added stub File and Directory Entries API interfaces (r221209)

Fetch API

  • Added support for FetchRequest.body (r221329)
  • Added support for a callback-based fetch (r220927)

Input Events

  • Renamed inputType “formatForeColor” to “formatFontColor” (r220901)
  • Fixed an issue where picking an emoji via the emoji dialog using Control-Command-Space (⌃⌘Space) fires inconsistent beforeinput events. (r221234)
  • Fixed an issue where using align left or align justify on the Touchbar both send a beforeinput event with the “formatJustifyLeft” inputType. (r221199)

JavaScript

  • Implemented async generator runtime for async iteration (r221080)
  • Optimized map iteration for faster performance (r221110)
  • Added support for the “dotAll” flag for regular expressions (r221160)

WebAssembly

  • Fixed const in unreachable code getting decoded incorrectly, erroneously rejecting the binary as invalid (r220894)

WebRTC

  • Fixed a MediaStream created without tracks to correctly update the active state after tracks are added (r221277)

Web Inspector

  • Fixed copying text from the “View variable value” popover in the Styles sidebar (r220973)
  • Added async stack trace capture when workers or the main context posts a message (r220815)
  • Replaced “Enter Class Name” input label with “Add New Class” for clarity (r220875)

Media

  • Implemented HTMLMediaElement dispatch of the onencrypted event (r221131)
  • Fixed autoplay muted videos not playing when outside the viewport (r221016)
  • Fixed HTMLTrackElement behavior to match standards (r221155)