Release Notes for Safari Technology Preview 161
Safari Technology Preview Release 161 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: 257351@main…258382@main
Note: Shared Tab Groups and syncing for Tab Groups, Website Settings, and Web Extensions are not enabled in this release.
Web Inspector
- Added emulation toggles for
prefers-reduced-motion
andprefers-contrast
in the Elements tab (257383@main) - Changed to show the “Device” menu for all sessions (257426@main)
- Relocated the toggle for media feature
prefers-color-scheme
andappearance
(257744@main)
CSS Custom Properties
- Enabled
@property
support (258246@main, 257525@main) - Added
@property
rule parsing and CSSOM (258067@main) - Added parsing for identifier list syntax (257786@main)
- Added support for allowing CSS-wide keywords in registered custom properties (257873@main)
- Added support for CSS transitions of custom properties (258134@main)
- Added support for syntax types including
<color>
,<image>
,<url>
,<time>
,<dimension>
(257678@main, 257698@main, 257701@main, 257706@main) - Added support for list values (257844@main)
- Added unit cycle handling (258357@main)
- Made
var()
invalid for fallbacks that don’t match the syntax (258373@main) - Made inline style not validate registered custom property values (258240@main)
- Registered custom properties from
@property
rules (258106@main)
CSS Typed OM
- Enabled CSS Typed OM (258269@main)
- Allowed setting custom identifiers via the CSS Typed OM API (257859@main)
- Made
transition-duration
property not allow negative values (258295@main) - Made sure the
z-index
property is able to be set to-3.14
(258265@main) - Made sure
column-count
value gets clamped to [1, inf] (258218@main) - Made sure
orphans
andwidows
value gets clamped to [1, inf] (258243@main) - Made StylePropertyMap return CSS values exactly as they were set (257815@main)
- Made
StylePropertyMap.set()
wrap a value in acalc()
if the value is outside the allowed range (257485@main) - Made
StylePropertyMap.set()
throw when trying to set a number for a property which doesn’t allow it (258242@main)
:has() pseudo-class
- Added invalidation support for
:picture-in-picture
pseudo-class (257995@main) - Added invalidation support for
:playing
,:paused
,:seeking
,:muted
and:volume-locked
pseudo-classes (257991@main)
CSS
- Added support for
:user-invalid
and:user-valid
pseudo-classes (257997@main) - Aligned
stroke-dasharray
CSS property parsing with the specification (258136@main) - Fixed length values in gradients to take effective zoom into account (257659@main)
- Fixed CSS
::marker
to support defining CSS variables (257711@main) - Fixed
font-variant-alternates: historical-forms
to properly reflect via StylePropertyMap (257955@main) - Fixed the computed value for
stroke-dasharray
to be inpx
(258300@main) - Fixed
:out-of-range
pseudo class matching for emptyinput[type=number]
(258165@main) - Fixed computed value for
transform
property (257964@main) - Fixed
calc()
values for theperspective
property aren’t clipped to 0 (257779@main) - Made changes to
transform-style: preserve-3d
andperspective
so they only apply to direct DOM children (257509@main, 257432@main) - Made sure computed values for
baseline-shift
CSS property havepx
unit for lengths (257928@main) - Stopped allowing numbers during parsing of
baseline-shift
CSS property (258025@main) - Stopped allowing numbers during parsing of
cx
,cy
,x
, andy
CSS properties (258029@main)
Web Animations
- Account for
iterationComposite
when interpolating custom properties (257925@main) - Added basic interpolation support for
<length>
custom properties (257906@main) - Added interpolation support for
<transform-function>
custom properties (258009@main) - Added interpolation support for
<transform-list>
, + and # custom properties (258039@main) - Added tests for
<length-percentage>
custom property interpolation (257931@main) - Made custom properties support interpolation with a single keyframe (257911@main)
- Supported additivity when interpolating custom properties (257920@main)
- Supported interpolation of
<color>
custom properties (257929@main) - Supported interpolation of numeric custom properties (257930@main)
- Fixed composite animations with more than 2 keyframes (257731@main)
Rendering
- Added a non-breaking space at the the end of the text when the next text has a leading space (257622@main)
- Adjusted nested list markers when an intrusive float is present (258372@main)
- Changed to use the intrinsic ratio of replaced elements when computing flex sizes (257474@main)
- Made
::backdrop
renderers use background layers when possible (257538@main) - Fixed button elements clipping overflow by default (257439@main)
- Fixed rendering lazy loaded images inside an inline element with no height (257565@main)
- Fixed the logical width computation for
box-sizing
(258342@main) - Fixed lines with 0px constraints to still be considered a non-empty line if it has content (257528@main)
- Recalculated intrinsic widths in the old containing block chain when going out of flow (257980@main)
JavaScript
- Added support for RegExp lookbehind assertions (257823@main)
- Enabled AVX JIT code generation (257884@main)
- Fixed a race condition in
Atomics.wait
andAtomics.waitAsync
(257423@main) - Fixed ResizableArrayBuffer and
lastIndexOf
(258164@main) - Fixed WASM SIMD functions to throw a TypeError when called from JavaScript (257494@main)
- Made
Object.values
faster (257382@main)
WebAssembly SIMD
- Enabled WASM SIMD on ARM (257632@main)
- Enabled WASM SIMD on x64 (258309@main)
- Added support for conversions on Intel (257592@main)
- Added support for extended integer arithmetic on Intel, and also fix a bitmask operation (257657@main)
- Added support for floating-point absolute value, negate, min, max, and square-root on Intel (257880@main)
- Added Intel support for load and store operations and fix operation shuffle (257818@main)
- Added support for saturating integer arithmetic operations on Intel (257468@main)
- Added support for swizzle and shuffle on Intel and fixed
extract_lane
andreplace_lane
(257400@main) - Added support for bitwise operations on Intel (257640@main)
- Added support for integer and floating-point arithmetic on Intel (257511@main)
- Added support for vector comparisons on Intel (257532@main)
- Added Intel support for the remaining conversion opcodes (257965@main)
- Made SIMD functions support Linear Scan and Graph Coloring register allocators (257519@main)
- Emulated 8-bit shift instructions and
i8x16.popcnt
on Intel (258089@main) - Emulated vector floating-point absolute value on Intel (257806@main)
- Fixed
min
,max
, and CompareIntegerVector operations (257935@main)
WebAssembly
- Implemented WASM GC packed array types (257597@main)
Media
- Changed to use the dav1d decoder instead of libaom decoder (257357@main)
- Fixed the progress bar continuing to move when playback is stopped (257403@main)
Fullscreen API
- Enabled the unprefixed version of the Fullscreen API (257658@main)
- Added support for the
::backdrop
pseudo-element on fullscreen elements (257337@main) - Fixed properly resolving fullscreen API promises (257668@main)
- Implemented the unprefixed
:fullscreen
pseudo-class (257542@main) - Implemented
ShadowRoot.fullscreenElement
(257457@main) - Made the fullscreen API use the top layer (257456@main)
- Made fullscreen elements match the
:modal
pseudo-class (257572@main) - Made
requestFullscreen()
consume user activation (257554@main) - Used the fullscreen preferred size when reporting screen dimensions (258005@main)
- Stopped adjusting position to absolute for the root element in fullscreen (257946@main)
HTML
- Added support for
<model src>
and honor<source type>
attributes (257518@main)
Web API
- Enabled 2D OffscreenCanvas (257672@main, 258237@main)
- Added an
iframe
depth limit (257550@main) - Added support to return an adjusted URL when accessed from JavaScript bindings (257490@main)
- Ensured video color space is consistent when drawing videos to a canvas (258030@main)
- Ensured negative letter-spacing does not pull content oustisde of the inline box (258356@main)
- Escaped ampersands (
&
) in JavaScript URLs forinnerHTML
andouterHTML
(258112@main) - Fixed a bug where mousedown without mouseup in a frame disturbs the click event in another frame (258055@main)
- Fixed behavior of nested click event on label element with checkbox (258287@main)
- Fixed BroadcastChannel not always correctly computing its origin (257551@main)
- Fixed
legend.focus()
to not delegate focus (258074@main) - Improved
<textarea>
validation performance (257417@main) - Made site-isolated cross-origin iframes load in their own process (257435@main)
- Removed deprecated uppercase URL attribute alias on WebSocket interface (257467@main)
Accessibility
- Fixed checkboxes not respecting the
indeterminate
attribute state (258314@main) - Fixed control values not updated after dynamic changes to color
<input>
elements,<textarea>
elements, or<progress>
elements (257976@main) - Expose bold and italic font styling as text attributes for macOS (258212@main)
- Fixed indeterminate progress elements not reported as indeterminate by VoiceOver (258332@main)
Intelligent Tracking Prevention
- Fixed user initiated cross-domain link navigations getting counted as Top Frame Redirects (258382@main)
SVG
- Stopped auto-wrapping
svg:text
(257993@main) - Restricted floats over setCurrentTime and setCurrentScale to finite values (258322@main)
WebAuthn
- Changed the user gesture requirement to give back the user gesture freebie after a successful assertion or registration (257940@main)
- Improved handling of security keys with a full key store (257989@main)
- Fixed an issue where WebAuthn timeouts lead to an incorrect error (258116@main)
- Fixed an issue where
authenticatorAttachment
would always be"platform"
when performing operations over the hybrid transport (257576@main)
WebDriver
- Fixed Get Element Rect command to no longer round to integer values (257498@main)
WebGL
- Added support for creating WebGL contexts for OffscreenCanvas in a web worker (257541@main)
- Fixed a video texture set to repeat getting clamped (257365@main)
- Fixed WebGL failing to initialize within an OffscreenCanvas on the main thread (258222@main)