Release Notes for Safari Technology Preview 134

Safari Technology Preview Release 134 is now available for download for macOS Big Sur and betas of 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 282317-284370.

Note: Tab Groups do not sync in this release.

Web Inspector

  • Graphics Tab
    • Added showing color space for canvases in the Graphics tab on the overview cards (r283572)
  • Styles Tab
    • Changed to format style declarations after editing (r283723)
  • Other
    • Added context menu support for the tab content view (r283859, r283921)

CSS

  • Unprefixed -webkit-appearance and added support for the auto value (r283858, r284098)
  • Added support for the x resolution unit outside of image-set (r282396)
  • Added support for text-decoration-skip-ink (r282397)
  • Changed to consider overflow-wrap: anywhere when calculating min-content intrinsic sizes (r283493)
  • Fixed computed style for transform-origin on SVG boxes (r282379)
  • Fixed overflow to be computed with the actual logical bottom in CSS Grid (r282463)
  • Fixed RTL for an out of flow child in CSS Grid (r282340)
  • Fixed SVG linear gradients getting drawn incorrectly sometimes (r282443)
  • Fixed radial-gradient to accept calc() values that combine length and percent (r283561)
  • Implemented exp, and log functions in calc functions (r282795)
  • Implemented allowing NaN, infinity, and -infinity in calc (r283434)
  • Implemented atan, acos, asin, atan2 in calc functions (r283013)
  • Updated CSS Cascade Layers with recent spec change: unlayered styles are highest priority (r284182)
  • Updated transform-origin to not accept four lengths (r282359)

Fonts

  • Enabled font palette support:
    • Added parsing support for font-palette-values (r282806)
    • Added parsing support for font-palette (r282851)
    • Added pushing font-palette-values data into CSSFontSelector (r282838)
    • Added support for CSSFontPaletteValuesRule.name (r283140)
    • Added Web Inspector support for font-palette (r282987)
    • Allowed base-palette can accept "light" or "dark" (r283398)
    • Changed CSSFontPaletteValuesRule to not be map-like (r283219)
    • Changed to align with CSS Fonts specification changes (r283130)
    • Fixed shadowing of @font-palette-values rules (r283756)
    • Handle CSSOM style mutation of font-palette and font-palette-values (r283032, r283031)
    • Made negative integers in @font-palette-values invalid (r283197, r283540)
    • Made sure empty font families do the right thing for font palettes (r283075)
    • Prevented parsing unimplemented font palette features (r283752)
    • Removed the "none" value from font-palette (r283536)
    • Renamed override-color to override-colors (r283159)
    • Required font-families inside @font-palette-values to be case insensitive (r283794)
    • Required font palette names to start with two hyphens (r283221)
    • Stopped parsing context-sensitive colors in override-color (r283537)
  • Updated the implementation of the CSS Font Loading API to be closer to the spec and other browsers:
  • Fixed CSSFontFaceSrcValue.cssText to be quoted consistently with other browsers (r282442)

Scrolling

  • Enabled support for ScrollOptions’ ScrollBehavior and CSS scroll-behavior properties (r284029)
  • Moved smooth scroll animations to run on the scrolling thread (r283871)
  • Fixed scrollIntoView to not take into account sticky positioning offsets (r283546)
  • Fixed properly redrawing a sticky element inside another sticky element on scroll (r284084)

Rendering

  • Enabled 2D canvas color space support on Apple platforms (r283541)
  • Updated converting an SVG image for canvas drawImage to choose an appropriate color space (r283531)

Dialog Element

  • The <dialog> element is now enabled by default (r284155), also including:
    • support for the CSS ::backdrop pseudo element
    • support for the top layer
    • <form method="dialog"> support
  • The inert attribute is available for testing behind an experimental flag with the same name

WebAssembly

  • Allowed WASM to use up to 4GB (r284330)
  • Implemented the WebAssembly exception handling proposal (r283852)

JavaScript

  • Enabled unlinked Baseline JIT for performance (r283139)
  • Fixed Intl.DateTimeFormat#resolvedOptions not to return detailed information of formatting if dateStyle or timeStyle is set (r283460)
  • Fixed Intl.supportedValuesOf to populate emoji and eor for collation (r282897)
  • Fixed syntactic production for #x in expr (r282968)
  • Optimized JSON.parse object creation (r282468)
  • Optimized put-by-val with for-in (r283098)
  • Optimized JSON.stringify property enumeration (r282707)
  • Refined RegExp#compile based on regexp-legacy-features proposal (r283874)

Web API

  • Enabled BroadcastChannel (r282426)
    • Implemented top-origin and frame-origin partitioning for BroadcastChannel (r282366)
  • Enabled Storage API by default (r284273)
  • Enabled FileSystemAccess and AccessHandle by default (r284131)
    • Implemented FileSystemSyncAccessHandle read() and write() (r284059)
  • Implemented the borderBoxSize and contentBoxSize parts of ResizeObserver (r282441)
  • Implemented CSP script-src-elem, style-src-elem, script-src-attr and style-src-attr directives (r284254)
  • Cached Web Audio PannerNode’s azimuth, elevation, and coneGain for performance (r283740)
  • Changed <model> to be draggable, similar to <img> (r283563)
  • Updated the autofocus attribute behavior to match the latest specification (r283935)
  • Updated to preserve color space when creating ImageBuffers for ImageBitmaps (r282696)

WebGL

  • Fixed image-rendering: crisp-edges for WebGL canvases (r282335)

Media

  • Fixed the progress bar moving when playback stops (r282374)
  • Fixed createImageBitmap using a HLS video as source always returning a black image (r283585)

WebRTC

  • Added support for WebRTC media capabilities (r284085, r284236)
  • Changed MediaCapabilities to enqueue a task to resolve promises (r284236)

Accessibility

  • Exposed the URL attribute of <video> elements (r283799)
  • Made PDFs loaded via <embed> accessible (r282358)
  • Updated role="math" elements to no longer be considered to have presentational children (r284246)

Private Click Measurement

  • Allowed measurement of links in nested, cross-site iframes (r283593)

Web Extensions

  • Allowed more directives to be included in the content_security_policy of an extension’s manifest, such as the sandbox directive