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

# Safari Technology Preview 122 Release Notes

Preview the latest web technology updates including: Web Inspector, Animations, CSS, CSS Color, CSS Aspect Ratio, JavaScript, WebAssembly, Web API, Media, WebRTC, Accessibility, and Scrolling.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 122 is now [available for download](https://webkit.org/downloads/) for macOS Big Sur and macOS Catalina. 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 [272845-273903](https://trac.webkit.org/log?stop_rev=272845&rev=273903&limit=999).

### Web Inspector

- Elements Tab
  - Added badges for CSS Grid container elements ([r273097](https://trac.webkit.org/changeset/273097/webkit/))
  - Layout details sidebar panel
    - Implemented grid overlay options ([r272918](https://trac.webkit.org/changeset/272918/webkit/), [r272948](https://trac.webkit.org/changeset/272948/webkit/), [r273098](https://trac.webkit.org/changeset/273098/webkit/), [r273155](https://trac.webkit.org/changeset/273155/webkit/), [r273164](https://trac.webkit.org/changeset/273164/webkit/), [r273185](https://trac.webkit.org/changeset/273185/webkit/), [r273847](https://trac.webkit.org/changeset/273847/webkit/))
    - Show a list of CSS Grid container elements in the Layout sidebar panel ([r272934](https://trac.webkit.org/changeset/272934/webkit/), [r272976](https://trac.webkit.org/changeset/272976/webkit/), [r273502](https://trac.webkit.org/changeset/273502/webkit/))
- Audits Tab
  - Fixed clicking the “Start” button in the content area placeholder text ([r273900](https://trac.webkit.org/changeset/273900/webkit/))

### Animations

- Changed CSS properties that disallow negative values to not animate to negative values ([r273001](https://trac.webkit.org/changeset/273001/webkit/))
- Changed blending of `border-image-width` to be discrete between `auto` values and other types ([r273635](https://trac.webkit.org/changeset/273635/webkit/))
- Fixed `border-image-outset` to handle float values ([r273478](https://trac.webkit.org/changeset/273478/webkit/))
- Fixed `border-image-slice` blending to account for the `fill` keyword ([r273625](https://trac.webkit.org/changeset/273625/webkit/))

### CSS

- Changed `min-content` and `max-content` keywords to behave as an initial value in block axis ([r273206](https://trac.webkit.org/changeset/273206/webkit/))
- Changed CSS grid to not allow negative heights ([r273470](https://trac.webkit.org/changeset/273470/webkit/))
- Fixed min- and max- widths of grid affected by ancestor ([r273435](https://trac.webkit.org/changeset/273435/webkit/))
- Changed the initial value for `border-image-outset` to 0 ([r273882](https://trac.webkit.org/changeset/273882/webkit/))
- Implemented `:focus-visible` ([r273812](https://trac.webkit.org/changeset/273812/webkit/), [r272983](https://trac.webkit.org/changeset/272983/webkit/))
- Implemented the first case in Definite and Indefinite Sizes specifications in section 9.8 for flexbox ([r273072](https://trac.webkit.org/changeset/273072/webkit/))
- Fixed runtime-disabled CSS features still appearing enabled via `CSS.supports()` ([r273385](https://trac.webkit.org/changeset/273385/webkit/))
- Removed support in the CSS parser for `-khtml-` prefixed CSS values ([r273637](https://trac.webkit.org/changeset/273637/webkit))
- Removed support for `pos` and `pixel` prefixed CSS values ([r273627](https://trac.webkit.org/changeset/273627/webkit))

### CSS Color

- Added experimental support for CSS Color 5 `color-contrast()` ([r273683](https://trac.webkit.org/changeset/273683/webkit/))
- Added experimental support for CSS Color 5 `color-mix()` ([r273244](https://trac.webkit.org/changeset/273244/webkit/))
- Added experimental support for CSS Color 5 Relative Color Syntax ([r273127](https://trac.webkit.org/changeset/273127/webkit/))
- Changed `color(lab ...)` to serialize as `color(lab ...)` not `lab()` according to latest CSS Color 4 spec ([r273211](https://trac.webkit.org/changeset/273211/webkit/))
- Fixed `lab()` and `lch()` colors to clamp out-of-bound values at parse time ([r272909](https://trac.webkit.org/changeset/272909/webkit/))
- Fixed `lch()` colors to serialize as `lch()` ([r273078](https://trac.webkit.org/changeset/273078/webkit/))

### CSS Aspect Ratio

- Added support for `aspect-ratio` on flexbox items ([r273193](https://trac.webkit.org/changeset/273193/webkit/))
- Changed an `aspect-ratio` that ends with forward slash to be treated as invalid ([r273068](https://trac.webkit.org/changeset/273068/webkit/))
- Fixed `aspect-ratio` showing in computed styles when disabled ([r273314](https://trac.webkit.org/changeset/273314/webkit/))
- Changed to take `box-sizing` into account in replaced element intrinsic sizing for `aspect-ratio` ([r273753](https://trac.webkit.org/changeset/273753/webkit/))

### JavaScript

- Enabled private methods ([r273125](https://trac.webkit.org/changeset/273125/webkit/))
- Implemented private static methods ([r273107](https://trac.webkit.org/changeset/273107/webkit/))
- Implemented top-level-await ([r273225](https://trac.webkit.org/changeset/273225/webkit/))
- Implemented RegExp Match Indices ([r273086](https://trac.webkit.org/changeset/273086/webkit/))
- Implemented GC verifier ([r273138](https://trac.webkit.org/changeset/273138/webkit/))
- Added support for modules in Workers and Worklets ([r273203](https://trac.webkit.org/changeset/273203/webkit/))
- Added support for modules in Service Workers ([r273224](https://trac.webkit.org/changeset/273224/webkit/))
- Avoided performing `toObject` for options in new Intl constructors to align them to a new spec change ([r273153](https://trac.webkit.org/changeset/273153/webkit/))
- Reduced promise reaction memory usage when there are multiple reactions ([r273718](https://trac.webkit.org/changeset/273718/webkit/))
- Optimized object-reset expression ([r273135](https://trac.webkit.org/changeset/273135/webkit/))
- Optimized `Promise#then` by avoiding function allocations in major case ([r273605](https://trac.webkit.org/changeset/273605/webkit/))
- Micro-optimized `for-in` ([r273766](https://trac.webkit.org/changeset/273766/webkit/))
- Threw TypeError when `getFunctionRealm` hits revoked Proxy ([r273661](https://trac.webkit.org/changeset/273661/webkit/))
- Threw TypeError when TypedArray’s `[[DefineOwnProperty]]` failed ([r273750](https://trac.webkit.org/changeset/273750/webkit/))
- Fixed `delete` with index for module namespace object when arbitrary module identifiers use index ([r273816](https://trac.webkit.org/changeset/273816/webkit/))

### WebAssembly

- Extended wasm type with type index ([r273813](https://trac.webkit.org/changeset/273813/webkit/))
- Implemented non-trapping float to int conversion ([r272933](https://trac.webkit.org/changeset/272933/webkit/))

### Web API

- Enabled Paint Timing ([r273221](https://trac.webkit.org/changeset/273221/webkit/), [r273220](https://trac.webkit.org/changeset/273220/webkit/))
- Changed window proxy of detached iframe doesn’t respect updates to global values ([r273901](https://trac.webkit.org/changeset/273901/webkit/))
- Fixed devicemotion and deviceorientation events to work in third-party iframes with `Feature-Policy` allowing it ([r273444](https://trac.webkit.org/changeset/273444/webkit/))

### Media

- Fixed media segment getting incorrectly dropped when using negative `timestampOffset` or when source buffer appendWindow is set in MSE ([r273461](https://trac.webkit.org/changeset/273461/webkit/))
- Fixed audio that stops playing when backgrounding a page that is playing and capturing audio ([r273069](https://trac.webkit.org/changeset/273069/webkit/))

### WebRTC

- Added support for WebRTC priority ([r273550](https://trac.webkit.org/changeset/273550/webkit/))
- Fixed `MediaRecorder.stop()` to work correctly when recording has been paused ([r272911](https://trac.webkit.org/changeset/272911/webkit/))
- Added support for BigInt as media-stream encryption key ([r273158](https://trac.webkit.org/changeset/273158/webkit/))

### Accessibility

- Added the ability for an embedded accessibility image description in an image file to be reported if available ([r273214](https://trac.webkit.org/changeset/273214/webkit/))
- Fixed VoiceOver announces grid as having “0 columns” causing VoiceOver to not enter the grid ([r273715](https://trac.webkit.org/changeset/273715/webkit/))
- Fixed VoiceOver incorrectly announcing groups in ARIA tree instances as empty ([r273328](https://trac.webkit.org/changeset/273328/webkit/))

### Scrolling

- Fixed scroll snapping when dragging scrollbars ([r273690](https://trac.webkit.org/changeset/273690/webkit/))

---

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)