Release Notes for Safari Technology Preview 143

Safari Technology Preview Release 143 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 290223-291506. This is the last release of Safari Technology Preview that will 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

  • Elements Tab
    • Added option in the Layout panel of the Details Sidebar for Flexbox overlays to show each item’s CSS order and/or DOM index in the parent flex container (r290613)
  • Service workers are no longer terminated while they are being inspected. (r291467)

CSS Container Queries

  • Added support for nested container queries (r290257)
  • Added basic support for container units (r291474)
  • Changed to only apply inline-size containment when it is allowed (r291154)
  • Ensured container style changes are propagated to descendants (r291500)
  • Fixed getComputedStyle to update the style for invalid query containers (r290320)
  • Fixed offsetWidth, offsetHeight, and similar to update layout for container queries (r290380)
  • Implemented new container selection algorithm (r291098)

CSS Cascade Layers

  • Added support for revert in @keyframes (r290457)
  • Added support for revert-layer in @keyframes (r290729)
  • Fixed revert on low-priority properties (r291260)
  • Let revert-layer in the lowest layer roll back to user styles (r290864)


  • Fixed computing the correct containing block override size for items that are subgridded in one dimension only (r290577)
  • Converted grid direction to be relative to subgrid when accounting for extra margin (r290576)
  • Handled reverse flow direction when converting iterator coords for a subgrid (r290572)
  • Fixed subgrid items to always be stretched (r291464)
  • Fixed positioning of position: absolute items within nested grids (r290674)


  • Implemented text-decoration as a shorthand (r290756, r291244)
  • Implemented logical properties for CSS overscroll-behavior (r290422)
  • Fixed background-clip: text to work with display: flex (r291303)


  • Added CalendarDateTime parsing (r290248)
  • Fixed ShadowRealm unwinding (r290283)
  • Fixed Temporal.PlainDate to validate input range (r290282)


  • Fixed image alt text bi-directional reordering (r290734)
  • Fixed alt text position in right-to-left context (r290726)
  • Fixed table sizing when colgroup comes after tbody (r290512)
  • Fixed scrollbars disappearing when very long or wide (r290545)
  • Handled perpendicular containing blocks when computing available logical height (r290634)

Web Animations

  • Added support for passing an optional timeline to Element.animate() (r290655)
  • Changed setting the composite property on a keyframe effect to invalidate the target style (r290741)
  • Fixed inherit values should trigger keyframe recomputation if any previous effect has changed that property (r290831)
  • Fixed keyframe values set to inherit to recompute their values when the inherited value changes (r290823)
  • Fixed animating fill and stroke to or from currentColor (r290898)
  • Fixed ::placeholder to not be a valid pseudo-element for a keyframe effect target (r290662)
  • Fixed animations on modal <dialog> elements and ::backdrop to run more than once (r291282)
  • Fixed outline-width with transition to animate correctly (r290735)
  • Fixed text-emphasis shorthand to be animatable (r290895)
  • Fixed text-emphasis-color to support non-discrete animations (r290887)
  • Made changes to font-size recompute keyframes (r290730)
  • Added support for discrete animation to:


  • Fixed clamping animated values to the 0-1 range for:


  • Allowed history swipe in scroller with overscroll-behavior (r291497)
  • Fixed incorrect painting when scrolling a page with fixed backgrounds (r290785)
  • Fixed scroll animation when scroll snap scroller is navigated with the keyboard (r290548, r290625)
  • Fixed element with position: sticky after sticking, starting to move incorrectly when scrolling (r290812)


  • Added support for authenticatorSelection.residentKey (r291176)
  • Added fallback to attestation=none if requested but unavailable for platform authenticator (r290539)
  • Enabled using WebAuthn within cross-origin iframe elements (r291018)
  • Improved virtual authenticator support ( r291423 , r291321)


  • Fixed WebGL rendering incorrect results when using preserveDrawingBuffer (r291218)


  • Enabled the inert attribute by default (r290587)


  • Enabled the Permissions API by default (r291116, r290301)
  • Fixed mousemove events double-firing in Safari (r290743)
  • Fixed rendering when loading a USDZ as the main resource (r290562)
  • Fixed CORS preflight failing due to cache-control header (r290507)
  • Fixed PerformanceNavigationTiming Response Start being unavailable when using Service Worker Cache (r291441)
  • Fixed buffered flag not working in Paint Timing (r290247)
  • Fixed load event never firing after a form is submitted (r290841)
  • Fixed WebSocket.send() to synchronously update bufferedAmount (r290995)
  • Made input element UA shadow tree creation lazy (r290284)
  • Made pointer-events checks for SVG take in account inert subtrees (r290306)
  • Removed the 1ms minimum for setTimeout (r291476)


  • AudioContext will continue playing when minimizing or moving the macOS Safari window to the background (r291267)
  • Fixed scrambled output for some WebM videos with VP8 codec (r291216)
  • Implemented remote-inbound-rtp packetsLost (r290865)


  • Updated WebSpeech API support (r291124)

File System Access

  • Changed to throw an exception if a file or directory cannot be accessed in file system (r291014)
  • Disallowed empty name in FileSystemHandle (r290998)
  • Disallowed names that are not permitted by the underlying file system (r291057)
  • Fixed fetching website data that may get a wrong or missing record after migrating data to general storage directory (r290239, r290233)

Web Extensions

  • Fixed cookie expiration dates so they are not off by 30 years