Apple recently released the iOS 16.4, iPadOS 16.4, watchOS 9.4, macOS 13.3, tvOS 16.4, HomePod/Mini 16.4 and Studio Display 16.4 update. The latest updates adds some new changes and fix some bugs. Also, Apple’s Emergency SOS via Satellite expanded to six European countries.
According to the latest report, Apple rolled out Safari 164 beta update with so many bug fixes and added lots of new things. The latest update added dark mode support for plain text files as well as added fingerprinting countermeasures for querying the permission state of the Notifications API. You can check the complete changelog of this update which is mentioned below.
Overview
Safari 16.4 beta is available for macOS Big Sur, macOS Monterey, macOS Ventura, iPadOS 16.4 beta, and iOS 16.4 beta.
Browser Changes
New Features
- Added dark mode support for plain text files.
- Added fingerprinting countermeasures for querying the permission state of the Notifications API.
CSS
New Features
- Added support for
:
anduser-invalid :
pseudo-classes.user-valid - Added support for
current
withColor color-mix()
. - Added support for
margin-trim
. - Added support for
outline
following the curve ofborder-radius
. - Added support for CSS Properties and Values API with support for
@property
. - Added support for CSS relative color syntax.
- Added support for new named colors to match CSS Color Level 4.
- Added support for the
:
pseudo-class.dir() - Added support for the
:
pseudo-class to match fullscreen elements.modal - Added support for the
lh
andrlh
units. - Added support for the range syntax and boolean logic from Media Queries level 4.
- Added support for the unprefixed
:
pseudo-class.fullscreen - Added support for the unprefixed absolute size keyword
xxx-large
.
Resolved Issues
- Fixed
-webkit-mask-box-image: initial
to set the correct initial value. - Fixed
-webkit-radial-gradient
parsing accidentally treating several mandatory commas as optional. - Fixed
::
to not supportplaceholder writing-mode
,direction
, ortext-orientation
. - Fixed
:
pseudo-class invalidation forhas() :
,lang :
,playing :
,paused :
,seeking :
,muted :
,volume-locked :
,picture-in-picture :
, andbuffering :
pseudo-classes.stalled - Fixed
@supports
to not work ifnot
,or
, orand
isn’t followed by a space. - Fixed
background-repeat
not getting correctly exposed through inline styles. - Fixed
baseline-shift
to allow length or percentage, but not numbers. - Fixed
contain: inline-size
for replaced elements. - Fixed
CSSPerspective
to throw a TypeError if its length is incompatible with the.to Matrix() px
unit. - Fixed
cx
,cy
,x
, andy
CSS properties to allow length or percentage, but not numbers. - Fixed
filter: blur
on an absolutely positioned image losingoverflow: hidden
. - Fixed
font-face
to accept ranges in reverse order, and reverse them for computed styles. - Fixed
font-style: oblique
must allow angles equal to 90deg or -90deg. - Fixed
font-style: oblique
withcalc()
to allow out-of-range angles and clamp them for computed style. - Fixed
font-weight
to clamp to 1 as a minimum. - Fixed
font
shorthand to reject out-of-range angles forfont-style
. - Fixed
font
shorthand to reset more longhand properties. - Fixed
overflow-x: clip
causing a sibling image to not load. - Fixed
overflow: clip
not working on SVG elements. - Fixed
stroke-dasharray
parsing to align with standards. - Fixed
stroke-width
andstroke-dashoffset
parsing to align with standards. - Fixed
text-decoration-thickness
property not repainting when changed. - Fixed allowing
calc()
that combines percentages and lengths forline-height
. - Fixed an issue where using
box-sizing: border-box
causes the calculated aspect-ratio to create negative content sizes. - Fixed an issue with a monospace font on a parent causing children with a sans-serif font using
rem
orrlh
units to grow to a larger size. - Fixed behavior of
cursor: auto
over links. - Fixed buttons with auto width and height to not set intrinsic margins.
- Fixed calculating block size to use the correct box-sizing with aspect ratio.
- Fixed cells overflowing their contents when a table cell has inline children which change
writing-mode
. - Fixed clipping
perspective
calc()
values to 0. - Fixed font shorthand to not reject values that happen to have CSS-wide keywords as non-first identifiers in a font family name.
- Fixed hit testing for double-click selection on overflowing inline content.
- Fixed honoring the content block size minimum for a
<fieldset>
element withaspect-ratio
applied. - Fixed incorrectly positioned line break in contenteditable with tabs.
- Fixed invalidation for class names within
:
selector lists.nth-child() - Fixed omitting the
normal
value forline-height
from thefont
shorthand in the specified style, not just the computed style. - Fixed pseudo-elements to not be treated as ASCII case-insensitive.
- Fixed rejecting a selector argument for
:
ornth-of-type :
.nth-last-of-type - Fixed serialization order for
contain
. - Fixed strings not wrapped at zero width spaces when
word-break: keep-all
is set. - Fixed supporting
<string>
as an unprefixed keyframe name. - Fixed the
:
pseudo-selector parsing to be unforgiving.has() - Fixed the
font-face
src
descriptor format to allow only specified formats, others are a parse error. - Fixed the
tz
component not accounting for zoom when creating amatrix3d
() value. - Fixed the computed value for
stroke-dasharray
to be inpx
. - Fixed the effect of the writing-mode property not getting removed when the property is removed from the root element.
- Fixed the position of
text-shadow
used withtext-combine-upright
. - Fixed the title of a style element with an invalid type to never be added to preferred stylesheet set.
- Fixed the transferred min/max sizes to be constrained by defined sizes for aspect ratio.
- Fixed the user-agent stylesheet to align hidden elements,
abbr
,acronym
,marquee
, andfieldset
with HTML specifications. - Fixed to always use percentages for computed values of
font-stretch
, never keywords. - Fixed to not require whitespace between
of
and the selector list in:
ornth-child :
.nth-last-child
CSS API
New Features
- Added support for CSS Typed OM.
- Added support for constructible and adoptable CSSStyleSheet objects.
- Added support for input validation for
CSSColor
as part of CSS Typed OM.Values
Resolved Issues
- Fixed
CSS
returning false for custom properties..supports - Fixed
CSS
whitespace handling with.supports !important
. - Fixed forgiving selectors to not be reported as supported with
CSS
..supports("selector(...)") - Fixed
get
to return a function list for the transform property.Computed Style() - Fixed
linear-gradient
keyword values not getting converted to theirrgb()
equivalents forget
.Computed Style()
Content Security Policy
Resolved Issues
- Fixed updating the Content Security Policy when a new header is sent as part of a 304 response.
Custom Elements
New Features
- Added support for Declarative Shadow DOM.
- Added support for ElementInternals.
- Added support for form-associated custom elements.
- Added support for Imperative Slot API.
Forms
New Features
- Added a thumbnail of the selected file for
<input type="file">
on macOS. - Added support for the
cancel
event on<input type="file">
.
Resolved Issues
- Fixed
<input type="submit">
,<input type="reset">,
and<input type="button">
to honorfont-size
,padding
,height
, and work with multi-line values. - Fixed firing the
change
event for<input type="file">
when a different file with the same name is selected. - Fixed preventing a disabled
<fieldset>
element from getting focus. - Fixed the
:
pseudo class matching for emptyout-of-range input[type=number]
.
JavaScript
New Features
- Added support for RegExp lookbehind assertions.
- Added support for
Array
..from Async - Added support for
Array#group
andArray#group
.To Map - Added support for
Atomics
..wait Async - Added support for
import
..meta .resolve() - Added support for
Intl
..Duration Format - Added support for
String#is
andWell Formed String#to
.Well Formed - Added support for class static initialization blocks.
- Added support for growable SharedArrayBuffer.
- Added support for Import Maps.
- Added support for resizable ArrayBuffer.
- Added support for using
Symbols
inWeak
andMap Weak
.Set
Resolved Issues
- Fixed
Array
constant-folding to account for a non-numeric index..prototype .index Of - Fixed
Intl
.Number Format use
handling to match updated specs.Grouping - Fixed
Intl
ignoring.Number Format maximum
with compact notation.Fraction Digits - Fixed
String
incorrectly returning false when the string is empty and the position is past end of the string..prototype .includes - Fixed
to
andLocale Lower Case to
to throw an exception on an empty string.Locale Upper Case
HTML
New Features
- Added support for lazy loading iframes.
Resolved Issues
- Fixed aligning the parsing of
<body link vlink alink>
to follow standards. - Fixed
<legend>
to accept moredisplay
property values thandisplay: block
.
HTTP
New Features
- Added support for the
Clear-Site-Data
HTTP header.
Intelligent Tracking Prevention
Resolved Issues
- Fixed user initiated cross-domain link navigations getting counted as Top Frame Redirects.
Images
New Features
- Added support for AVIF on macOS Monterey and macOS Big Sur.
Resolved Issues
- Fixed ensuring the
<picture>
element works with AVIF. - Fixed some display issues with HDR AVIF images.
- Fixed the accept header to correctly indicate AVIF support.
Loading
New Features
- Added prevention of redirects to
data:
orabout:
URLs.
Lockdown Mode
New Restrictions
- Disabled binary fonts in the CSS Font Loading API.
- Disabled Cache API.
- Disabled CacheStorage API.
- Disabled ServiceWorkers.
- Disabled SVG fonts.
- Disabled the WebLocks API.
- Disabled WebSpeech API.
- Fixed common cases of missing glyphs due to custom icon fonts.
Media
New Features
- Added improvements to audio quality for web video conferencing.
- Added support for a subset of the AudioSession Web API.
- Added support for AVCapture virtual cameras.
- Added support for inbound rtp
track
stat field.Identifier - Added support for VTT-based extended audio descriptions.
- Added support to allow a site to provide an “alternate” URL to be used during AirPlay.
- Added video-only support for Web Codecs.
Resolved Issues
- Fixed
enumerate
may return filtered devices even if page is capturing.Devices - Fixed
Media
firing an additionalRecorder .stop() dataavailable
event with bytes afterMedia
.Recorder .pause() - Fixed duplicate
timeupdate
events. - Fixed limiting DOMAudioSession to third-party iframes with microphone access.
- Fixed MSE to not seek with no seekable range.
- Fixed mute microphone capture if capture fails to start because microphone is used by a high priority application.
- Fixed not allowing text selection to start on an HTMLMediaElement.
- Fixed only requiring a transient user activation for Web Audio rendering.
- Fixed screen capture to fail gracefully if the window or screen selection takes too long.
- Fixed switching to alternate
<source>
element for AirPlay when necessary. - Fixed the local WebRTC video element pausing after bluetooth
audioinput
is disconnected. - Fixed trying to use low latency for WebRTC HEVC encoder when available.
- Fixed unmuting a TikTok video pauses it.
- Fixed WebVTT styles not applied with in-band tracks.
Rendering
Resolved Issues
- Ensured negative letter-spacing does not pull content oustisde of the inline box
- Fixed
<div>
withborder-radius
not painted correctly while using jQuery’s.slide
.Toggle() - Fixed
border-radius
clipping on composited layers. - Fixed
box-shadow
to paint correctly on inline elements. - Fixed box-shadow invalidation on inline boxes.
- Fixed calculating the width of an inline text box using simplified measuring to handle fonts with
Zero Width Joiner
,Zero Width Non-Joner
, orZero Width No-Break Space
. - Fixed clearing floats added dynamically to previous siblings.
- Fixed clipping the source image when the source rectangle is outside of the source image in canvas.
- Fixed CSS keyframes names to not allow CSS wide keywords.
- Fixed elements with negative margins not avoiding floats when appropriate.
- Fixed floating boxes overlapping with their margin boxes.
- Fixed HTMLImageElement width and height to update layout to return styled dimensions not the image attributes.
- Fixed ignoring
nowrap
on<td nowrap="nowrap">
when an absolute width is specified. - Fixed incorrect clipping when a layer is present between the column and the content layer.
- Fixed incorrect static position of absolute positioned elements inside relative positioned containers.
- Fixed layout for fixed position elements relative to a transformed container.
- Fixed layout overflow rectangle overflows interfering with the scrollbar.
- Fixed negative shadow repaint issue.
- Fixed preventing a focus ring from being painted for anonymous block continuations.
- Fixed recalculating intrinsic widths in the old containing block chain when an object goes out of flow.
- Fixed rendering extreme
border-radius
values. - Fixed specified hue interpolation method for hues less than 0 or greater than 360.
- Fixed tab handling in right-to-left editing.
- Fixed text selection on flex and grid box items.
- Fixed the position and thickness of underlines to be device pixel aligned.
- Fixed transforms for table sections.
- Fixed transition ellipsis box from “being a display box on the line” to “being an attachment” of the line box.
- Fixed unexpected overlapping selection with tab in right-to-left context.
- Fixed updating table rows during simplified layout.
- Fixed: improved balancing for border, padding, and empty block content.
Safari Extensions
New Features
- Added
MAX
property to_NUMBER _OF _DYNAMIC _AND _SESSION _RULES declarative
.Net Request - Added support for
:
selector in Safari Content Blocker rules.has() - Added support for
declarative
.Net Request .set Extension Action Options - Added support for
request
toDomains declarative
rules.Net Request - Added support for
toggle
to theReader Mode tabs
API. - Added support for additional
browser
APIs including:.scripting scripting
,.register Content Script scripting
,.get Registered Content Scripts scripting
, and.unregister Content Scripts scripting
..update Content Scripts - Added support for modules in background service workers.
- Added support for SVG images as web extension icons.
- Added support for the
modify
action type ofHeaders declarative
.Net Request - Added support to allow extensions to store data in memory using the
browser
API..storage .session - Safari Web Extensions are now turned off upon update if the new version requests more host permissions.
Resolved Issues
- Extensions that request the
unlimited
permission no longer need to also requestStorage storage
. - Fixed
browser
namespace is now available when an extension has the.declarative Net Request declarative
permission.Net Request With Host Access - Fixed
is
Url Filter Case Sensitive declarative
rule condition to be false by default.Net Request - Fixed
tabs
getting called on tabs that were already closed..on Updated - Fixed background service worker failing to import scripts.
- Fixed content scripts not injecting into subframes when extension accesses the page after a navigation.
- Fixed CORS issue when doing fetch requests from a background service worker.
- Fixed declarativeNetRequest errors not appearing correctly in the extension’s pane of Safari Settings.
- Fixed display of extension cookie storage in Web Inspector. Now the extension name is shown instead of a UUID.
- Fixed dNR rules not loading when an extension is turned off and then on.
- Fixed result of
get
to match other browsers.Matched Rules() - Fixed
browser
events firing for hosts where the extension did not have access..web Navigation - Removed Keyboard Shortcut conflict warnings for
browser
when there are multiple commands without keyboard shortcuts assigned..commands
Scrolling
New Features
- Added support for smooth key-driven scrolling on macOS.
Resolved Issues
- Fixed
overscroll-behavior: none
to prevent overscroll when the page is too small to scroll.
SVG
Resolved Issues
- Fixed
<svg:
to not auto-wrap.text> - Fixed
preserve
to stop acceptingAspect Ratio defer
. - Fixed
SVG
to only set the page zoom for a standalone SVG..current Scale - Fixed
svg
to restrict floats to finite values.Element .set Current Time - Fixed applying changes to
fill
withcurrent
to other colors via CSS.Color - Fixed changes to the
filter
property getting ignored. - Fixed CSS and SVG filters resulting in a low quality, pixelated image.
- Fixed focusability even when tab-to-links is enabled for
<svg:
.a> - Fixed handling animation freezes when
repeat
is not a multiple ofDur dur
. - Fixed making sure computed values for
baseline-shift
CSS property usepx
unit for lengths.
Tables
Resolved Issues
- Fixed not forcing
display: table-cell
,display: inline-table
,display: table
, andfloat: none
on table cell elements when in quirks mode. - Fixed removing the visual border when the table border attribute is removed.
Text
New Features
- Added support for
font-size-adjust
.
Resolved Issues
- Fixed
font-optical-sizing: auto
having no effect in Safari 16. - Fixed directionality of the
<bdi>
and<input>
elements to align with HTML specifications. - Fixed handling an invalid
dir
attribute to not affect directionality. - Fixed the default oblique angle from
20deg
to14deg
. - Fixed the handling of
<bdo>
. - Fixed the order of how
@font-palette-values
override-colors
are applied.
WebAssembly
New Features
- Added support for WASM SIMD.
Web Animations
New Features
- Added animation support for
align-tracks
andjustify-tracks
. - Added support for
Keyframe
.Effect .iteration Composite - Added support for animating custom properties.
- Added support for blending of mismatched filter lists.
Resolved Issues
- Fixed
@keyframes
rules using aninherit
value to update the resolved value when the parent style changes. - Fixed
Animation
triggering a mutation even when the styles are unchanged..commit Styles() - Fixed
Animation
and.start Time Animation
setters support for CSSNumberish values..current Time - Fixed
baseline-shift
animation. - Fixed
baseline
inherited changes.Shift - Fixed
commit
failing to commit a relativeStyles() line-height
value. - Fixed
get
serialization of CSS values for anKeyframes() onkeyframe
sequence. - Fixed
rotate: x
andtransform: rotate(x)
to yield the same behavior with SVGs. - Fixed
word-spacing
to support animating between percentage and fixed values. - Fixed accounting for non-inherited CSS variables getting interpolated for standard properties on the same element.
- Fixed accumulating and clamping filter values when blending with
"none"
. - Fixed accumulation support for the
filter
property. - Fixed additivity support for the
filter
property. - Fixed animation of color list custom properties with
iteration
.Composite - Fixed blend transform when iterationComposite is set to
accumulate
. - Fixed blending to account for
iteration
.Composite - Fixed Calculating computed keyframes for shorthand properties.
- Fixed composite animations to compute blended additive or accumulative keyframes for in-between keyframes.
- Fixed computing the
key
index correctly for discrete values animations.Times - Fixed CSS animations participation in the cascade.
- Fixed custom properties to support interpolation with a single keyframe.
- Fixed filter values containing a
url()
should animate discretely. - Fixed interpolating custom properties to take
iteration
into account.Composite - Fixed jittering when animating a rotated image.
- Fixed keyframes to be recomputed if a custom property registration changes.
- Fixed keyframes to be recomputed if the CSS variable used is changed.
- Fixed keyframes to be recomputed when
bolder
orlighter
is used on afont-weight
property. - Fixed keyframes to be recomputed when a parent element changes value for a custom property set to
inherit
. - Fixed keyframes to be recomputed when a parent element changes value for a non-inherited property set to
inherit
. - Fixed keyframes to be recomputed when the
currentcolor
value is used on a custom property. - Fixed keyframes to be recomputed when the
currentcolor
value is used. - Fixed opacity to use unclamped values for
from
andto
keyframes withiteration
.Composite - Fixed running a transition on an inherited CSS variable getting reflected on a standard property using that variable as a value.
- Fixed seamlessly updating the playback rate of an animation.
- Fixed setting
iteration
should invalidate the effect.Composite - Fixed setting the
transition-property
tonone
does not disassociate the CSS Transition from owning the element. - Fixed the composite operation of implicit keyframes for CSS Animations to return
"replace"
. - Fixed the timing model for updating animations and sending events.
- Fixed updating timing to invalidate the effect.
Web API
New Features
- Added support for 2D-only OffscreenCanvas.
- Added support for
gamepad
..vibration Actuator - Added support for a submitter parameter in the FormData constructor.
- Added support for COEP violation reporting.
- Added support for COOP/COEP navigation violation reporting.
- Added support for Fetch Initiator.
- Added support for Fetch Metadata Request Headers.
- Added support for importing compressed EC keys in WebCrypto.
- Added support for loading scripts for nested workers.
- Added support for non-autofill credential type for the
autocomplete
attribute. - Added support for revoking Blob URLs across same-origin contexts.
- Added support for Scroll to Text Fragment
- Added support for Service Workers and Shared Workers to the Permissions API.
- Added support for the
is
attribute on InputEvent.Composing - Added support for the Compression Streams API.
- Added support for the Notification API in dedicated workers.
- Added support for the Reporting API.
- Added support for the Screen Wake Lock API.
- Added support for the UserActivation API.
- Added support for
Screen
,Orientation .type Screen
, andOrientation .angle Screen
.Orientation .onchange - Added support for the termination of nested workers.
- Added support for the unprefixed Fullscreen API on macOS and iPadOS.
- Added support for transfer size metrics for first parties in
Server
andTiming Performance
.Resource Timing - Added support to the Permissions API for dedicated workers.
Resolved Issues
- Fixed
-webkit-user-select: none
allowing text to be copied to clipboard. - Fixed
content
caret getting left aligned instead of centered when theEditable :
pseudo-element is used.before - Fixed
Cross-Origin-Embedder-Policy
incorrectly blocking scripts on cache hit. - Fixed
CSSRule
to not return values greater than 15..type - Fixed
document
to abort all loads when the document is navigating..open() - Fixed
document
to remove the initial.open() about:
-ness of the document.blank - Fixed
Element
not obeying element scope with ID..query Selector All - Fixed
File
write operation to be quota protected.System Sync Access Handle - Fixed
get
returning the wrong value forBounding Client Rect() <tr>
,<td>
, and its descendants for a vertical table. - Fixed
HTMLOutput
to make it settable.Element .html For - Fixed
query
to always return an empty string.Command Value("stylewithcss") - Fixed
Storage
to align with HTML specifications.Event .init Storage Event() - Fixed
text
leaving dir=auto content in the wrong direction.Content - Fixed
user-select: initial
content withinuser-select: none
should be copied - Fixed
Worker
to be based on the owner’s top URL, not the owner’s URL.Global Scope .is Secure Context - Fixed a bug where
mousedown
withoutmouseup
in a frame prevents a click event in another frame. - Fixed a sometimes incorrect location after exiting mouse hover.
- Fixed accepting
image/jpg
for compatibility. - Fixed adding a non-breaking space, instead of a plain space, when it is inserted before an empty text node.
- Fixed behavior of nested click event on a label element with a checkbox.
- Fixed BroadcastChannel in a SharedWorker when hosted in a cross-origin iframe.
- Fixed calculation of direction for text form control elements with
dir="auto"
. - Fixed canvas fallback content focusability computation.
- Fixed deleting a button element leaving the button’s style in a
contenteditable
element. - Fixed disconnected
<fieldset>
elements sometimes incorrectly matching:
orvalid :
selectors.invalid - Fixed dragging the mouse over a
user-select: none
node can begin selection in another node. - Fixed ensuring nested workers get controlled if matching a service worker registration.
- Fixed errors caught and reported for
import
.Scripts() - Fixed escaping “&” in JavaScript URLs for
inner
andHTML outer
.HTML - Fixed EventSource to stop allowing trailing data when parsing a retry delay.
- Fixed Fetch Request object to keep its Blob URL alive.
- Fixed filled text on a canvas with a web font refreshing or disappearing.
- Fixed find on page failing to show results in PDFs.
- Fixed firing an error event when link preload fails synchronously.
- Fixed form submissions to cancel JavaScript URL navigations.
- Fixed handing the
onerror
content attribute on body and frameset elements. - Fixed handling opaque origin Blob URLs.
- Fixed handling text documents to align to modern HTML specifications.
- Fixed handling the onerror content attribute on
<body>
and<frameset>
elements. - Fixed HTMLTemplateElement to have a
shadow
attribute.Root Mode - Fixed including alternate stylesheets in
document
..style Sheets - Fixed incorrect caret movement in some right-to-left
contenteditable
elements. - Fixed incorrect color for videos loaded in a canvas.
- Fixed incorrect image
srcset
candidate chosen for<img>
cloned from<template>
. - Fixed incorrectly ignored
X-Frame-Options
HTTP headers with an empty value. - Fixed lazy loading images sometimes not loading.
- Fixed link elements to be able to fire more than one
load
orerror
event. - Fixed loading Blob URLs with a fragment from opaque, unique origins.
- Fixed maintaining the original
Content-Type
header on a 303 HTTP redirect. - Fixed module scripts to always decode using UTF-8.
- Fixed MouseEventInit to take
movement
andX movement
.Y - Fixed not dispatching a
progress
event when reading an empty file or blob using the FileReader API. - Fixed not replacing the current history item when navigating a cross-origin iframe to the same URL.
- Fixed overriding the mimetype for an XHR.
- Fixed parsing of negative age values in CORS prefetch responses.
- Fixed pasting of the first newline into text area.
- Fixed preventing selection for generated counters in ordered lists.
- Fixed Safari frequently using stale cached resources despite using Reload Page From Origin.
- Fixed scheduling a navigation to a Blob URL to keep the URL alive until the navigation occurs.
- Fixed sending Basic authentication via XHR using
set
when there is an existing session.Request Header() - Fixed setting
style=""
to destroy the element’s inline style. - Fixed setting the
tab
of a non-focusable HTMLElement.Index - Fixed system colors not respecting inherited
color-scheme
values. - Fixed textarea placeholder text not disappearing when text is inserted without a user gesture.
- Fixed the
event
value for F10 and F11 keys..key Identifier - Fixed the click event to not get suppressed on textarea resize.
- Fixed the computed value for the
transform
property withSkew
.Y - Fixed the initialization of color properties.
- Fixed timing of ResizeObserver and IntersectionObserver to match other browsers.
- Fixed toggling a details element when a summary element receives a
click()
. - Fixed updating Text node children of an option element to not reset the selection of the select element.
- Fixed using NFC Security Key on iOS.
- Fixed using WebAuthn credentials registered on iOS 15 if iCloud Keychain is disabled.
- Fixed WebAuthn sending Attestation as None when requested as Direct.
- Fixed XHR aborting to align with standards specification
- Fixed XHR error events to return 0 for loaded and total.
- Fixed: Made all FileSystemSyncAccessHandle methods synchronous.
- Fixed: Removed a gray border while loading images with
loading="lazy"
. - Fixed: Removed the
precision="float"
attribute on<input type="range">
.
Web Apps
New Features
- Added support for Web Push in web apps saved to the home screen on iOS.
- Added support for the
"id"
member in Web App Manifest files. - Added support for the Badging API.
- Added support for third-party browsers to offer Add to Home Screen from the Share menu.
WebGL
New Features
- Added support for
display-p3
wide-gamut color space in WebGL canvas. - Added support for
WEBGL
._clip _cull _distance
Resolved Issues
- Fixed video textures set to repeat.
Web Inspector
New Features
- Added a Badges button to control what badges are shown in the Elements Tab.
- Added a Path column to the Network Tab.
- Added a setting to turn off dimming nodes that aren’t visible on the page in the Settings Tab.
- Added alphabetic sorting of headers in the Network Tab.
- Added Event badges for nodes that have event listeners in the Elements Tab.
- Added OpenGL object IDs in the Canvas inspector of the Graphics Tab.
- Added Scroll badges for scrollable elements in the Elements Tab.
- Added showing relevant special breakpoints in the Pause Reason section of the Sources Tab.
- Added support for user preference overrides in the Elements Tab.
- Added support for console snippets in the Console Tab.
- Added support for editing
@media
,@container
, and@supports
rules in the Styles panel of the Elements Tab. - Added support for editing font variation axes in the Elements Tab.
- Added support for function breakpoints and tracepoints.
- Added support for inline breakpoints in the Sources Tab.
- Added support for nodes that aren’t visible on the page to appear dimmed in the DOM tree of the Elements Tab.
- Added support for per-page network throttling in the Network Tab.
- Added support for showing warnings for synthesized bold or oblique in the Font details sidebar of the Elements Tab.
- Added support for symbolic breakpoints in the Sources Tab
- Added using the Shift key to highlight the initiator or initiated resources in the Network Tab.
Resolved Issues
- Fixed “Inspect Element” not highlighting the element.
- Fixed capturing async stack traces for
queue
.Microtask - Fixed clicking coalesced events in the timeline selecting the wrong event.
- Fixed event breakpoints to support case-insensitive and RegExp matching.
- Fixed sending
Console
instead of an array of.Stack Trace Console
..Call Frame - Fixed slow search with a lot of files in the Open Resource dialog.
- Fixed sorting prefixed properties below non-prefixed properties in the Computed panel of the Elements Tab.
- Fixed the always empty Attributes section in the Node panel of the Elements Tab.
- Fixed the Computed Tab scrolling to the top when a
<style>
is added to the page. - Fixed URL breakpoints to also pause when HTML attributes are set that trigger loads.
- fixed: Improved the visual hierarchy of the Layout sidebar in the Elements Tab.
WebDriver
New Features
- Added support for generateTestReport.
- Added support for shadow roots.
- Added support for the “Get Computed Role” and “Get Computed Label” commands.
- Added support for the
Same
cookie attribute.Site - Added support for typing characters that are represented by multiple code points, including emoji.
Resolved Issues
- Fixed “Get Element Rect” to not round to integer values.
- Fixed automation sessions terminating during navigation.
- Fixed click element failing on iPad when Stage Manager is disabled.
- Fixed HTTP GET requests with a body failing.
- Fixed the Shift modifier key not applying to typed text.
WKWebView
New Features
- Added WKPreferences
should
API to allow clients to specify if a page’s background should be included when printing.Print Backgrounds