A new update to the Safari Technology Preview, a version of the browser aimed squarely at developers, is now available to download. This marks the fifth release so far, and comes two weeks following the previous update.
If you're a developer who is interested in testing the preview out, here's a comprehensive list of what's new:
JavaScript
- Corrected the entropy of Math.random() for the first two invocations
- Corrected sticky RegExp handling when backtracking alternatives with dissimilar match lengths
- Fixed ES6 site compatibility when Function.name is inferred from property names
- Sped up ES6 Array iterators between 4x to 6x
- Made the Object constructor be aware of new.target by storing the target's prototype to the newly created object's prototype
- Fixed calls to getters and setters on super being called with wrong this object
- Improved error messages for accessing arguments.callee and similar getters in strict mode
- Made TypedArray.prototype.slice use the byteLength of passed array for memmove
CSS
- Fixed the cascading order for !important properties in ::slotted and ::host rules correctly
- Added color-gamut media query support for wide gamut displays
- Made Web Fonts only download when characters are used in its unicode-range
- Restored legacy parsing of color attributes with 4 and 8 digits
- Corrected how transitions behave when auto values are used
- Unprefixed -webkit-cross-fade()
- Corrected cross-fade() rendering to match expectations
- Corrected how prefixed and unprefixed variants in CSSStyleDeclaration are handled
- Stopped attempting to compute min/max width for replaced elements with no intrinsic size
- Unprefixed CSS Grid Layout properties
- Fixed static position for positioned CSS Grid items
- Corrected parsing when just using span as a grid-line value
- Implemented CSS Grid auto-repeat computation
Web APIs
- Started blocking Geolocation API calls on pages served over insecure connections
- Made NodeList iterable
- Added support for title attribute tooltips inside Shadow DOM content
- Stopped retargeting event.target when an event bubbles up from an assigned node to its assigned slot
- Enabled IndexedDB in Web Worker scripts
- Fixed IndexedDB transactions so they can't be committed or aborted twice
- Started propagating user gesture state across postMessage boundaries
- Aligned window.scroll(), scrollTo(), and scrollBy() with the CSSOM spec with support for the options argument
- Made all scrolling height and width values be integral rounded
- Added support for ArrayBufferView in the CSS Font Loading API
Web Inspector
- Hook up ShadowChicken in the Debugger tab to properly show tail call deleted frames
- Made let and const work as expected in Console evaluations
- Improved organization of the Debugger tab sidebar
- Added Object Graph view to heap snapshots and removed the Summary view
- Fixed sites that relied on putting custom properties on console.prototype
- Improved performance of filtering large timeline recordings
- Made Inspect Element and element selection work with Shadow DOM nodes
- Fixed the start times in the Frames timeline data grid
- Started persisting breakpoints in scripts named via //# sourceURL
- Fixed the scrollbar covering the last column in data grids when always showing scrollbars
- Fixed Computed Style so it no longer shows both prefixed and unprefixed variants of properties
- Made the Call Trees view in the Timelines tab filterable and hide it from views that are not filterable
- Started showing in-progress message in timeline views that do not show data until the recording finishes
- Improved performance of the Console when it tries to render thousands of messages at once
- Fixed filtering by duration in the Frames timeline view
- Fixed loading of //# sourceMappingURL with a relative URL
- Improved console.count() to better match other browsers
- Improved performance of the Timelines tab by profiling Web Inspector with Web Inspector
Media
- Made media elements not pause right away when removed from the document
- Started returning a Promise from HTMLMediaElement.prototype.play()
- Stopped updating media duration at playback end while seeking
Security
- Fixed case matching against the path portion of CSP source expression URLs that ends in a forward-slash
- Corrected a CORS check what was sometimes incorrectly failing for media loads
Networking
- Stopped restarting a resource preload if there is already one pending for the same URL
Accessibility
- Media controls are now keyboard accessible along with other Shadow DOM elements
Bug Fixes
- Fixed large animated GIFs not animating until the last frame on slow networks
- Fixed Zoom In and Zoom Out on PDF documents
Safari Technology Preview is a version of the browser meant to give developers a way to experiment with and test new technologies and tweaks before they land on Safari proper. If you'd like to try it out, you can download the latest release from Apple{.nofollow}. If you're using a previous version, you should be able to grab an update through the Mac App Store.
We may earn a commission for purchases using our links. Learn more.

Apple gives extra features to Shortcuts users — what about everyone else?
Apple's Shortcuts app extends the functionality of their operating systems far beyond what users could do otherwise. Does that leave out non-Shortcuts users, and if so, what can Apple do to fix it?

Here's more proof Apple is focusing on the iPhone 14 Pro this year
Analyst and insider Ming-Chi Kuo says that Apple's decision to only upgrade the 'Pro' iPhone processor this year will seriously boost how many it sells compared to previous years.

Betas never stop: The fifth developer beta for watchOS 8.7 is out now!
The fifth beta of watchOS 8.7 is now available to developers.

Capture cards to stream video and video games to your Mac
Streaming on a Mac is made easy with the right equipment. Get one of these capture cards and get to streaming quickly.