The release includes bug fixes and feature improvements with an experimental implementation of the Storage Access API, updates to Service Workers, and improvements to Media, Rendering, Web Inspector, and the Clipboard API. (Via MacRumors)
The update also includes mitigations for the recently announced Spectre hardware vulnerability that affects Macs. Spectre fixes were also added to the release version of Safari in the supplemental update macOS High Sierra 10.13.2 released earlier this week.
Safari Technology Preview Release Notes
Release 47
Storage Access API
- Enabled allowing requests from non-sandboxed <iframes>
- Implemented frame-specific access in the document.cookie layer
- Made document.hasStorageAccess() retrieve the current status from the network process
- Refactored XPC for access removal to go straight from the web process to the network process
Service Workers
- Added support for response blob given to fetch events
- Changed extracting a body of type Blob to set the Content-Type to null instead of an empty string
- Changed to use “error” redirect mode for fetching service worker scripts
- Changed the Service Worker script fetch request to set the Service-Worker header
- Changed Service Worker to not clean HTTP headers added by the application or by Fetch specification before Service Worker interception
- Fixed the default scope used when registering a service worker
- Fixed the Service Worker Registration promise sometimes not getting rejected when the script load fails
- Fixed Service Worker served response tainting to keep its tainting
- Fixed scopeURL to start with the provided scriptURL
- Fixed self.importScripts() to obey updateViaCache inside service workers
- Fixed Fetch handling to wait for the Service Worker’s state to become activated
- Fixed SameOrigin and CORS fetch to fail on opaque responses served from a Service Worker
- Fixed memory cache to not reuse resources with a different credential fetch option
- Prevented searching for service worker registration for non-HTTP navigation loads
- Supported Service Worker interception of a request with blob body
Media
- Enabled picture-in-picture from an inline element on suspend
- Fixed playing media elements which call “pause(); play()” getting the play promise rejected
- Implemented <iframe allow=”camera; microphone”>
Rendering
- Fixed elements animated on-screen that are sometimes missing
- Fixed setting the fePointLights color
- Fixed the color of the bottom right pixel of feDiffuseLighting
- Fixed SVG lighting colors to be converted into linearSRGB
- Updated the SVG use element’s shadow trees explicitly before the style recall
Web Inspector
- Enabled the Canvas Tab by default
- Improved open time performance when enumerating system fonts
- Fixed Command-Option-R in the docked inspector causing Web Inspector to reload instead of the inspected page
- Fixed the URL filter in the Network Tab to be case-insensitive like filter bars in other tabs
- Fixed mis-sized waterfall graphs in the Network Tab after closing the detail view
- Redesigned the waterfall popover showing timing data in the Network Tab table
- Updated the Time column in the Network Tab table to include the total duration not just the download duration
- Added an inline swatch for CSS variables in the Styles sidebar
- Added support for typing a semicolon at the end of a value to move to the next property in the Styles sidebar
- Enabled Command-S to save changes in the matching CSS resource in the Styles sidebar
- Fixed selecting text in the Styles sidebar to not add new properties
- Implemented clicking above the selector to prepend a new property in the Styles sidebar
Clipboard API
- Fixed isSafari runtime check to enable custom clipboard types and clipboard data sanitization in Safari Technology Preview
- Fixed not being able to paste images on Gmail
- Reverted blob URL conversions in pasted contents for LegacyWebKit clients
Bug Fix
- Avoided waking plugin process up unnecessarily
Users can either download the update from the Safari Technology Preview website, or if they already have the browser installed, they can download it via the Mac App Store. Full release notes for the update are available on the same website.
While the preview is intended for use by developers and advanced users, in order to provide Apple with feedback on the development of the Safari browser, it can be run side-by-side with the release version of Safari. The app doesn’t require a developer account to download and install. For more information, visit the Safari Tech Preview website.