Release Notes for Safari Technology Preview 129

Safari Technology Preview Release 129 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 279264-279831.

Note: On macOS Big Sur, this release requires enabling GPU Process: Media option from Experimental Features under the Develop menu to address issues with streaming services.

Web Inspector

  • Added contextual documentation for CSS properties (r279510)
  • Changed the sidebar panel and navigation bar to layout asynchronously during resize (r279790)
  • Elements Tab
    • Fixed Details sidebar navigation items wrapping to a second line (r279613)
    • Added support for function value completions in the Styles sidebar (r279422)
    • Autocomplete var() and attr() values in the Styles sidebar (r279502)
  • Sources Tab
    • Fixed the Scope Chain sidebar panel to not strip repeating whitespace from strings (r279294)


  • Changed to not clamp flex base size with min-height, max-height, min-width, and max-width (r279271)
  • Changed :link and :visited pseudo-class selectors to not match <link> elements (r279818)
  • Changed to match the CSS specification which prohibits numbers with a trailing decimal point (e.g. “1.px”) (r279429)
  • Fixed the CSS parser “consume declaration” algorithm to handle whitespace correctly (r279358)
  • Fixed CSS style sheets loaded by HTMLLinkElement to fall back correctly when the charset is an invalid encoding name (r279383)
  • Improved computation of intrinsic sizes of flex items with aspect ratio (r279286)
  • Included container’s writing mode to get grid item’s margin (r279278)
  • Unprefixed :autofill pseudo-class (r279457)


  • Changed scroll-snap-align to use the box’s writing-mode when the box is larger than the snap-port (r279714)
  • Fixed CSS scroll snap to allow scrolling to the middle of snap areas that overflow the snap-port (r279364)
  • Fixed layouts during scroll causing jittery scrolling when dragging the scrollbar (r279564)


  • Added support for rendering <model> resources (r279451)
  • Fixed the scrollbar being hidden when the scroller has a negative z-index child (r279748)


  • Added support for (ref null? $t) type constructor (r279265)


  • Fixed ReadableStream.getReader to throw a proper exception when the parameter is of the wrong type (r279472)
  • Fixed 'data:application/javascript' URLs for Worker (r279602)
  • Fixed WebGL toDataURL image being upside down if premultipliedAlpha=false (r279424)

Platform Features

  • Fixed extraneous spaces when copying or translating Chinese and Japanese in Live Text (r279609)
  • Fixed misaligned Live Text selection on some images (r279751)


  • Fixed transaction to be inactive during structured clone (r279686)
  • Fixed IDBIndex.keyPath to keep returning the same object (r279669, r279683)


  • Fixed WebM loads hanging if the server sends only small amount of data (r279375)
  • Fixed SourceBuffer.abort() to go back to state WAITING_FOR_SEGMENT properly (r279542)


  • Fixed WebGL content to be able to use the discrete GPU (r279303)


  • Added support for Elliptic Curve P-521 (r279688)
  • Fixed deriveBits() failing if the length is not a multiple of 8 for ECDH algorithm (r279723)
  • Fixed SubtleCrypto to only be exposed to secure contexts (r279642)