<!--
{
  "documentType" : "article",
  "framework" : "Safari Technology Preview Release Notes",
  "identifier" : "/documentation/Safari-Technology-Preview-Release-Notes/stp-release-143",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Safari Technology Preview 143 Release Notes"
}
-->

# Safari Technology Preview 143 Release Notes

Preview the latest web technology updates including: Web Inspector, CSS Container Queries, CSS Cascade Layers, Subgrid, CSS, JavaScript, Rendering, Web Animations, SVG, Scrolling, WebAuthn, WebGL, HTML, Web API, Media, Accessibility, File System Access, and Web Extensions.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 143 is now [available for download](https://webkit.org/downloads/) 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](https://trac.webkit.org/log?stop_rev=290223&rev=291506&limit=1283). 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](https://trac.webkit.org/changeset/290613/webkit/))
- Service workers are no longer terminated while they are being inspected. ([r291467](https://trac.webkit.org/changeset/291467/webkit/))

### CSS Container Queries

- Added support for nested container queries ([r290257](https://trac.webkit.org/changeset/290257/webkit/))
- Added basic support for container units ([r291474](https://trac.webkit.org/changeset/291474/webkit/))
- Changed to only apply inline-size containment when it is allowed ([r291154](https://trac.webkit.org/changeset/291154/webkit/))
- Ensured container style changes are propagated to descendants ([r291500](https://trac.webkit.org/changeset/291500/webkit/))
- Fixed `getComputedStyle` to update the style for invalid query containers ([r290320](https://trac.webkit.org/changeset/290320/webkit/))
- Fixed `offsetWidth`, `offsetHeight`, and similar to update layout for container queries ([r290380](https://trac.webkit.org/changeset/290380/webkit/))
- Implemented new container selection algorithm ([r291098](https://trac.webkit.org/changeset/291098/webkit/))

### CSS Cascade Layers

- Added support for `revert` in `@keyframes` ([r290457](https://trac.webkit.org/changeset/290457/webkit/))
- Added support for `revert-layer` in `@keyframes` ([r290729](https://trac.webkit.org/changeset/290729/webkit/))
- Fixed `revert` on low-priority properties ([r291260](https://trac.webkit.org/changeset/291260/webkit/))
- Let `revert-layer` in the lowest layer roll back to user styles ([r290864](https://trac.webkit.org/changeset/290864/webkit/))

### Subgrid

- Fixed computing the correct containing block override size for items that are subgridded in one dimension only ([r290577](https://trac.webkit.org/changeset/290577/webkit/))
- Converted grid direction to be relative to subgrid when accounting for extra margin ([r290576](https://trac.webkit.org/changeset/290576/webkit/))
- Handled reverse flow direction when converting iterator coords for a subgrid ([r290572](https://trac.webkit.org/changeset/290572/webkit/))
- Fixed subgrid items to always be stretched ([r291464](https://trac.webkit.org/changeset/291464/webkit/))
- Fixed positioning of `position: absolute` items within nested grids ([r290674](https://trac.webkit.org/changeset/290674/webkit/))

### CSS

- Implemented `text-decoration` as a shorthand ([r290756](https://trac.webkit.org/changeset/290756/webkit/), [r291244](https://trac.webkit.org/changeset/291244/webkit/))
- Implemented logical properties for CSS `overscroll-behavior` ([r290422](https://trac.webkit.org/changeset/290422/webkit/))
- Fixed `background-clip: text` to work with `display: flex` ([r291303](https://trac.webkit.org/changeset/291303/webkit/))

### JavaScript

- Added CalendarDateTime parsing ([r290248](https://trac.webkit.org/changeset/290248/webkit/))
- Fixed ShadowRealm unwinding ([r290283](https://trac.webkit.org/changeset/290283/webkit/))
- Fixed `Temporal.PlainDate` to validate input range ([r290282](https://trac.webkit.org/changeset/290282/webkit/))

### Rendering

- Fixed image `alt` text bi-directional reordering ([r290734](https://trac.webkit.org/changeset/290734/webkit/))
- Fixed `alt` text position in right-to-left context ([r290726](https://trac.webkit.org/changeset/290726/webkit/))
- Fixed table sizing when `colgroup` comes after `tbody` ([r290512](https://trac.webkit.org/changeset/290512/webkit/))
- Fixed scrollbars disappearing when very long or wide ([r290545](https://trac.webkit.org/changeset/290545/webkit/))
- Handled perpendicular containing blocks when computing available logical height ([r290634](https://trac.webkit.org/changeset/290634/webkit/))

### Web Animations

- Added support for passing an optional timeline to `Element.animate()` ([r290655](https://trac.webkit.org/changeset/290655/webkit/))
- Changed setting the `composite` property on a keyframe effect to invalidate the target style ([r290741](https://trac.webkit.90741/webkit/))
- Fixed `inherit` values should trigger keyframe recomputation if any previous effect has changed that property ([r290831](https://trac.geset/290831/webkit/))
- Fixed keyframe values set to `inherit` to recompute their values when the inherited value changes ([r290823](https://trac.webkit.90823/webkit/))
- Fixed animating `fill` and `stroke` to or from `currentColor` ([r290898](https://trac.webkit.org/changeset/290898/webkit/))
- Fixed `::placeholder` to not be a valid pseudo-element for a keyframe effect target ([r290662](https://trac.webkit.90662/webkit/))
- Fixed animations on modal `<dialog>`  elements and `::backdrop` to run more than once ([r291282](https://trac.webkit.org/changeset/291282/webkit/))
- Fixed `outline-width` with transition to animate correctly ([r290735](https://trac.webkit.org/changeset/290735/webkit/))
- Fixed `text-emphasis` shorthand to be animatable ([r290895](https://trac.webkit.org/changeset/290895/webkit/))
- Fixed `text-emphasis-color` to support non-discrete animations ([r290887](https://trac.webkit.org/changeset/290887/webkit/))
- Made changes to `font-size` recompute keyframes ([r290730](https://trac.webkit.org/changeset/290730/webkit/))
- Added support for discrete animation to:
  - `background-blend-mode` ([r291041](https://trac.webkit.org/changeset/291041/webkit/))
  - `clip-rule` ([r291042](https://trac.webkit.org/changeset/291042/webkit/))
  - `color-interpolation` ([r291008](https://trac.webkit.org/changeset/291008/webkit/))
  - `color-interpolation-filters` ([r291043](https://trac.webkit.org/changeset/291043/webkit/))
  - `counter-increment` ([r291090](https://trac.webkit.org/changeset/291090/webkit/))
  - `counter-reset` ([r291099](https://trac.webkit.org/changeset/291099/webkit/))
  - `dominant-baseline` ([r291068](https://trac.webkit.org/changeset/291068/webkit/))
  - `fill-rule` ([r291100](https://trac.webkit.org/changeset/291100/webkit/))
  - `font-family` ([r291040](https://trac.webkit.org/changeset/291040/webkit/))
  - `font-feature-settings` ([r291039](https://trac.webkit.org/changeset/291039/webkit/))
  - `font-kerning` ([r291037](https://trac.webkit.org/changeset/291037/webkit/))
  - `font-synthesis` ([r291103](https://trac.webkit.org/changeset/291103/webkit/))
  - `font-variant-alternates` ([r291104](https://trac.webkit.org/changeset/291104/webkit/))
  - `font-variant-caps` ([r291119](https://trac.webkit.org/changeset/291119/webkit/))
  - `font-variant-east-asian` ([r291109](https://trac.webkit.org/changeset/291109/webkit/))
  - `font-variant-ligatures` ([r291114](https://trac.webkit.org/changeset/291114/webkit/))
  - `font-variant-numeric` ([r291147](https://trac.webkit.org/changeset/291147/webkit/))
  - `font-variant-position` ([r291115](https://trac.webkit.org/changeset/291115/webkit/))
  - `grid-template-areas` ([r291122](https://trac.webkit.org/changeset/291122/webkit/))
  - `line-break` ([r290885](https://trac.webkit.org/changeset/290885/webkit/))
  - `marker-end` ([r291226](https://trac.webkit.org/changeset/291226/webkit/))
  - `marker-mid` ([r291227](https://trac.webkit.org/changeset/291227/webkit/))
  - `marker-start` ([r291228](https://trac.webkit.org/changeset/291228/webkit/))
  - `mask-clip` ([r291130](https://trac.webkit.org/changeset/291130/webkit/))
  - `mask-composite` ([r291159](https://trac.webkit.org/changeset/291159/webkit/))
  - `mask-mode` ([r291160](https://trac.webkit.org/changeset/291160/webkit/))
  - `mask-origin` ([r291148](https://trac.webkit.org/changeset/291148/webkit/))
  - `mask-repeat` ([r291161](https://trac.webkit.org/changeset/291161/webkit/))
  - `mask-type` ([r291158](https://trac.webkit.org/changeset/291158/webkit/))
  - `quotes` ([r291128](https://trac.webkit.org/changeset/291128/webkit/))
  - `scroll-behavior` ([r291129](https://trac.webkit.org/changeset/291129/webkit/))
  - `shape-rendering` ([r291171](https://trac.webkit.org/changeset/291171/webkit/))
  - `stroke-linecap` ([r291163](https://trac.webkit.org/changeset/291163/webkit/))
  - `stroke-linejoin` ([r291164](https://trac.webkit.org/changeset/291164/webkit/))
  - `text-anchor` ([r291166](https://trac.webkit.org/changeset/291166/webkit/))
  - `text-decoration-skip-ink` ([r290886](https://trac.webkit.org/changeset/290886/webkit/))
  - `text-emphasis-style` ([r290888](https://trac.webkit.org/changeset/290888/webkit/))
  - `text-rendering` ([r291157](https://trac.webkit.org/changeset/291157/webkit/))
  - `vector-effect` ([r291170](https://trac.webkit.org/changeset/291170/webkit/))

### SVG

- Fixed clamping animated values to the 0-1 range for:
  - `fill-opacity` ([r290568](https://trac.webkit.org/changeset/290568/webkit/))
  - `flood-opacity` ([r290571](https://trac.webkit.org/changeset/290571/webkit/))
  - `stop-opacity` ([r290569](https://trac.webkit.org/changeset/290569/webkit/))
  - `stroke-opacity` ([r290570](https://trac.webkit.org/changeset/290570/webkit/))

### Scrolling

- Allowed history swipe in scroller with `overscroll-behavior` ([r291497](https://trac.webkit.org/changeset/291497/webkit/))
- Fixed incorrect painting when scrolling a page with fixed backgrounds ([r290785](https://trac.webkit.org/changeset/290785/webkit/))
- Fixed scroll animation when scroll snap scroller is navigated with the keyboard ([r290548](https://trac.webkit.org/changeset/290548/webkit/), [r290625](https://trac.webkit.org/changeset/290625/webkit/))
- Fixed element with `position: sticky` after sticking, starting to move incorrectly when scrolling ([r290812](https://trac.webkit.org/changeset/290812/webkit/))

### WebAuthn

- Added support for `authenticatorSelection.residentKey` ([r291176](https://trac.webkit.org/changeset/291176/webkit/))
- Added fallback to `attestation=none` if requested but unavailable for platform authenticator ([r290539](https://trac.webkit.org/changeset/290539/webkit/))
- Enabled using WebAuthn within cross-origin iframe elements ([r291018](https://trac.webkit.org/changeset/291018/webkit/))
- Improved virtual authenticator support ( [r291423](https://trac.webkit.org/changeset/291423/webkit/) , [r291321](https://trac.webkit.org/changeset/291321/webkit/))

### WebGL

- Fixed WebGL rendering incorrect results when using preserveDrawingBuffer ([r291218](https://trac.webkit.org/changeset/291218/webkit/))

### HTML

- Enabled the `inert` attribute by default ([r290587](https://trac.webkit.org/changeset/290587/webkit/))

### Web API

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

### Media

- AudioContext will continue playing when minimizing or moving the macOS Safari window to the background ([r291267](https://trac.webkit.org/changeset/291267/webkit/))
- Fixed scrambled output for some WebM videos with VP8 codec ([r291216](https://trac.webkit.org/changeset/291216/webkit/))
- Implemented `remote-inbound-rtp` packetsLost ([r290865](https://trac.webkit.org/changeset/290865/webkit/))

### Accessibility

- Updated WebSpeech API support ([r291124](https://trac.webkit.org/changeset/291124/webkit/))

### File System Access

- Changed to throw an exception if a file or directory cannot be accessed in file system ([r291014](https://trac.webkit.org/changeset/291014/webkit/))
- Disallowed empty name in FileSystemHandle ([r290998](https://trac.webkit.org/changeset/290998/webkit/))
- Disallowed names that are not permitted by the underlying file system ([r291057](https://trac.webkit.org/changeset/291057/webkit/))
- Fixed fetching website data that may get a wrong or missing record after migrating data to general storage directory ([r290239](https://trac.webkit.org/changeset/290239/webkit/), [r290233](https://trac.webkit.org/changeset/290233/webkit/))

### Web Extensions

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

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)