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-motionandprefers-contrastin the Elements tab (257383@main) - Changed to show the “Device” menu for all sessions (257426@main)
- Relocated the toggle for media feature
prefers-color-schemeandappearance(257744@main)
CSS Custom Properties
- Enabled
@propertysupport (258246@main, 257525@main) - Added
@propertyrule 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
@propertyrules (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-durationproperty not allow negative values (258295@main) - Made sure the
z-indexproperty is able to be set to-3.14(258265@main) - Made sure
column-countvalue gets clamped to [1, inf] (258218@main) - Made sure
orphansandwidowsvalue 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-picturepseudo-class (257995@main) - Added invalidation support for
:playing,:paused,:seeking,:mutedand:volume-lockedpseudo-classes (257991@main)
CSS
- Added support for
:user-invalidand:user-validpseudo-classes (257997@main) - Aligned
stroke-dasharrayCSS property parsing with the specification (258136@main) - Fixed length values in gradients to take effective zoom into account (257659@main)
- Fixed CSS
::markerto support defining CSS variables (257711@main) - Fixed
font-variant-alternates: historical-formsto properly reflect via StylePropertyMap (257955@main) - Fixed the computed value for
stroke-dasharrayto be inpx(258300@main) - Fixed
:out-of-rangepseudo class matching for emptyinput[type=number](258165@main) - Fixed computed value for
transformproperty (257964@main) - Fixed
calc()values for theperspectiveproperty aren’t clipped to 0 (257779@main) - Made changes to
transform-style: preserve-3dandperspectiveso they only apply to direct DOM children (257509@main, 257432@main) - Made sure computed values for
baseline-shiftCSS property havepxunit for lengths (257928@main) - Stopped allowing numbers during parsing of
baseline-shiftCSS property (258025@main) - Stopped allowing numbers during parsing of
cx,cy,x, andyCSS properties (258029@main)
Web Animations
- Account for
iterationCompositewhen 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
::backdroprenderers 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.waitandAtomics.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.valuesfaster (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_laneandreplace_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.popcnton 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
::backdroppseudo-element on fullscreen elements (257337@main) - Fixed properly resolving fullscreen API promises (257668@main)
- Implemented the unprefixed
:fullscreenpseudo-class (257542@main) - Implemented
ShadowRoot.fullscreenElement(257457@main) - Made the fullscreen API use the top layer (257456@main)
- Made fullscreen elements match the
:modalpseudo-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
iframedepth 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 forinnerHTMLandouterHTML(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
indeterminateattribute 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
authenticatorAttachmentwould 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)