Contents

Safari Technology Preview 5 Release Notes

Preview the latest web technology updates including: JavaScript, CSS, Web APIs, Web Inspector, Media, Security, Networking, Accessibility, and bug fixes.

Overview

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)

See Also

2016