Release Notes for Safari Technology Preview 5

Safari Technology Preview Release 5 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 5 of Safari Technology Preview covers WebKit revisions 200418–201083.

JavaScript

  • Corrected the entropy of Math.random() for the first two invocations (r201053)
  • Corrected sticky RegExp handling when backtracking alternatives with dissimilar match lengths (r200946)
  • Fixed ES6 site compatibility when Function.name is inferred from property names (r200423)
  • Sped up ES6 Array iterators between 4x to 6x (r200422)
  • Made the Object constructor be aware of new.target by storing the target’s prototype to the newly created object’s prototype (r200421)
  • Fixed calls to getters and setters on super being called with wrong this object (r200586)
  • Improved error messages for accessing arguments.callee and similar getters in strict mode (r200694)
  • Made TypedArray.prototype.slice use the byteLength of passed array for memmove (r200667)

CSS

  • Fixed the cascading order for !important properties in ::slotted and ::host rules correctly (r201073)
  • Added color-gamut media query support for wide gamut displays (r201065)
  • Made Web Fonts only download when characters are used in its unicode-range (r200601)
  • Restored legacy parsing of color attributes with 4 and 8 digits (r200501)
  • Corrected how transitions behave when auto values are used (r200622)
  • Unprefixed -webkit-cross-fade() (r200888)
  • Corrected cross-fade() rendering to match expectations (r200889)
  • Corrected how prefixed and unprefixed variants in CSSStyleDeclaration are handled (r200769)
  • Stopped attempting to compute min/max width for replaced elements with no intrinsic size (r200486)
  • Unprefixed CSS Grid Layout properties (r200510)
  • Fixed static position for positioned CSS Grid items (r200572)
  • Corrected parsing when just using span as a grid-line value (r200755)
  • Implemented CSS Grid auto-repeat computation (r200618)

Web APIs

  • Started blocking Geolocation API calls on pages served over insecure connections (r200686)
  • Made NodeList iterable (r200619)
  • Added support for title attribute tooltips inside Shadow DOM content (r200923)
  • Stopped retargeting event.target when an event bubbles up from an assigned node to its assigned slot (r200464)
  • Enabled IndexedDB in Web Worker scripts (r200697)
  • Fixed IndexedDB transactions so they can’t be committed or aborted twice (r200598)
  • Started propagating user gesture state across postMessage boundaries (r200908)
  • Aligned window.scroll(), scrollTo(), and scrollBy() with the CSSOM spec with support for the options argument (r200907)
  • Made all scrolling height and width values be integral rounded (r200915)
  • Added support for ArrayBufferView in the CSS Font Loading API (r200921)

Web Inspector

  • Hook up ShadowChicken in the Debugger tab to properly show tail call deleted frames (r200981)
  • Made let and const work as expected in Console evaluations (r200533)
  • Improved organization of the Debugger tab sidebar (r200566, r200600)
  • Added Object Graph view to heap snapshots and removed the Summary view (r200474, r200517)
  • Fixed sites that relied on putting custom properties on console.prototype (r201022)
  • Improved performance of filtering large timeline recordings (r201047)
  • Made Inspect Element and element selection work with Shadow DOM nodes (r200539)
  • Fixed the start times in the Frames timeline data grid (r201082)
  • Started persisting breakpoints in scripts named via //# sourceURL (r201019)
  • Fixed the scrollbar covering the last column in data grids when always showing scrollbars (r200962)
  • Fixed Computed Style so it no longer shows both prefixed and unprefixed variants of properties (r200952)
  • Made the Call Trees view in the Timelines tab filterable and hide it from views that are not filterable (r200708, r200873)
  • Started showing in-progress message in timeline views that do not show data until the recording finishes (r200573, r200594)
  • Improved performance of the Console when it tries to render thousands of messages at once (r200471)
  • Fixed filtering by duration in the Frames timeline view (r200809)
  • Fixed loading of //# sourceMappingURL with a relative URL (r200806)
  • Improved console.count() to better match other browsers
  • Improved performance of the Timelines tab by profiling Web Inspector with Web Inspector (r200740, r200745, r200773, r200779, r200949)

Media

  • Made media elements not pause right away when removed from the document (r200431)
  • Started returning a Promise from HTMLMediaElement.prototype.play() (r200638)
  • Stopped updating media duration at playback end while seeking (r200675)

Security

  • Fixed case matching against the path portion of CSP source expression URLs that ends in a forward-slash (r200445)
  • Corrected a CORS check what was sometimes incorrectly failing for media loads (r200493)

Networking

  • Stopped restarting a resource preload if there is already one pending for the same URL (r200630)

Accessibility

  • Media controls are now keyboard accessible along with other Shadow DOM elements (r200520)

Bug Fixes

  • Fixed large animated GIFs not animating until the last frame on slow networks (r200939)
  • Fixed Zoom In and Zoom Out on PDF documents (r200611)