News

Safari Technology Preview 67 Brings The Usual Bug Fixes and Feature Improvements

Apple on Wednesday released Safari Technology Preview 67, the latest version of their developer preview web browser. The preview version of the popular browser allows developers and other interested users to try out features that may or may not, debut in future public release versions of Safari.

Release 67

Pointer Events

  • Added PointerEvent in the Experimental Features menu
  • Ensured PointerEvent is not visible when disabled

WebRTC

  • Added RTCCodecStats support
  • Changed to allow IP mismatch for local connections on localhost
  • Cleaned up change handling for RealtimeMediaSource settings
  • Fixed video track clone to preserve original property
  • Implemented sender and receiver getStats
  • Updated constraints supported by getDisplayMedia

Media

  • Enabled H.264 Simulcast
  • Enabled Modern Encrypted Media API by default in the Experimental Features menu
  • Added WebM sanitization in EME
  • Introduced the concept of CDMInstanceSession for EME
  • Changed to use some tolerance when deciding whether a frame should be appended to the decode queue in MSE
  • Fixed a comparison with an uninitialized greatestDecodeDuration in MSE
  • Fixed an unwanted erased sample from the decode queue in MSE
  • Fixed WebVTT cue alignment
  • Updated the WebVTT parser according to new region syntax

CSS

  • Fixed item alignment next to collapsed tracks with gutters in CSS Grid
  • Restricted the total combined size of backdrop filters
  • Fixed CSS reference filter with feDisplacementMap buffer corruption on Retina displays
  • Fixed updating feMorphology filter in CSS when the element moves
  • Fixed a garbled rendering of an image when feConvolveMatrix is applied to it on a Retina display
  • Started implementing CSS Custom Properties and Values
  • Implemented initialValue support for CSS Custom Properties and Values API
  • Made overflow:overlay a synonym for overflow:auto
  • Fixed <form> in quirks mode to have margin-block-end:1em

JavaScript

  • Implemented BigInt support for bitwise & operation
  • Optimized Array#indexOf in the C++ runtime
  • Optimized Array#lastIndexOf in the C++ runtime

Web Animations

  • Fixed accelerated animations to get suspended
  • Fixed endlessly calling DocumentTimeline::updateAnimations()
  • Ensured renderers with accelerated animations have layers

Shadow DOM

  • Added the support for users to select content across shadow boundaries
  • Added the support for copying content across shadow boundaries

Web API

  • Fixed custom elements in a reaction queue losing its JavaScript wrapper and becoming an HTMLUnknownElement
  • Fixed elements enqueued in mutation observers losing its JavaScript wrappers
  • Changed Image.proto to be a Function.prototype not an HTMLElement.prototype
  • Fixed radio inputs and checkbox inputs to fire “click”, “input”, and “change” events in order when clicked
  • Simplified authentication code
  • Changed document.open() to not propagate URLs to non-fully active documents
  • Changed document.open() to throw errors for cross-origin calls
  • Changed to strip the fragment from the document URL during document.open() URL propagation
  • Fixed no-op document.open() calls to ensure no side effects
  • Dropped support for the cross-origin-window-policy header

Apple Pay

  • Added support for granular errors in PaymentDetailsUpdate
  • Removed the “in-store” button type

Web Inspector

  • Fixed an issue that caused Web Inspector’s tabs to be hidden when docked to the side
  • Fixed an issue that caused dock buttons to disappear when Web Inspector goes fullscreen
  • The Debugger tab now has one unified section for all breakpoint types
  • Fixed the light background on new watch expression popover in Dark Mode
  • Fixed image resources without content getting shown when the Images folder is selected
  • Removed the Legacy Style Editor
  • Removed the Visual Style CSS details sidebar panel
  • Reworked the Computed panel in the Styles sidebar panel to match the styles of the Rules panel
  • Added an experimental setting for multi-property selection
  • Changed to start editing property names and values on mouseup instead of mousedown in the Styles sidebar

Web Driver

  • Fixed an issue wherein sending a Tab key press could sometimes shift focus out of web content and hang the WebDriver session
  • Fixed an issue that caused safaridriver to immediately abort on launch
  • Fixed an issue where the Perform Actions command failed if a keyboard input source specified a tick containing a “pause” value without a “key” value

Storage

  • Fixed an WebSQL issue preventing the user from granting a quota increase if the JavaScript provides an expected usage value that is too low

The update can be downloaded from the Safari Technology Preview website, or if the browser is already installed, it can be updated via the “Update” tab in the Mac App Store. Full release notes for the update are also available on the Safari Technology Preview 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.

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.