Release Notes for Safari Technology Preview 137

Safari Technology Preview Release 137 is now available for download for macOS Big Sur and macOS Monterey. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.

This release covers WebKit revisions 285788-286534.

Note: Tab Groups do not sync in this release.

Web Inspector

  • Elements Tab
    • Enhanced autocomplete to support mid-line completions (r285851)
    • Styles
      • Added a inline swatch for CSS align-content (r285983)
  • Layers Tab
    • Fixed the position of composited layers with a box-shadow (r285839)
  • Console Prompt
    • Fixed console script evaluation not working or being performed in an unexpected execution context after refresh or navigation (r286412)
  • Web Inspector Interface
    • Enabled left docking when in left-to-right and right docking when in right-to-left mode (r285974)

CSS

  • Enabled support for :has() pseudo-class by default (r286495, r286135, r286302, r286180, r286226, r286494, r286433, r286188, r286169, r286365)
  • Added support for new srgb-linear, xyz-d50 and xyz-d65 colorspaces (r286168)
  • Added support for oklab() and oklch() colors (r286191)
  • Added support for replaced elements with intrinsic ratio and no intrinsic size (r286206)
  • Added support for *vi (inline) and *vb (block) viewport units (r286458)
  • Added helper to add CSS property with implicit default (r285837)
  • Changed to not shrink tables bellow their intrinsic sizes (r286207)
  • Changed SVG images used as grid items to use the overriding logical width and height when defined to compute the logical dimensions (r286100)
  • Changed dynamic dv* viewport units to ignore the page scale (r286350)
  • Fixed :hover with descendant selector invalidating correctly in shadow trees (r286063)
  • Fixed rem in media queries to be calculated using font-size: initial, not root element font-size (r286123)
  • Fixed sticky th or td in table to stop at the specified top (r286417)
  • Implemented parsing and animation support for ray() shape accepted by offset-path (r286086)
  • Transferred size for grid item with an aspect-ratio and stretch alignment against the definite row (r285987)
  • Updated color-mix() to the latest spec (r286196)

JavaScript

  • Added Intl.NumberFormat.formatRangeToParts for ICU 69~ platforms (r286255)
  • Implemented Date.prototype.toTemporalInstant() (r286149)
  • Revised JSON.parse atomize policy for performance and compatibility with the other engines (r285955)
  • Accelerated public class field initialization (r286251)

WebAssembly

  • Fixed WebAssembly memory.fill out of bounds error message (r286092)

Experimental Model Element

  • Added support for mouse-based manipulation of <model> on macOS (r285986)
  • Added audio support (r286065)
  • Added support for controlling looping animations (r286066)
  • Added support for getting and setting the camera (r286019)
  • Added support for pausing and resuming animations (r286048)
  • Added support for seeking animations (r286068)

Accessibility

  • Added accessibility attributes for <model> (r286406)

Web API

  • Added initial implementation for the Web Lock API (r286284)
  • Fixed Cross-Origin-Embedder-Policy: require-corp to not prevent loading of data-URL images (r285823)
  • Fixed empty <input type=file> controls not showing up in the urlencoded and text/plain enctypes (r285808)
  • Fixed empty <input type=file> represented incorrectly in FormData (r285861)
  • Fixed modal dialogs to make the root element unfocusable (r285791)
  • Fixed validity.valueMissing to not rely on the element’s disabled state for inputs of type radio, file, or checkbox (r286413)
  • Fixed file inputs in non-multipart form submissions showing up as string values in the formdata event (r286427)
  • Implemented FileSystemFileHandle.getFile() (r285912)

Content Security Policy

  • Fixed missing lineNumber and columnNumber in inline violation reports (r285800)
  • Implemented submitting samples in violation reports (r286150)
  • Fixed CSP DOM reporting which always used the document as the target (r286136)

Media

  • Added support for more requestVideoFrameCallback metadata (r285984)
  • Fixed audio rate issues in WebRTC audio rendering when switching audio output (r285985)
  • Fixed video encoding and decoding for h.264 (r285928)

Apple Pay

  • Changed PaymentRequest to validate payment method data on construction (r286452)
    • This can (and should) now be used instead of ApplePaySession.supportsVersion.

Web Extensions

  • Added support for special matching characters (*, |, ||, and ^) in urlFilter of declarativeNetRequest rules instead of treating them as regex patterns
  • Added permission prompting inside Web Inspector for devtools extension tabs
  • Added support for CSS injections and removals of more than one file with browser.scripting