Release Notes for Safari Technology Preview 122

Safari Technology Preview Release 122 is now available for download 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.

Web Inspector


  • Changed CSS properties that disallow negative values to not animate to negative values (r273001)
  • Changed blending of border-image-width to be discrete between auto values and other types (r273635)
  • Fixed border-image-outset to handle float values (r273478)
  • Fixed border-image-slice blending to account for the fill keyword (r273625)


  • Changed min-content and max-content keywords to behave as an initial value in block axis (r273206)
  • Changed CSS grid to not allow negative heights (r273470)
  • Fixed min- and max- widths of grid affected by ancestor (r273435)
  • Changed the initial value for border-image-outset to 0 (r273882)
  • Implemented :focus-visible (r273812, r272983)
  • Implemented the first case in Definite and Indefinite Sizes specifications in section 9.8 for flexbox (r273072)
  • Fixed runtime-disabled CSS features still appearing enabled via CSS.supports() (r273385)
  • Removed support in the CSS parser for -khtml- prefixed CSS values (r273637)
  • Removed support for pos and pixel prefixed CSS values (r273627)

CSS Color

  • Added experimental support for CSS Color 5 color-contrast() (r273683)
  • Added experimental support for CSS Color 5 color-mix() (r273244)
  • Added experimental support for CSS Color 5 Relative Color Syntax (r273127)
  • Changed color(lab ...) to serialize as color(lab ...) not lab() according to latest CSS Color 4 spec (r273211)
  • Fixed lab() and lch() colors to clamp out-of-bound values at parse time (r272909)
  • Fixed lch() colors to serialize as lch() (r273078)

CSS Aspect Ratio

  • Added support for aspect-ratio on flexbox items (r273193)
  • Changed an aspect-ratio that ends with forward slash to be treated as invalid (r273068)
  • Fixed aspect-ratio showing in computed styles when disabled (r273314)
  • Changed to take box-sizing into account in replaced element intrinsic sizing for aspect-ratio (r273753)


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


  • Extended wasm type with type index (r273813)
  • Implemented non-trapping float to int conversion (r272933)


  • Enabled Paint Timing (r273221, r273220)
  • Changed window proxy of detached iframe doesn’t respect updates to global values (r273901)
  • Fixed devicemotion and deviceorientation events to work in third-party iframes with Feature-Policy allowing it (r273444)


  • Fixed media segment getting incorrectly dropped when using negative timestampOffset or when source buffer appendWindow is set in MSE (r273461)
  • Fixed audio that stops playing when backgrounding a page that is playing and capturing audio (r273069)


  • Added support for WebRTC priority (r273550)
  • Fixed MediaRecorder.stop() to work correctly when recording has been paused (r272911)
  • Added support for BigInt as media-stream encryption key (r273158)


  • Added the ability for an embedded accessibility image description in an image file to be reported if available (r273214)
  • Fixed VoiceOver announces grid as having “0 columns” causing VoiceOver to not enter the grid (r273715)
  • Fixed VoiceOver incorrectly announcing groups in ARIA tree instances as empty (r273328)


  • Fixed scroll snapping when dragging scrollbars (r273690)