News

Safari Technology Preview 47 for Mac Release Brings Bug Fixes and Feature Improvements

Apple on Wednesday released Safari Technology Preview 48, 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.

Safari Technology Preview release 48 brings bug fixes and feature improvements for Storage Access API, SVG, Service Workers, CSS, Web API, Rendering, Web Inspector, Web Driver, WebRTC, JavaScript, and WebAssembly. The update also disables Automatic AutoFill of user names and passwords and page load to prevent sharing information without user consent. (Via MacRumors)

Release 48

Password AutoFill

  • Disabled Automatic AutoFill of user names and passwords at page load to prevent sharing information without user consent

Storage Access API

  • Enabled the Storage Access API by default
  • Changed to remove access for all frames under a page when the page is closed

SVG

  • Fixed SVG lighting filter lights to use the correct coordinate system
  • Fixed feLighting that has a filter primitiveUnits=”objectBoundingBox”

Service Workers

  • Added CSP support to Service Workers
  • Changed to use no-cache fetch mode when loading main documents with location.reload()
  • Changed WebProcess to pass the registration identifier and not the worker identifier for fetch events
  • Changed to use Service Workers for documents with data URLs or blob URLs
  • Changed behavior to cancel pending script loads when the Service Worker is being terminated
  • Cleared the Cache volatile storage as a memory optimization.
  • Exposed redirect mode as “manual” for navigation loads in Service Workers
  • Enabled User Timing and Resource Timing for Service Workers
  • Fixed fetch events getting sent to a Service Worker before its state is set to “activated”
  • Fixed navigator.onLine inside Service Workers
  • Implemented the “main fetch” default referrer policy setting
  • Made Service Workers behave correctly with regards to Page Cache
  • Stopped exposing fetch and extendable events to window

CSS

  • Fixed ::first-letter to select the correct grapheme pairs
  • Fixed a blank pages except for inner iframes when pending stylesheets cause style.isNotFinal() to be true
  • Fixed image-rendering to affect the scaling of border-image
  • Fixed the special list-item counter to start from the correct number for ::before and ::after
  • Improved text appearance on some CSS spec pages

Web API

  • Changed redirected iframes loading with request.redirect=follow to fail
  • Fixed setting window.opener to null to disown its opener
  • Implemented createImageBitmap(ImageBitmap)
  • Implemented Cache API partitioning based on ClientOrigin
  • Made elements with zero width or height focusable

Rendering

  • Fixed constant frame dropping during Flash video playback
  • Fixed clipping copyTexImage2D and copyTexSubImage2D
  • Fixed a visual flash caused by using font-display:fallback
  • Fixed data URL fonts that are split in the middle of an alphabet from causing random letters to disappear

Web Inspector

  • Added support for JSX (React) syntax highlighting
  • Added a content menu to the main Tab bar for showing and hiding tabs
  • Fixed the “Log Value” context menu sometimes being unavailable
  • Fixed typing a “space” in the quick console triggering a Canvas recording
  • Fixed fuzzy Capture Element screenshots
  • Fixed the Find banner sometimes not working when already populated and shown for first time on a resource
  • Fixed the “find next” and “find previous” within a resource content view does bouncing highlight when the editor scrolls
  • Fixed Layers sidebar to hide popovers when it is collapsed
  • Fixed the Export HAR context menu in the Network tab
  • Fixed DOM Tree Element selection in RTL mode
  • Fixed clicking on white space after a property sometimes placing a blank property at the wrong index in the Styles sidebar
  • Fixed long values causing bad wrapping in the Styles sidebar
  • Fixed pressing the down key to select the first item from completion list when focusing on an empty value
  • Fixed Command-G  and Shift-Command-G  text search after closing the find banner
  • Fixed the Debugger tab to restore the selected resource on reload
  • Improved performance when dragging the recording slider in the Canvas tab
  • Improved inspector launch time, especially for systems with many fonts
  • Made the Console’s Execution Context picker stand out when it is non-default
  • Prevented properties from being semitransparent or crossed out while editing in the Styles sidebar

Web Driver

  • Implemented the Get Timeouts command

Accessibility

  • Changed the style of video elements when invert colors is on to preserve normal video colors
  • Implemented the updated CSS3 Speech for the speak and speak-as properties

WebRTC

  • Changed RTCController to disable ICE candidate filtering in case of getUserMedia based on the RTCPeerConnection origin
  • Updated WebRTC to close sockets that are marked as defunct

JavaScript

  • Applied poisoning to pointers in JavaScriptCore
  • Fixed for-in caching when indexed properties are added to properties on the prototype chain
  • Fixed Array storage operations that sometimes do not update the indexing mask correctly
  • Removed the arguments and caller properties for bound functions in Object.getOwnPropertyNames

WebAssembly

  • Added poison to JavaScript object’s secrets

Bug Fixes

  • Changed the History state to be updated during client redirects with asynchronous policy decisions
  • Forbid “<” and “>” in the host name of a URL
  • Prevented recording dynamic spelling corrections while in an ephemeral browsing session
  • Reduced the precision of “high” resolution time to 1ms

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.

Chris Hauk

Chris is a Senior Editor at Mactrast. He lives somewhere in the deep Southern part of America, and yes, he has to pump in both sunshine and the Internet.