Release Notes for Safari Technology Preview 139
Safari Technology Preview Release 139 is now available for download for macOS Big Sur and macOS Monterey. 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 286944-287834.
Note: Tab Groups do not sync in this release.
Web Inspector
- Elements Tab
- Sources Tab
CSS
- Fixed CSS Cascade Layers specified in import rules can not be reordered on media query evaluation (r286972)
- Fixed
revert-layerto revert the style attribute to the regular author style for CSS Cascade Layers (r287018) - Fixed absolutely positioned children to be aligned using the margin box inside a flexbox (r287064)
- Used the correct margins in computeInlinePreferredLogicalWidths in orthogonal flows (r286952)
- Fixed
:focus-visiblenot matching on accessKey focus after focusing something via mouse (r287563, r287662) - Fixed flexbox ignoring margins of absolute positioned children when
align-items: flex-endorjustify-content: flex-end(r287128) - Fixed
drop-shadowfilter to use the value of the color property when it has no specified color (r287817) - Fixed
transformproperty to take into account transform reference box (r287606) - Fixed inline blocks that contain text with
min-width,box-sizing: border-boxto include the border in width calculation (r287779) - Fixed text-decoration color not changing back after input blur with outline removed (r287674)
- Implemented
text-combine-uprightproperty (standard version of-webkit-text-combine) (r287487)- Made
-webkit-text-combinean inherited property (r287451)
- Made
- Unprefixed
-webkit-print-color-adjustCSS property (r287712) - Removed non-standard
-webkit-background-compositeproperty (r287433) - Removed non-standard
-webkit-margin-*-collapseproperties (r287429)
:has()
- Added style invalidation for
:disabled,:enabled,:valid, and:invalid(r287445, r287551) - Fixed
:has()matching wrong elements due to style sharing (r287362) - Fixed
:has()selector invalidation issue with toggling:checked(r287363) - Used a bloom filter to quickly reject
:has()selectors (r287091)
Web Animations
- Added support for the
animationshorthand property in the computed style (r287535) - Changed reversing factor to be computed before canceling the previous transition (r287548)
- Changed transitions without an explicit
transition-propertyto not be considered (r287764) - Fixed
animationshorthand to parse values in the right order (r287509) - Fixed
animationshorthand to list all longhand values when serializing (r287534) - Fixed calling
setKeyframes()on a running CSS Transition having no immediate effect (r287549) - Fixed changing the effect of a transition to no longer mark it as running (r287550)
- Fixed
getKeyframes()for a CSS Animation to not use computed style for keyframes (r287820) - Fixed
getKeyframes()to ensure that all properties are present on 0% and 100% keyframes (r287518) - Fixed
getKeyframes()to return an empty object when there are no animatable properties in@keyframesrule (r287517) - Fixed inserting a rule within a
@keyframesrule should update animations (r287707) - Fixed inserting a new
@keyframesrule to start animations that already used this name (r287769) - Fixed implicit keyframe for a CSS Animation to always use the underlying style (r287827)
- Fixed interpolation for the
filterproperty failing with a single keyframe (r287826) - Fixed
translate()function in the transform property to remove trailing 0 value when parsing (r287822)
Rendering
- Changed to pre-layout orthogonal children to compute the preferred logical width inside a flexbox (r287263)
- Fixed paint order of CSS text decorations (r286955)
- Fixed incorrect percent-based height inside
display: tablechild elements defined when combined withbox-sizing: border-boxandpadding. (r287063) - Fixed aspect-ratio size calculation (r287023)
SVG
- Fixed SVG resource invalidation logic causing incorrect layout state (r287076)
WebAuthn
- Changed to allow
get()for a same-site, cross-origin iframe (r286993, r287116) - Fixed authenticator to fallback to clientPIN after internal verification fails and is blocked (r287315)
Web API
- Added support for using a user-specified preference before using the system’s preferred color scheme (r287030)
- Fixed FormData constructed in the form’s submit event listener to not include the submitter (r286988)
- Fixed TextDecoder to detect invalid UTF-8 sequences early enough (r287024)
JavaScript
- Aligned
Array.prototype.toLocaleStringto ECMA402 definition (r287560) - Fixed
Intl.PluralRules.selectRangeinput validation (r287546) - Fixed length of
Intl.NumberFormat.formatRangeandIntl.PluralRules.selectRange(r287543)
Content Security Policy
- Changed to always use UTF-8 encoded content when checking hashes (r287270)
- Implemented CSP
strict-dynamicfor module scripts (r287756)
Media
- Added MediaRecorder support for the
bitsPerSecondoption (r287613) - Changed to prevent packing audio samples with discontinuity together (r287249)
Service Workers
- Added full support for Service Worker interception of fetch requests with FormData body (r287612)
- Fixed
FetchRequest.cloneto not need to be called with the current context (r287532)
Web Extensions
- Added support for the
redirectrule type indeclarativeNetRequest, which requires host permissions to be granted for the host of the URL being redirected - Added support for
declarativeNetRequest.getMatchedRules, which requires host permissions to be granted to view the URLs of blocked resources