Release Notes for Safari Technology Preview 145

Safari Technology Preview Release 145 is now available for download for macOS Big Sur and 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 291957-293023. This release of Safari Technology Preview does not support versions of macOS Monterey prior to 12.3. Please update to macOS Monterey 12.3 or later to continue using Safari Technology Preview.

Note: Tab Groups do not sync in this release.

Web Inspector

  • Sources tab
    • Allowed Response Local Overrides to map to a file on disk (r292084, r292120)

:has() pseudo-class

  • Added invalidation support for the pseudo-classes :autofill (r292531); :placeholder-shown (r292523); :indeterminate, :read-only, :read-write, :required and :optional (r292466, r292582)

Container Queries and Containment

  • Added CSSOM support (r292045)
  • Added support for contain: inline-size (r292394, r292416, r292465)
  • Added support for containment to disable the special handling of the HTML body element for overflow viewport propagation (r292127, r292157)
  • Corrected container selection for pseudo-elements (r292819)
  • Corrected container selection for ::slotted and ::part rules (r292635)
  • Disallowed invalid query range syntax (r292816)
  • Updated container shorthand order (r292759)

CSS Grid

  • Added support for transitions and animations on grid-template-columns and grid-template-rows (r292432)
  • Fixed grid items that establish an independent formatting context to not be subgrids (r292524)
  • Implemented support for aligning baselines through subgrids (r292973)


  • calc() functions
    • Added NaN propagation for min, max, clamp, and hypot (r292732)
    • Serialized top level min, max, hypot as calc() (r292893)
  • resize property
    • Added support for block/inline CSS values (r292222)
    • Corrected minimum size computation to allow resizing below initial size (r292559)
  • Added support for rendering url(), CSS basic shapes other than path(), and coord-box for offset-path (r292382)
  • Fixed scrollIntoView with scroll-snap-type on root element (r292812)
  • Fixed drop-shadow filter to work correctly in tiled backing layer (r292059)
  • Fixed issue with position: sticky within contain: paint (r292155)
  • Implemented units for CSS Typed OM (r292150)

Dialog Element

  • Dialog element now adapts to dark mode by default (r292029)


  • Allowed Wasm import from a JS Worker module behind the feature flag (r292799)
  • Changed ShadowRealm global object to have a mutable prototype (r292895)


  • Fixed full screen video progress bar flickering after dragging it (r292572)
  • Fixed MSE video not drawing onto canvas (r292811)
  • Fixed muted video that sometimes becomes paused when entering fullscreen (r292049)


  • Added support for all CTAP transports and remove gesture requirement for virtual authenticators (r292593)
  • Implemented getTransports() and getAuthenticatorData() (r292913)


  • Removed the 1ms minimum for setTimeout (r291998)

Content Security Policy

  • Improved compatibility of source matching (r292266)
  • Fixed WASM failing to execute after (r292229)


  • Fixed incorrect CORP and COEP check in 304 responses (r292595)

Service Workers

  • Added support for ServiceWorkerClients.openWindow (r291979)
  • Implemented ServiceWorkerWindowClient.navigate (r292459)
  • Exposed workers as service worker clients and implemented registration matching for dedicated workers (r292861)
  • Fixed ensuring the document gets controlled by its matching service worker registration during a COOP-based process swap (r292468)
  • Fixed Service-Worker-Navigation-Preload header not being sent when Navigation Preload is enabled (r292296)
  • Fixed ServiceWorker.postMessage() not working from inside iframes (r292905)


  • Reduced perceived audio latency on streaming via WebRTC (r292563)