Technology
Safari Technology Preview 248 Released
Key Points
Release Notes for Safari Technology Preview 248 Safari Technology Preview Release 248 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update. This release includes WebKit changes between: 315567@main…316817@main.
Release Notes for Safari Technology Preview 248
Safari Technology Preview Release 248 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update.
This release includes WebKit changes between: 315567@main…316817@main.
Accessibility
Resolved Issues
- Fixed VoiceOver on Safari unable to navigate to content revealed by disclosure widgets using
hidden="until-found"
. (315964@main) (173228707) - Fixed stale
aria-labelledby
when the referenced element dynamically changes itsaria-label
. (316316@main) (180319221)
CSS
New Features
- Added support for forwarding missing color components when interpolating between analogous color spaces. (315569@main) (180239320)
- Added support for the
no-clamp
option on the CSSprogress()
function. (315977@main) (180473472)
Resolved Issues
- Fixed serialization of various CSS at-rules not escaping identifiers. (315795@main) (178750383)
- Fixed
:last-child
and related selectors incorrectly gating on parser state outside of style resolution. (316495@main) (178879939) - Fixed changing the
color-scheme
of an
not invalidating the appearance of the embedded document. (316467@main) (179177141) - Fixed CSS scroll snap re-snap to prefer the fragment-targeted (
:target
) snap area over other aligned snap targets. (315880@main) (180108825) - Fixed the CSS preload scanner failing to preload
@import
rules that follow an@layer
statement rule. (315576@main) (180170656) - Fixed serialization of
CSSViewTransitionRule
. (315614@main) (180170814) - Fixed
MediaList.deleteMedium()
to parse its argument as a media query and remove all matching queries. (315579@main) (180270019) - Fixed
MediaList.appendMedium()
to parse its argument as a single media query and suppress duplicates. (315594@main) (180291283) - Fixed grid items with
stretch
orfit-content
preferred sizes computing incorrect minimum-content contributions when sizing tracks. (316296@main) (180748205) - Fixed inserting a CSS rule while a view transition is active causing the group animation to snap to its final state. (316436@main) (181100818)
- Fixed CSS
var()
to only resolve its fallback when the first argument resolves to the guaranteed-invalid value. (316280@main) (181114298) - Fixed navigating away from a render-blocked document before its first rendering opportunity incorrectly firing
pagereveal
and starting an outbound cross-document view transition. (316446@main) (181191512)
Editing
Resolved Issues
- Fixed drag images of DOM elements with CSS transforms not rendering correctly. (316077@main) (99614217)
- Fixed opaque DOM mutations coming from dictation on iOS. (316049@main) (163454428)
- Fixed deletion in an editable table leaving an empty trailing table row behind. (315990@main) (180877315)
- Fixed vertical caret movement in editable content ignoring the requested editable-type parameter. (316241@main) (181000174)
Forms
Resolved Issues
- Fixed the concentric inner-button corner radius on horizontal text form controls incorrectly ignoring the bottom inset. (316022@main) (180869927)
Images
Resolved Issues
- Fixed a regression where RGB gain map images were decoded to 8 bits per channel, causing a color shift and incorrect brightness. (316069@main) (179152566)
- Fixed handling of the gain-map target pixel format when decoding HDR images to fall back safely when the format cannot be parsed. (316405@main) (181180757)
JavaScript
New Features
- Added support for the TC39 BigInt Math proposal, exposing
Math
-equivalent methods onBigInt
such asBigInt.pow
andBigInt.sqrt
. (315974@main) (152472996)
Media
Resolved Issues
- Fixed
<audio>
and<video>
controls rendering incorrectly when rotated via CSS transform. (315718@main) (37516619) - Fixed subtitles and closed captions not appearing in fullscreen video on iPhone. (315789@main) (175298523)
- Fixed ArrayBuffer-backed YUV
VideoFrame
with avisibleRect
rendering with offset chroma channels. (315742@main) (180202939) - Fixed video playback of streams from certain sources such as security cameras not working. (315774@main) (180411019)
- Fixed transient device rotation resulting in captured video frames having the wrong orientation. (315821@main) (180429147)
- Fixed Media Source Extensions playback and seek by loosening the gap tolerance between buffered ranges. (316146@main) (180439090)
Navigation
Resolved Issues
- Fixed a
<meta http-equiv="refresh">
to a URL differing only in fragment identifier being incorrectly treated as a page reload. (316001@main) (176933795)
Networking
Resolved Issues
- Fixed URL path separators being encoded as
%2F
following a percent-encoded Armenian path segment. (315627@main) (180067095)
Rendering
Resolved Issues
- Fixed the background of a composited
<html>
element not being repainted when the<body>
background changed. (316415@main) (177975964) - Fixed a regression where block-axis padding on a
flex
column container withoverflow: auto
was excluded fromscrollHeight
. (315813@main) (179376053) - Fixed an issue where an
<img>
embedding an SVG with a near-integral intrinsic width rendered one device pixel narrower than expected. (315807@main) (180490343) - Fixed elements with
filter: drop-shadow()
not being fully repainted when a child is resized. (316450@main) (181284741)
SVG
Resolved Issues
- Fixed SVG SMIL length animations to reject invalid
to
,from
, andby
values such as those with leading whitespace. (315949@main) (118537155) - Fixed Unicode text with complex scripts not rendering correctly along a curved
<textPath>
. (316144@main) (120284006) - Fixed
SVGLength.convertToSpecifiedUnits()
failing when converting frompx
to%
,em
, orex
. (315953@main) (172056830) - Fixed SVG geometry presentation attributes like
cx
,cy
,r
,rx
,ry
,x
,y
,width
, andheight
being incorrectly applied to elements such as<g>
on which they are not permitted. (315946@main) (175672111) - Fixed an issue where the per-character
rotate
attribute was discarded on a<textPath>
, so it now composes with the path tangent angle. (315786@main) (178044478) - Fixed several SVG styling spec-compliance failures. (316174@main) (181052042)
- Fixed dynamic changes to
orient
andmarkerUnits
on<marker>
not repainting elements that reference it. (316350@main) (181106538) - Fixed SVG SMIL
number
,integer-optional-integer
,number-optional-number
, andpath
animations to not apply when theirfrom
,to
, orby
values fail to parse. (316468@main) (181308150)
Scrolling
Resolved Issues
- Fixed CSS scroll snap points inside zero-sized elements not working correctly. (315948@main) (172863699)
- Fixed CSS scroll snap re-snap to prefer a snap area that contains the focused or fragment-targeted element. (315927@main) (180707984)
Security
Resolved Issues
- Fixed a regression where some websites failed to display and logged Content Security Policy errors in the console. (316290@main) (179684592)
- Fixed same-page navigations being incorrectly checked against Content Security Policy. (315759@main) (180342503)
- Fixed Content Security Policy
frame-ancestors
violations in report-only policies being ignored instead of reported. (315753@main) (180447621) - Fixed Content Security Policy parsing to reject trailing characters after the closing quote on
nonce-source
andhash-source
values. (316008@main) (180903857) - Fixed Content Security Policy
trusted-types
expressions to reject trailing characters after keywords and the wildcard. (316089@main) (180973793)
Storage
Resolved Issues
- Fixed an issue where IndexedDB transactions could be blocked for an extended period before starting when another page’s transaction was suspended in the background. (315609@main) (178769599)
Web API
Resolved Issues
- Fixed the Async Clipboard API to request paste access asynchronously. (315997@main) (75969974)
- Fixed Digital Credentials to surface
OperationError
for platform-cancellation and unknown errors instead ofAbortError
orUnknownError
. (315973@main) (174308268) - Fixed Digital Credentials rejecting with the wrong error code and synchronously; rejections are now queued as a task with the correct error. (315895@main) (174895437)
- Fixed
KeyboardEvent.getModifierState("AltGraph")
andMouseEvent.getModifierState("AltGraph")
always returningfalse
. (315804@main) (180597374) - Fixed
Credential.type
returning"digital-credential"
instead of"digital"
for digital credentials. (315891@main) (180618646) - Fixed aborting
navigator.credentials.get()
leaving the digital-credentials document picker stuck on screen. (316494@main) (180812397) - Fixed
FileReader.readAsText()
ignoring thecharset
parameter of theBlob
‘s MIME type. (315996@main) (180890703)
Web Inspector
Resolved Issues
- Fixed showing ES2022 class private fields, methods, and accessors when inspecting object instances in the Console. (316171@main) (88527162)
- Fixed symbolic breakpoints in the debugger so they work with intrinsic functions. (315713@main) (99037335)
- Fixed a JavaScript breakpoint on a line containing only a semicolon not being triggered. (316519@main) (126707973)
- Fixed the Console REPL to allow redefinition of variables declared with
let
andconst
. (316523@main) (143140659) - Fixed the Timeline exporting and importing the wrong timestamp for
performance.mark()
records. (316073@main) (145226764) - Fixed local response overrides mapped to a file being interpreted as Latin-1 (ISO-8859-1) instead of their actual encoding. (316074@main) (149847746)
- Fixed the Media Logging setting not persisting across page loads. (315758@main) (154766890)
- Fixed symbolic breakpoints to work with native constructors such as
Array
,Date
,EventTarget
, andWorker
. (316262@main) (157178256) - Fixed missing stack traces for MIME type errors when importing modules. (316529@main) (169396940)
- Fixed the Accessibility sidebar being empty for nodes inside cross-origin iframes. (316399@main) (178562336)
- Fixed inline style invalidation to batch
DOM.getAttributes
commands per tick in cross-origin iframes instead of issuing one command per node. (316487@main) (178830496) - Fixed DOM Storage read and write commands to resolve against the frame’s own origin in cross-origin iframes. (316501@main) (179249711)
- Fixed a moved breakpoint reverting to its original location after closing and reopening Web Inspector. (315585@main) (180083858)
- Fixed showing the formatted parameters string for prototype objects such as
Map.prototype
. (315599@main) (180298712) - Fixed missing formatted parameter strings for object shorthand methods and arrow functions. (315723@main) (180466459)
- Fixed an unnecessary colon appearing in front of non-class function properties. (315731@main) (180476445)
- Fixed a self-canceling ternary that produced an incorrect cross-axis direction in the flex overlay. (316429@main) (181198803)
- Fixed the color picker force-converting picked colors to Display P3. (316419@main) (181201503)
- Fixed
Page.searchInResources
silently omitting cache-backed resources from search results. (316421@main) (181202027) - Fixed duplicate invalid CSS declarations both incorrectly displaying as Active in the Styles sidebar. (316418@main) (181203080)
- Fixed adopted constructable stylesheets being misclassified as User Agent stylesheets in cross-origin iframes. (316433@main) (181204768)
- Fixed an unsigned underflow that caused the DOM agent to spuriously report power-efficient playback. (316443@main) (181205602)
- Fixed
Network.setExtraHTTPHeaders
to replace previously set headers instead of accumulating them. (316444@main) (181282814)
WebDriver
New Features
- Added WebDriver support for the Digital Credentials API, including commands to simulate wallet payloads, indefinite waits, and user rejection. (316435@main) (168941907)
WebRTC
Resolved Issues
- Fixed the WebProcess
AudioSession
to remain active while microphone capture is live. (316394@main) (180505014) - Fixed the
configurationchange
event being dropped when a source-side change occurred while aMediaStreamTrack
was muted; the event is now deferred until unmute. (316301@main) (180728609)