Release Notes for Safari Technology Preview 42

Safari Technology Preview Release 42 is now available for download for macOS Sierra and 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 222556-223209.

If you recently updated from macOS Sierra to macOS High Sierra, you may need to install the High Sierra version of Safari Technology Preview manually.

File and Directory Entries API

  • Fixed a failure when calling fileSystemDirectoryEntry.getDirectory() with an empty path (r223118)
  • Fixed recognizing a path starting with 2 slashes as a valid absolute path (r223135)

Payment Request

  • Implemented PaymentRequest.canMakePayment() (r223160)
  • Implemented PaymentRequest.show() and PaymentRequest.hide() (r223076)

Clipboard API

  • Added the support for custom pasteboard MIME types and hid unsafe MIME types (r222595 and r222830)
  • Fixed copying and pasting of image files on TinyMCE and GitHub (r222656)
  • Fixed DataTransfer.items to expose custom pasteboard types (r223034)
  • Prevented revealing the file URL when pasting an image (r222688)
  • Prevented dragenter and dragleave from using the same data transfer object (r223031)
  • Removed “text/html” from DataTransfer.items when performing paste and match style (r222956)
  • Started pasting images in RTF and RTFD contents using blob URLs (r222839)
  • Sanitized the URL in the pasteboard for other applications and cross-origin content (r223195)

Fonts

  • Added “display” to the FontFace JavaScript object (r222949)
  • Implemented font-display loading behaviors (r222926)
  • Upgraded Brotli to version 1.0.1 and WOFF2 to the latest upstream (r222903)

CSS

  • Removed constant() in favor of env() (r222627)

Web API

  • Added support for DOM aborting (r222692)
  • Added support for <link rel=preconnect> (r222613)
  • Changed to use the blob URL when pasting RTFD (r222839)
  • Changed XMLHttpRequest.setRequestHeader() to allow Content-Transfer-Encoding header (r222807, r222817)
  • Prevented submitting a form that is disconnected (r223117)
  • Updated Document.createEvent for recent DOM specification changes (r223023)

WebDriver

  • Added support for selecting an <option> element by sending keys to its parent <select> element.
  • Fixed an issue that caused driver.sendKeys("") to unexpectedly fail and throw an exception.

JavaScript

  • Addressed an issue with if (!await get(something)) (r223043)
  • Dropped instantiate hook in ES6 module loader (r223173)
  • Fixed object properties that are undefined in super.call() but not in this.call() (r223175)
  • Implemented polymorphic prototypes (r222827)
  • Implemented RegExp Unicode property escapes (r223081)
  • Introduced import.meta (r222895)

Accessibility

  • Exposed ARIA drag-and-drop attribute values via AtkObject attributes (r222787)
  • Exposed ARIA menu items with ATK*ROLE*MENU_ITEM even when it’s the child of group role (r222822)
  • Fixed redundant layout on tables (r222790)
  • Fixed exposing aria-rowindex set on a row element (r222821)
  • Fixed exposing the value of aria-level on non-heading roles (r222765)

Media

  • Added basic support for getting an ImageBitmapRenderingContext (r222997)
  • Fixed slow WebGL compositing performance (r222961)
  • Fixed seek() command for encrypted content when the <video> element is not in the DOM at decode time (r222995)

Rendering

  • Fixed incorrect fullscreen animation when the element has a transform (r223051)
  • Fixed an issue where minimum font size may cause elements to have an infinite line-height (r222588)
  • Improved the progressive display of large images (r223091)

WebGL

  • Changed to allow async to be able to be used as an imported binding name (r223124)
  • Changed the way WebGL is composited into the page significantly, providing much better performance on lower-end hardware with high-resolution displays (r222961)
  • Reduced the maximum samples used in Multi-Sample Anti-Aliasing (MSAA) for improved performance (r222963)

Web Inspector

  • Added a Canvas tab (r223011)
  • Added auto-completion for min() and max() within a CSS calc() (r223038)
  • Added support for keyboard navigation with Tab, Shift-Tab, Enter, and ESC in the redesigned styles sidebar (r222959)
  • Added support for editing rule selectors in the redesigned styles sidebar (r222799)
  • Added support for undo and redo of manual edits in the redesigned styles sidebar (r222678)
  • Added detail views for resources in Network tab (r222868)
  • Added a headers detail view for resources in the Network tab (r223006)
  • Added remote address in the headers detail view of the Network tab (r223078)
  • Added a cookies detail view in the Network tab (r223058)
  • Added support to search in the headers detail view of the Network tab (r223057)
  • Changed Layers tab sidebar DOM highlight to be by row hover, not row selection (r222801)
  • Changed Network tab filter resources to be based on URL and text content (r223065)
  • Changed the Network tab to show initially loaded resources even if network info was not logged (r223170)
  • Fixed jitter in timeline ruler labels (r223171)
  • Fixed an issue where clicking in the Web Inspector web view clears the selection in the inspected page (r223007)
  • Fixed Beacon and Ping grouping issues (r222865)
  • Fixed Layers tab sidebar popover (r222566)
  • Fixed a row wrapping issue causing waterfall graphs to display behind the next row’s name (r223059)
  • Fixed blurry quick open resource dialog icons (r222662)
  • Fixed misaligned popover when selecting child layers using the keyboard (r222759)
  • Fixed the table in the Network tab from appearing blank when scrolling it reduces the number of rows (r222899)
  • Enabled 3D objects to be selectable in the Layers visualization (r223209)
  • Ensured popovers are not malformed on window resize. (r222742)
  • Escaped more characters in the command generated by “Copy as cURL” (r222762)
  • Improved Canvas recording events (r222888)
  • Improved setting the initial default sorting for tables (r222983)
  • Improved reliability of selection in a table in the Network tab (r222988)
  • Improved the quick open dialog to include source mapped files in the search results (r223164)
  • Included Beacon and Ping requests in Network tab (r222739)
  • Set initial column widths to allow the waterfall column to expand more by default in the Network tab (r223147)

Bug Fixes

  • Fixed an issue introduced in Safari Technology Preview 41 where the tab bar could get out of sync with which tab’s content is being displayed when opening links from another app