Wednesday, 14 December, 2022 UTC


Safari Technology Preview Release 160 is now available for download for macOS Monterey 12.3 or later and macOS Ventura. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS Monterey, or System Settings under General → Software Update on macOS Ventura.
This release includes WebKit changes between: [email protected][email protected]
Note: Shared Tab Groups and syncing for Tab Groups, Website Settings, and Web Extensions are not enabled in this release.

Web Inspector

  • Elements Tab
    • Added emulation toggles for prefers-reduced-motion and prefers-contrast CSS media features ([email protected])
    • Fixed corrupted styles when adding a new property to a rule with a commented-out property in the Styles sidebar ([email protected])
  • Storage Tab
    • Fixed extensions showing a UUID instead of their name for cookie entries ([email protected])


  • Added support for media queries level 4 including range queries ([email protected])
  • Fixed -webkit-radial-gradient parsing that treated a number of mandatory commas as optional ([email protected])
  • Fixed transition-property: none to disassociate CSS Transition from owning the element ([email protected])
  • Fixed border-image-* returning the initial keyword instead of the initial value when setting the border-image shorthand ([email protected])
  • Fixed @font-face src descriptor format parsing to only allow identifiers for specified formats ([email protected])
  • Fixed font shorthand to reset more longhand properties ([email protected])
  • Fixed legend tags not accepting the full range of display values ([email protected])


  • Added width and height content attributes to <model> ([email protected])
  • Changed to not apply aspect ratio scaling to gradient background images that don’t have a natural aspect ratio ([email protected])
  • Changed to use device pixel scaled backing store for <canvas> with image-rendering: pixelated ([email protected])
  • Changed to not paint a focus ring for anonymous block continuations ([email protected])
  • Changed to use unclamped subgrid track sizes to compute track positions, so that gap is accounted for correctly ([email protected])
  • Fixed Grid track sizing to reset the override width as well as height to compute intrinsic sizing ([email protected])
  • Fixed incorrect clipping when a layer is present between the column and the content layer ([email protected])
  • Fixed pixel-moving CSS filters with clipping ([email protected])
  • Fixed <textarea> placeholder text that does not disappear when inserting text without a user gesture ([email protected])
  • Fixed the incorrect static position of absolute-positioned elements inside relative-positioned containers ([email protected])
  • Fixed rendering for extreme border-radius ([email protected])
  • Fixed a positioned element with percentage padding to recalculate width when the containing block is changed ([email protected])

Web Animations

  • Implement KeyframeEffect.iterationComposite ([email protected])
  • Fixed opacity to use unclamped values for from and to keyframes with iterationComposite ([email protected])
  • Implemented correct accumulation support for the filter property ([email protected])
  • Implemented correct additivity support for the filter property ([email protected])
  • Fixed to correctly accumulate and clamp filter values when blending with "none" ([email protected])
  • Fixed filter values containing a url() to animate discretely ([email protected])
  • Fixed support for blending mismatched filter lists ([email protected])
  • Fixed baseline-shift animation is incorrect ([email protected])
  • Fixed changing writing-mode or direction on an element that has an animation targeting a logical property to ensure animation resolution is scheduled ([email protected])
  • Fixed keyframes to be recomputed if the CSS variable that is used changes ([email protected])
  • Fixed word-spacing to support animating between percentage and fixed values ([email protected])
  • Fixed Animation.commitStyles() not changing the style attribute for individual CSS transform properties ([email protected])


  • Changed the default for the x1, y1, and y2 attributes to 0% for LinearGradient ([email protected])


  • Changed to keep MediaKeySystemAccess alive in a createMediaKeys() async task ([email protected])
  • Changed to ensure current time is not removed during automatic eviction ([email protected])
  • Changed to not seek with no seekable range ([email protected])
  • Changed to explicitly close an RTCNetworkManager on document teardown ([email protected])
  • Fixed web audio rendering becoming garbled when switching from speakers to headphones and vice-versa ([email protected])
  • Fixed rendering artifacts when presenting fullscreen video ([email protected])
  • Fixed RGBA data VideoFrame copyTo ([email protected])
  • Fixed enabling subtitles when tracks are added after the video is loaded ([email protected])
  • Fixed the incorrect size of a video track’s settings in the second MediaStream created when the aspectRatio constraint is applied ([email protected])
  • Improved the coded frame eviction algorithm ([email protected])



Service Workers

  • Changed to make sure nested worker gets controlled if matching a service worker registration ([email protected])
  • Changed to not use the service worker preload for modified requests ([email protected])
  • Fixed service worker download in case of preloads ([email protected])
  • Removed the “Frame load interrupted” warning in Web Inspector when clicking a link to download a file served by a service worker with a fetch event handler ([email protected])


  • Fixed dynamic aria-disabled changes not updating enabled status for descendants ([email protected])
  • Fixed to include AXKeyShortcutsValue in accessibilityAttributeNames when there is an aria-keyshortcuts attribute ([email protected])
  • Fixed listed size announced by VoiceOver despite use of aria-setsize=-1 ([email protected])
  • Fixed a bug preventing Shadow DOM content from being exposed to accessibility clients when used in an aria-modal or dialog ([email protected])


  • Fixed non-breaking space getting inserted instead of a normal space character between text nodes in contenteditable ([email protected])