Apple on Wednesday released Safari Technology Preview 50, a new version of their experimental web browser, first released in March 2016. The browser allows developers and other interested parties to test features that may debut in future release versions of Safari.
Release 50 includes bug fixes and feature improvements for Service Workers, Web App Manifest, Payment Request, Web API, Rendering, Web Inspector, Web Driver, Accessibility, and Javascript.
Release 50
Service Workers
- Added support for cache storage of blob responses
- Changed to queue a microtask when a waitUntil() promise is settled\
- Delayed service worker process creation until actually needed
- Delayed saving service worker registrations to disk until after the activation succeeds
- Fixed issue with IndexedDB databases not persisting inside Service Workers
- Fixed issue where service workers jobs would sometimes not get processed anymore
- Fixed clearing a registration to properly null out its workers before setting their state to “redundant”
- Fixed clearing all service worker registrations to wait for importing the service worker registration to finish
- Started nulling out registration.installing before setting service worker state to “redundant” when install fails
Web App Manifest
- Changed to default Web App Manifest scope to the containing directory of the start URL when ‘scope’ is not specified
Payment Request
- Changed show() to take an optional PaymentDetailsUpdate promise
- Fixed payment sheet not dismissing when calling complete() with result “unknown”or “fail”
Web API
- Implemented createImageBitmap(HTMLVideoElement)
Rendering
- Corrected invaliding style for sibling combinators on class change
- Fixed rendering SVG images with same size as WebGL texture
- Fixed computing inline-block baseline for vertical-lr
Web Inspector
- Added listing of Canvases, Programs, and Recordings to the sidebar
- Fixed the Canvas tab tree selection abruptly changing when selecting a recording frame
- Fixed pasting multiple properties to create properties instead of causing a bad property in the Styles Sidebar
- Fixed the completion popover not hiding when switching panels in the Styles Sidebar
- Fixed typing a value and quickly moving focus away sometimes displaying an outdated value in the Styles Sidebar
- Updated the Elements tab to have “Jump to Layer” functionality
Web Driver
- Changed cookies returned by automation to have expiry time in seconds
- Changed to not return an error if resizing or moving a window has no effect
- Prepended a dot to the domain when missing in the addCookie command
Accessibility
- Fixed Accessibility getting notified when a web process cancels suspension
- Deferred attribute computation until needed
- Deferred focus notifications for UI elements
JavaScript
- Changed to throw an exception when using structured cloning on a Symbol
- Fixed an incorrect case of variable resolution to consult the global lexical environment first before the global object
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 Technology Preview website.