Release Notes for Safari Technology Preview 86

Safari Technology Preview Release 86 is now available for download for macOS Catalina betas 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 246093-246691.

Pointer Events

  • Added support for chorded button interactions (r246103, r246149)
  • Updated to fire pointerout and pointerleave events after firing pointercancel (r246122)

JavaScript

  • Added support for String.prototype.matchAll (r246567))
  • Changed to throw a TypeError exception if Proxy’s set trap returns falsy value (r246346)
  • Fixed JSON.parse to throw a syntax error when called without arguments (r246162)

Web Assembly

  • Added support for Anyref tables, Table.get and Table.set for Anyref only (r246139)
  • Added support for multiple tables (r246571)
  • Added support for Table.size, grow and fill instructions (r246577)
  • Fixed float64 “select” on ARM64 devices (r246134)

WebRTC

  • Updated mediaDevices.enumerateDevices() to list the system default audio devices with deviceId as “default” (r246215)

Web API

  • Fixed IntersectionObserver rootMargin detection failure when root is an element (r246432)
  • Updated to avoid generating a new XSLT-based document when already changing the document. (r246182)

CSS

  • Implemented tab-size with units (r246193)
  • Included touch-action in the computed styles list (r246314)

Security

  • Added wildcard to Access-Control-Allow-Methods and Access-Control-Allow-Headers (r246238)
  • Changed blob URLs to inherit CSP policy from their parent (r246277)
  • Changed data URLs to inherit their CSP policy from their parent (r246129)

Experimental Web Shading Language (WHLSL)

  • Enabled compute shaders (r246427)
  • Implemented array references (r246394)
  • Implemented loop expressions (r246121)
  • Implemented out-of-bounds and nullptr behavior (r246438)
  • Supported matrices (r246579)

WebGPU

  • Removed GPUBuffer.setSubData and implemented GPUDevice.createBufferMapped (r246217)

Web Inspector

  • Included JavaScript call trees when exporting or importing Timeline recordings (r246292)
  • Improved the performance of the CSS pretty printer by using a Worker (r246178)
  • Split the General panel in the Settings tab into sub panels (r246510)
  • Ensured that indent type and size settings are respected everywhere that there’s a CodeMirror editor (r246419)
  • Added support for respecting case sensitive or regex global settings when searching in a resource (r246502)
  • Changed to ensure that adding a DOM, Event, or URL breakpoint is enabled globally (r246523)
  • Added support for multiline keys when using “Copy Path to Property” (r246271)
  • Fixed an issue where longhand CSS properties that were overridden by shorthands didn’t have a strikethrough (r246223)
  • Fixed an issue where query parameters in the Network tab would truncate if the value contained a = (r246559)
  • Fixed an issue where the Inspector Style Sheet was missing when grouping resources by path (r246509)