Release Notes for Safari Technology Preview 2

Safari Technology Preview Release 2 is now available for download. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. Release 2 of Safari Technology Preview covers WebKit revisions 198530–199085.

Browser Differences

  • Changed the CFBundleSignature to allow Apple Events, like those sent from AppleScript, to correctly distinguish between Safari and Safari Technology Preview

JavaScript

  • Added ES6 support for Symbol.isConcatSpreadable (r198808)
  • Disallowed var assignments in for-in loops according to ES6 specs (r198928)
  • Improved stability for ES6 classes when invoking a method of the parent class before calling super() in a constructor (r198714)
  • Allowed undefined or null for Symbol.search and Symbol.match (r198581)
  • Enabled Array.prototype native functions’ species constructors to work with proxies (r198589)
  • Implemented the proposal for String.prototype.padStart() and String.prototype.padEnd() (r198674)
  • Implemented ES6 spec for String.prototype.match and RegExp.prototype[@@match] (r198554)
  • Included a workaround for web compatibility on ES6 TypeErrors when accessing RegExp.prototype flag properties (r198698)
  • Corrected quantified unicode regular expressions (r198866)
  • Ensured greedy unicode regular expressions properly backtrack past non-BMP characters (r198624)

CSS

  • Implemented the allow-end value of the hanging-punctuation CSS property (r198683)
  • Improved web compatibility by resetting CSS spacing rules on <math> elements (r198952)
  • Added the new color-gamut CSS media query (r199024)
  • Updated screen queries to check the capabilities of the current screen instead of the deepest available screen (r198595)

Web APIs

  • Restricted WebSockets header parsing according to RFC6455 and RFC7230 (r198561)
  • Improved performance of certain draw calls in WebGL with a non-power-of-two texture optimization (r198588)
  • Disabled the Fetch API until the implementation is ready to be enabled by default (r199081)
  • Enhanced Shadow DOM support to compute styles for the style attribute of <slot> elements (r198990)
  • Softened pushState and replaceState frequency restrictions (r198687)

Web Inspector

  • Timelines tab performance and bug fixes (r198550, r198563, r198601, r198602, r198603, r198618, r198620, r198745, r199077, r199085)
  • Disabled debugger statements and breakpoints while profiling a page to ensure maximum performance accuracy (r198648)
  • Added the ability to configure timeline instruments to use for recordings (r198537)
  • Added a paint count indicator in the top left corner of non-opaque layers (r198599)
  • Added font-variant-numeric to CSS autocompletions (r198750)
  • Added the console.takeHeapSnapshot method for capturing heap snapshots (r198786)
  • Changed details sidebar shortcuts to Command-Option-0 and Command-Shift-0 (r199082)
  • Double-quotes and backslashes in strings are now displayed correctly in the console (r198585)
  • Improved the consistency of CSP directive violation messages reported in the console (r198591)

Accessibility

  • Corrected new lines in content editable elements to notify accessibility (r199030)
  • Updated the handling of SVG elements with a presentational role to be the same as other host language elements (r198870)
  • Limited the numbered list announcement for a list item number to the first line of text in the list item (r198806)
  • Changed the accessibility role descriptions for JavaScript alerts to “web dialog” and “web alert dialog” to make them more understandable to screen reader users (r198543)

Rendering

  • Updated backdrop filter to repaint when changed in JavaScript (r198963)
  • Corrected drawing SVG stroke patterns for objects with empty bounding box elements (r198574)

Media

  • Improved stability when an audio source is changed while being processed (r198654)
  • Fixed audio track listings (r198703)

Networking

  • Improved the reliability of speculative disk cache validation requests with the HTTP Referer header (r198741)

Bug Fixes

  • Fixed autoscrolling in a drag selection when a window is against the screen edge, including while in full screen mode (r198692)

Sharing Your Feedback

You can file bugs or feature requests at the WebKit bug tracker, or you can submit feedback or bugs to Apple on Apple’s bug reporting website. For other questions or feedback, feel free to reach us on Twitter at @webkit or Jonathan Davis at @jonathandavis.