Release Notes for Safari Technology Preview 59

Safari Technology Preview Release 59 is now available for download for macOS High Sierra and the beta of macOS Mojave. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab on macOS High Sierra and in the Software Update pane of System Preferences on macOS Mojave. This release covers WebKit revisions 232108-232790.

Known Issues

  • This release of Safari Technology Preview for macOS Mojave betas does not render text properly in the Smart Search Field when in Dark Mode
  • Users running this version of Safari Technology Preview on macOS Mojave Developer Beta 2 will need to login to websites when restarting the application, or may require logging in again on some websites when launching a new window

Intelligent Tracking Prevention 2.0

  • Enabled the latest version of Safari’s privacy protection “Intelligent Tracking Prevention.” For technical details, see the WebKit blog post.

Web Animations

  • Enabled Web Animations as an experimental feature by default (r232186)
  • Added support for handling relative length units such as em, vw, and vh (r232255)
  • Fixed a bug causing WebAnimation objects to never get destroyed (r232185)

Payment Request

  • Removed currencySystem member (r232155)

JavaScript

  • Added Symbol.prototype.description getter (r232404)
  • Implemented + and - unary operation for BigInt (r232232)
  • Implemented support for % operation for BigInt (r232295)
  • Implemented support for < and > relational operation for BigInt (r232273)
  • Implemented support for =< and >= relational operation for BigInt (r232386)
  • Implemented support for addition operations for BigInt (r232449)
  • Fixed the Array.prototype.concat fast case when a single argument is a Proxy object (r232261)
  • Fixed Date.parse() to properly handle input outside of ES spec limits (r232122)
  • Fixed Array.prototype.sort to reject null comparator (r232666)
  • Renamed Array#flatten to flat (r232226)

Editing

  • Fixed not displaying spelling errors in the middle of an inserted paragraph (r232530)

Storage Access API

  • Changed Storage Access API calls to handle the absence of an attached frame (r232584)

Security

  • Enabled Cross-Origin-Resource-Policy by default (r232311)
  • Changed the NetworkCORSPreflightChecker to set the preflight request User-Agent header (r232470)
  • Changed Accept request header values to be more tightly checked in the case of a CORS load (r232728)
  • Fixed the Referrer-Policy response header to not be ignored (r232310)
  • Renamed Cross-Origin-Options HTTP header to Cross-Origin-Window-Policy (r232499)
  • Renamed Cross-Origin-Resource-Policy:same to same-origin (r232309)
  • Migrated From-Origin to Cross-Origin-Resource-Policy (r232217)

Service Workers

  • Added Accept-Encoding:identity to Range requests (r232571)
  • Fixed ServiceWorker registration to store any script fetched through importScripts (r232516)
  • Fixed HTTP Header values validation to not be too strict (r232572)
  • Improved error messages when FetchEvent.respondWith has a rejected promise (r232739)
  • Prevented starting service worker fetch when there is substitute data (r232580)
  • Updated Fetch code to provide more useful exception messages (r232484)

Compatibility

  • Fixed page reloading when viewing photos in Google Drive due to exceeding canvas memory limits (r232113)
  • Fixed memory management when zooming and scrolling on some websites (r232356)
  • Link drag image is inconsistently unreadable in dark mode (r232731)

WebRTC

  • Added an option to restrict communication to localhost sockets (r232420)

Web API

  • Changed PopStateEvent to not be cancelable by default (r232610)

Media

  • Changed media elements outside of fullscreen to not be considered main content (r232300)
  • Changed to exit fullscreen when JavaScript alerts are presented (r232437)
  • Changed automatic picture-in-picture to use the main content heuristic (r232301)
  • Changed to stop playing in the background when automatic picture-in-picture is disabled (r232426)
  • Enabled subsampling for progressive JPEG images (r232177)
  • Fixed incorrectly sized captions in picture-in-picture mode (r232220)
  • Fixed regions outside of the fullscreen window becoming exposed during zoom operations (r232543)
  • Fixed fullscreen element clipping by an ancestor (r232208)

Web Inspector

  • Added Same-Site cookie annotations (r232318)
  • Fixed copying a link address in the Elements tab (r232481)
  • Fixed popovers getting dismissed while attempting to move the cursor inside (r232189)
  • Fixed the tab picker becoming briefly visible when the TabBar is initially shown (r232524)
  • Prevented text in “Add New Class” from being auto-capitalized (r232518)

Accessibility

  • Exposed the <link> rel attribute to voiceover (r232326)
  • Fixed VoiceOver to announce when a details element is expanded when using role group (r232285)
  • Fixed setValue on contenteditable to preserve whitespace (r232120, r232259)
  • Fixed VoiceOver to announce fieldset description from aria-describedby when focusing inputs (r232331)
  • Implemented support for new blockquote, caption, and paragraph ARIA roles (r232508)

iCloud Keychain Password Manager

  • Added support for loading https://example.com/.well-known/change-password when a user indicates they’d like to change a password that is reused in Safari’s Passwords preferences, falling back to loading example.com if that load fails