Release Notes for Safari Technology Preview 31

Safari Technology Preview Release 31 is now available for download for macOS 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 216643-217407.


  • Added media and type attribute support for <link rel="preload"> (r217247)
  • Added support for DOMMatrix and DOMMatrixReadOnly (r216959)
  • Fixed getElementById to return the correct element when a matching element is removed during beforeload event (r216978)
  • Fixed skipping <slot> children when collecting content for innerText (r216966)


  • Fixed a syntax error thrown when declaring a top level for-loop iteration variable the same as a function parameter (r217200)

Layout & Rendering

  • Added support for transform-box to switch sizing box in SVG (r217236)
  • Fixed clientX and clientY on mouse events to be relative to the layout viewport (r216824)
  • Fixed large animated images getting decoded as a large static image before receiving all of the data (r217262)
  • Fixed screen flickering caused by asynchronous image decoding for large images when interacting with the page (r216901)
  • Fixed element position when dragging jQuery Draggable elements with position:fixed after pinch zoom (r216803)
  • Fixed a timing issue causing a hardware-accelerated transform animation to misplace an element 50% of the time (r217075)


  • Implemented the place-self shorthand (r216829)
  • Fixed static position of positioned grid items (r216916)
  • Ignored collapsed tracks on content-distribution alignment (r217345)

Font Variations

  • Added support for calc() in font-variation-settings and font-feature-settings (r217267)
  • Enabled the woff2-variations format identifier for @font-face (r217241)
  • Updated the font-style implementation in the font selection algorithm (r217272)

Web Inspector

  • Added a new icon for Web Socket resources (r217067)
  • Changed adding new CSS rules so that the added rules go into a new Inspector Style Sheet resource that can be viewed, edited, and saved (r217258)
  • Fixed an issue where changes are not applied in Styles sidebar when switching tabs without blurring editor (r217266)
  • Fixed content views not getting restored on reload if its tree element is filtered out (r217317)
  • Fixed an error when trying to delete DOM breakpoints from the Debugger tab (r216681)
  • Fixed deleting a disabled XHR breakpoint (r217306)
  • Fixed miscellaneous RTL and localization issues (r216692, r217232, r217229)
  • Prevented loading the active recording until a Timeline view needs to be shown (r217379)


  • Added support for painting MSE video-element to canvas (r217185)
  • Fixed captions and subtitles not showing up in picture-in-picture for MSE content (r216951)
  • Fixed media element reporting hidden when in picture-in-picture mode and tab is backgrounded (r217223)

Web Driver

  • Fixed characters produced with the shift modifier on a QWERTY keyboard to be delivered as shift-down, char-down, char-up, and shift-up events (r217244)
  • Fixed navigator.webdriver to return false if the page is not controlled by automation (r217391)


  • Replaced CryptoOperationData with BufferSource (r216992)


  • Improved error message for Access-Control-Allow-Origin violations due to a misconfigured server (r217069)