Release Notes for Safari Technology Preview 251
Safari Technology Preview Release 251 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: 317935@main…319386@main.
Accessibility
Resolved Issues
- Fixed SVG anchors without an
hrefbeing exposed as links. (318186@main) (181924326)
CSS
New Features
- Added support for
@supports at-rule(...), which tests if a CSS at-rule is supported. (318482@main) (87884897) - Added support for the
object-view-boxproperty. (318981@main) (132624217) - Added support for
property-scopedandproperty-index-scopedcaching keywords inrandom(). (318960@main) (176395332) - Added support for the
random-item()function. (319180@main) (181816677) - Added support for a comma-separated list of conditions in
@containerqueries. (318233@main) (182249814) - Added support for
white-space-trimin thewhite-spaceshorthand. (318486@main) (182739052) - Added support for external and
data:URLfilterreferences on HTML elements. (317991@main) (183059589) - Added support for
HighlightRegistry.highlightsFromPoint(). (318758@main) (184150480) - Added support for
random()in custom properties. (319039@main) (184715508) - Added support for the
ident()function. (319049@main) (184732904) - Added support for the
inherit()function. (319062@main) (184738624) - Added support for the
corner-shapeproperty. (319205@main) (184950973)
Resolved Issues
- Fixed text overflowing a
max-widthconstrained box when the page is zoomed out, by scaling the minimum font size with the zoom factor. (318509@main) (66569768) - Fixed a background image not being repainted when only the URL fragment identifier changes. (318879@main) (105118256)
- Fixed a subgrid with a large
column-gapoverflowing a parent constrained bymax-width. (318009@main) (137422489) - Fixed nested
@scopepicking the wrong scoping roots when<scope-start>contains:has(:scope ...). (318711@main) (138495467) - Fixed outside list markers disappearing or being mispositioned around line breaks. (318561@main) (159277763)
- Fixed the serialization of the
sizeproperty in@pagewhen both a page size and orientation are given. (318083@main) (162168233) - Fixed the computed value of
outline-offsetnot being snapped as a line width. (319236@main) (180054053) - Fixed a flex item’s flex base size being clamped by its own
min-widthandmax-width. (318264@main) (180064739) - Fixed
:focus-visiblebeing shown after callingfocus()inside an already focused ancestor. (318775@main) (181570771) - Fixed multi-column height ignoring
min-heightwhen it exceedsmax-height. (318676@main) (182381903) - Fixed scroll snap selecting among equally aligned snap targets in the wrong order. (317997@main) (182571341)
- Fixed
text-underline-offsetbeing mispositioned for highlighted text in vertical writing modes. (318107@main) (182889143) - Fixed the serialization of an unrecognized media query to preserve the original text as closely as possible. (318627@main) (182958311)
- Fixed the serialization of an unrecognized media query feature name to preserve the original casing. (318965@main) (183065105)
- Fixed
@containerstyle queries evaluating root-relative lengths incorrectly. (318144@main) (183094796) - Fixed the originating element of
::part()in@containerqueries to be the element itself. (318620@main) (183154183) - Fixed an anti-aliased fringe on
::highlight()background fills in vertical writing modes. (318177@main) (183496114) - Fixed the first baseline of a
wrap-reverseflex container coming from the wrong flex line. (318154@main) (183516222) - Fixed a flex line’s cross size mixing the
baselineandlast baselinealignment groups. (318165@main) (183536181) - Fixed the
-webkit-border-imagewidth flag being lost when a length edge precedes a non-length edge. (318214@main) (183584830) - Fixed rounding of central baselines for atomic inline elements. (318268@main) (183584888)
- Fixed the
block-ellipsisof a clamped block being styled from the wrong block formatting context. (318437@main) (183606151) - Fixed
::highlight()pseudo-elements not inheriting from the parent element’s highlight. (318779@main) (183702060) - Fixed
clipon a child being ignored when determining whether an ancestor’s background is obscured. (318636@main) (183841775) - Fixed
var()not behaving as an arbitrary substitution function. (318912@main) (183913427) - Fixed line-height units resolving incorrectly when the page is zoomed. (318558@main) (184032914)
- Fixed the computed value of
line-heightto more closely match how it was specified. (318710@main) (184232888) - Fixed
font-*properties resolving font-relative units against their own font instead of the parent element’s font metrics. (319052@main) (184336424) - Fixed the
rangeStartandrangeEndanimation attributes accepting length values that are not computationally independent when set from script. (318815@main) (184363719) - Fixed
-webkit-text-strokenot applying to highlighted text. (318976@main) (184375039) - Fixed the
ViewTimelineOptionsinsetmember accepting length values that are not computationally independent when set from script. (318883@main) (184504829) - Fixed
::highlight()not repainting after a CSS rule change. (319169@main) (184643272) - Fixed
::highlight()not repainting when a highlight’s range is changed withCSS.highlights.set(). (319154@main) (184672580) - Fixed a
@functionbody not inheriting computed custom property values from the calling context. (319031@main) (184701762) - Fixed arguments that invoke a
@functionbeing treated as a cycle. (319034@main) (184711017) - Fixed the
random()caching key not including the custom property name. (319096@main) (184722866) - Fixed an
auto<random-key>not being element-scoped, so every element shared the same item. (319153@main) (184845561)
Deprecations
- Removed the non-standard
percentagevalue from-webkit-line-clamp. (318858@main) (159808285) - Removed
margin-trimsupport from flex containers, following the CSSWG resolution limiting it to block and multi-column containers. (318654@main) (184151309) - Removed
margin-trimsupport from grid containers, following the CSSWG resolution limiting it to block and multi-column containers. (318690@main) (184164505)
Canvas
Resolved Issues
- Fixed
ctx.fontnot re-resolving relative font sizes when set to the same string after the canvas element’s style changed. (318753@main) (184194378) - Fixed the canvas
fontkeywordslargerandsmallerscaling by 1.02 instead of approximately 1.2. (318798@main) (184312611)
HTML
New Features
- Added support for
popover=hint. (318958@main) (184548373)
Resolved Issues
- Fixed a color input with
display: nonenot opening when its<label>is clicked. (318723@main) (100476630) - Fixed
createContextualFragment()leaving nested<head>and<body>elements behind when stripping a stray<html>element. (317962@main) (183163523) - Fixed a
<label>default action triggering when clicked interactive content removes itself. (318827@main) (184381262) - Fixed clicking an element nested inside a checkbox or radio input wrongly activating the ancestor input. (318853@main) (184441087)
- Fixed focus not being restored to the correct element when a
<dialog>is closed. (319173@main) (184751412) - Fixed confirming an IME composition removing its containing positioned element. (319167@main) (184918934)
JavaScript
New Features
- Added support for
Iterator.prototype.includes(). (318184@main) (173846280) - Added support for the RegExp Buffer Boundaries proposal. (318415@main) (178287060)
- Added support for era and
monthCodefields inIntlandTemporalcalendars. (318428@main) (182753821) - Added support for the
traceStackoption onWebAssembly.Exceptionand forException.stack. (318397@main) (183342491) - Added support for WebAssembly Memory64. (318257@main) (183543404)
- Added support for deferred module evaluation with
import defer. (318481@main) (183892394) - Added support for
Iterator.prototype.join(). (318502@main) (183892495) - Added support for iterator chunking, including
Iterator.prototype.chunks()andIterator.prototype.windows(). (318479@main) (183892687) - Added support for the joint iteration proposal, including
Iterator.zip()andIterator.zipKeyed(). (318477@main) (183892768) - Added support for importing text modules with an import attribute of
type: text. (318950@main) (184443879)
Resolved Issues
- Fixed a regular expression with
^inside a group that can match empty failing to anchor the pattern. (317981@main) (183300022) - Fixed incorrect matching for sticky regular expressions wrapped in
.*. (317983@main) (183300106) - Fixed a
JSON.stringify()regression in howtoJSONis checked. (318072@main) (183400665) - Fixed
Iterator.zipto use null-prototype objects for its options object and synthetic underlying iterator. (318061@main) (183418070) - Fixed incorrect matching for regular expressions containing a negative lookahead. (318234@main) (183601444)
- Fixed module resolution ignoring the import attribute type in a module request. (318292@main) (183700464)
- Fixed the
Array.from()fast path ignoring aSymbol.iteratoroverride onset.keys()andset.values(). (318374@main) (183801651) - Fixed stale character widths produced by
vmode class set operations in regular expressions. (318416@main) (183879621) - Fixed incorrect matching for regular expressions containing a lookbehind. (318418@main) (183881829)
- Fixed
Temporal.PlainDateconstruction with years outside the supported range. (318504@main) (183960408) - Fixed a
TypeErrorregression when passingmonthCodetoTemporalcalendar methods. (318566@main) (183980712) - Fixed the order in which
Temporalconstructors readnewTarget.prototype. (318635@main) (184072358) - Fixed the
String.prototype.localeCompare()collator cache going stale after a language change. (318616@main) (184096794) - Fixed
Temporalskipping the epoch range check when resolving a time inside a daylight saving time gap. (318663@main) (184140083) - Fixed
Temporaltime zone identifier parsing to match the specification’s parse records. (318741@main) (184169471) - Fixed
Array.prototype.sort()not being stable when called without a comparator. (318682@main) (184189734) - Fixed global object attribute getters and setters throwing when called as bare functions from global scope. (318748@main) (184273476)
- Fixed
Iterator.prototype.join()to match the latest specification. (318806@main) (184321382) - Fixed
Iterator.prototype.chunks()andIterator.prototype.windows()to match the latest specification. (318802@main) (184321801) - Fixed
Intl.Localecollections not being sorted. (318808@main) (184322384) - Fixed
formatToParts()omitting the era separator thatformat()inserts. (318847@main) (184382546) - Fixed the
import deferimplementation to match the updated proposal. (318875@main) (184423667) - Fixed
\P{...}on the right side of avmode&&or--operation being treated as a union. (318854@main) (184443379) - Fixed
Temporal.Durationrounding decisions being made on doubles instead of exact integers. (318901@main) (184472920) - Fixed non-ISO calendar date field resolution at the edges of the supported range. (318940@main) (184478785)
- Fixed
Temporalreturning plausible values instead of throwing when an underlying calendar operation fails. (318953@main) (184567556) - Fixed a regular expression string-list alternative containing a non-BMP character matching on only its leading code units. (318956@main) (184582034)
- Fixed the
WebAssembly.Globalvaluesetter not treating a missing argument asundefined. (318967@main) (184608074) - Fixed Unicode property escapes ignoring case-insensitive matching in
uandvmodes. (319064@main) (184762230) - Fixed the Before Hijra era year being computed from rendered text instead of the calendar. (319172@main) (184853584)
Media
New Features
- Added support for
HTMLMediaElement.removeTextTrack(). (318250@main) (183365541)
Resolved Issues
- Fixed WebVTT cue overlap avoidance to move a cue the shortest possible distance. (318012@main) (183151333)
- Fixed legacy EME
generateKeyRequest()returning an incorrect destination URL. (317970@main) (183305929) - Fixed
requestFullscreen()andrequestPictureInPicture()not consuming user activation. (318673@main) (183621577) - Fixed selecting On in the media controls captions menu not turning on subtitles. (318468@main) (183776073)
- Fixed
MediaRecorderdropping pending video frames when recording is stopped. (318595@main) (183975207) - Fixed the auto position of a WebVTT cue with
startorendtext alignment to be 50%. (318610@main) (184039946) - Fixed
MediaRecorderdropping a frame whenever the writer input reports that it is not ready. (318778@main) (184271782)
Navigation API
New Features
- Added support for the
toproperty onNavigationTransition. (319142@main) (184792753) - Added support for intercepting a navigation with a precommit handler. (319208@main) (184893603)
Resolved Issues
- Fixed
sourceElementreporting the deepest clicked element instead of the element responsible for the navigation. (319005@main) (184581613) - Fixed
NavigationHistoryEntryreturningnullinstead of the empty string forurl,key, andidwhen the document is not fully active. (319007@main) (184590003) - Fixed
navigateEvent.scroll()not scrolling to the beginning of the document when the fragment does not exist. (319068@main) (184595100) - Fixed
navigation.activation.fromnot beingnullwhen navigating away from the initialabout:blank. (319217@main) (184624752) - Fixed
navigateerrornot firing for a navigation started from anavigateerrorhandler. (319222@main) (184633618)
Networking
New Features
- Added support for backpressure when uploading a stream request body with
fetch(). (318236@main) (183400867)
Resolved Issues
- Fixed a same-frame fragment navigation cancelling a download started by a
downloadattribute click in the same task. (319105@main) (165498647) - Fixed a page reloading continually by tracking the latest navigation action when considering Enhanced Security state changes. (318304@main) (183480452)
- Fixed
XMLHttpRequest.getAllResponseHeaders()returning the previous response’s headers when the object is reused. (318217@main) (183561750) - Fixed
XMLHttpRequest.responseURLstill returning the aborted request’s URL after callingabort(). (318241@main) (183587043) - Fixed the CNAME-cloaking cookie expiry cap being applied to a top-level page’s own cookies instead of only subresources. (318332@main) (183664485)
- Fixed
XMLHttpRequest.send()setting aContent-Typerequest header onGETandHEADrequests when passed aURLSearchParams. (318424@main) (183801778) - Fixed
imagesrcsetnot overridinghrefon<link rel="preload" as="image">. (318544@main) (183945535) - Fixed
<link rel=preload as>keywords not being matched ASCII case-insensitively. (318584@main) (184013239) - Fixed PDF byte-range requests being blocked by the
connect-srcContent Security Policy directive instead ofobject-src. (318797@main) (184258237) - Fixed a Content Security Policy
host-sourceof the form*:*/pathnot matching. (318612@main) (184902666) - Fixed a policy decision that outlives its navigation being applied to an unrelated load. (319378@main) (184974939)
Rendering
Resolved Issues
- Fixed text selection highlighting extending incorrectly when a float precedes the text. (319128@main) (109610452)
- Fixed text underlines rendering incorrectly for Urdu text. (319220@main) (161299983)
- Fixed a regression where editing text in some inputs stopped responding to backspace. (318095@main) (183391399)
- Fixed
text-align: justifyjustifying the last line of a block. (318562@main) (183976364) - Fixed Arabic letters in adjacent inline boxes not being joined. (319209@main) (184071471)
- Fixed a self-collapsing block nested in an inline box losing its margin when the root has a border. (318646@main) (184145672)
- Fixed trailing whitespace not being collapsed before a block nested in an inline box. (318653@main) (184151239)
- Fixed baseline alignment ignoring the offset of a block level box nested in an inline box. (318656@main) (184153324)
- Fixed an empty orthogonal block nested in an inline box stretching the line. (318659@main) (184158817)
- Fixed the margin after a block level box on a line being lost on relayout. (318660@main) (184159645)
- Fixed an empty editable container with only an out-of-flow child losing its line. (318671@main) (184176269)
- Fixed a float inside a block nested in an inline box intruding at the wrong position. (318678@main) (184184683)
- Fixed the baseline of an inline-block whose last line box holds a block level box dropping that line’s offset. (318702@main) (184222186)
- Fixed nested inline boxes around a block level box being stretched by their nesting depth. (318704@main) (184222677)
- Fixed an inline box with cloned decorations generating an extra line between two block level boxes. (318718@main) (184241600)
- Fixed a block whose content is a table being treated as self-collapsing. (318782@main) (184337051)
- Fixed a block level box’s margin after being counted twice when only that box needs layout. (318792@main) (184344633)
- Fixed an outside list marker making its list item’s children inline. (318891@main) (184380304)
- Fixed an excluded list marker aligning with a block level box on a line instead of the first line of text. (318908@main) (184405037)
- Fixed a block level box on a line reporting its scrollable overflow at its static position. (318885@main) (184505703)
- Fixed a block level box on a line not starting a new paragraph for
unicode-bidi: plaintextandtext-indent: each-line. (318886@main) (184505835) - Fixed a highlight on the line after a block level box covering the box’s margin. (318887@main) (184506039)
- Fixed a block level box on a line switching off
text-wrap: balancefor the whole container. (318893@main) (184508888) - Fixed inline boxes that are not relatively positioned offsetting their out-of-flow children by the position of the line. (318897@main) (184512485)
- Fixed a block level box on a line not contributing its margin box to its container’s overflow. (318906@main) (184526625)
- Fixed list-based hit testing reporting the container before a block level box on an earlier line. (318909@main) (184527135)
- Fixed selection gaps not being filled around a block level box on a line. (318911@main) (184527621)
- Fixed
line-clampnot counting the lines of a block level box on a line. (318921@main) (184545926) - Fixed a forced page break after a block level box on a line not moving the following content to the next page. (319029@main) (184712866)
- Fixed a float not being offered to the caret when its container has a block level box on a line. (319030@main) (184713698)
- Fixed a
<fieldset>on a line taking its legend’s overhang twice. (319033@main) (184714637) - Fixed a box that collapsed through with clearance on a line pushing the following content down by its margin. (319160@main) (184917509)
- Fixed intrinsic width computation when a line holds a block level box. (319212@main) (184968113)
SVG
New Features
- Added support for external and
data:URLfilterreferences on SVG elements. (317538@main) (114823248) - Added support for passing a
DOMMatrix2DInitdictionary toSVGMatrix.multiply(). (318109@main) (180896205) - Added support for external SVG resource references, including
clip-path,marker, and paint servers. (318543@main) (183941298)
Resolved Issues
- Fixed
autosizing of<svg:image>to follow the CSS default sizing algorithm. (318548@main) (122586485) - Fixed
SVGSVGElement.currentScalebeing a no-op on an outermost<svg>that is not the document root. (318762@main) (180889449) - Fixed
SVGLength.valuereturning negative numbers forr,rx,ry,width,height, andtextLength, which disagreed withgetComputedStyle(). (317963@main) (181108927) - Fixed a
clip-pathbasic shape being mispositioned on a<foreignObject>with a non-zeroxory. (318904@main) (182755161) - Fixed
feDropShadowignoring an update to the Y component ofstdDeviationwhen X changes. (318281@main) (183678196) - Fixed
<animateMotion>ignoring a numericrotatevalue. (318565@main) (183832405) - Fixed SVG enumerated attributes not reverting to their initial value when removed or set to an invalid value. (319093@main) (184076505)
- Fixed dynamic changes to
xandyon<foreignObject>having no effect. (318669@main) (184172530) - Fixed a
clip-pathbasic shape being mispositioned on a rotated or scaled SVG element. (318924@main) (184494108) - Fixed
<animateMotion>ignoring a zero-length motion path. (318963@main) (184569273)
Deprecations
- Removed the
SVGPathSegListcollection and theSVGPathSegfamily of interfaces fromSVGPathElement, matching SVG 2. (318760@main) (115039851)
Scrolling
Resolved Issues
- Fixed re-snapping to prefer the block-axis box when the two scroll axes conflict. (318343@main) (183366125)
- Fixed scroll snapping when a scroll overshoots past the end of the scroll container. (318081@main) (183375912)
- Fixed
element.scroll()andelement.scrollTo()not scrolling inside acontent-visibility: hiddensubtree. (319219@main) (184935071)
Service Workers
New Features
- Added support for service workers reading stream upload data from a fetch event request body. (317964@main) (183108477)
- Added support for stream upload backpressure when a service worker reads the upload data. (318346@main) (183529369)
Resolved Issues
- Fixed a missing
Sec-Fetch-Destheader on service worker script requests. (318237@main) (181909962) - Fixed network fallback being allowed after a fetch event request body was already disturbed. (318042@main) (183125740)
- Fixed cancellation of a fetch event request body not being propagated to the original
ReadableStream. (318043@main) (183317580)
Web API
Resolved Issues
- Fixed: Improved the
InvalidStateErrormessage thrown by selection methods to explain what is invalid. (318520@main) (134645414) - Fixed a missing
resizeevent when an iframe transitions fromdisplay: noneto visible. (318713@main) (174638256) - Fixed
timeOriginbeing skewed for Navigation Timing entries when the browsing context group changes. (318057@main) (179332119) - Fixed the Digital Credentials API to consume transient activation before serializing the request. (318122@main) (182412996)
- Fixed the Cookie Store API not preserving the order of the cookie change subscription list. (318087@main) (183271849)
- Fixed notifications after the first persistent one not being closed. (318007@main) (183362637)
- Fixed
getBoundingClientRect()returning a non-zero rect for SVG elements inside hidden containers. (318744@main) (183425103) - Fixed quota accounting over-charging positioned writes through a
FileSystemWritableFileStream. (318130@main) (183489019) - Fixed an Apple Pay deferred payment request being dropped when the payment method changes. (318155@main) (183516996)
- Fixed Cache Storage size accounting underflowing and persisting a corrupt size. (318204@main) (183578693)
- Fixed
FileReader.abort()being silently ignored on a reader reused after a completed read. (318288@main) (183695958) - Fixed MathML and SVG elements not resetting
tabIndexwhentabindexis changed to an invalid value. (318303@main) (183696552) - Fixed fullscreen state not being unwound when entering fullscreen fails. (319243@main) (184157871)
- Fixed the
SharedWorkerGlobalScopeprototype not being an immutable prototype exotic object. (318684@main) (184190755) - Fixed the
scrollendevent not firing when wheel-scrolling a subframe. (318805@main) (184352772)
Web Audio
Resolved Issues
- Fixed a loss of precision in
exponentialRampToValueAtTime()caused by accumulating the ramp value. (317955@main) (124498013) - Fixed
decodeAudioData()failing with anEncodingErrorfor valid M4A files whoseftypbrand is notmp4. (318005@main) (183148186) - Fixed
registerProcessor()error messages so they name the offendingAudioParaminstead of the processor. (317948@main) (183189781) - Fixed an
OscillatorNodewith a-rate automation starting out of phase by honoring sub-sample start times. (317953@main) (183194827) - Fixed the
AudioBufferSourceNodeoutput channel count to account for whether the node is actively processing. (317956@main) (183245229) - Fixed stale audio being played instead of silence when the audio destination ring buffer underruns. (317968@main) (183305574)
- Fixed an
AudioScheduledSourceNodenot firing theendedevent when it is not connected to the destination. (318515@main) (183986981) - Fixed a k-rate
AudioParaminput toAudioBufferSourceNode.detunediverging from the equivalent automation. (318516@main) (183987621) - Fixed
AudioContext.close()not rejecting when called on an already-closed context. (318522@main) (183989479) - Fixed
AudioWorkletGlobalScope.currentFramereporting0for a worklet created while the context is suspended. (318601@main) (184081765) - Fixed an
AudioWorkletProcessorbeing torn down too early afterprocess()returnsfalse. (318621@main) (184107806) - Fixed the
AudioWorkletNodeprocessorerrorevent missingfilename,lineno, andcolno. (318705@main) (184224032) - Fixed
MediaStreamAudioSourceNodecapturing the wrong track and continuing to play after the track ends. (318706@main) (184224142) - Fixed a zero-duration
exponentialRampToValueAtTime()at a non-frame-aligned time renderingNaN. (318868@main) (184434164) - Fixed setting
ConvolverNode.buffertonullnot releasing the impulse response. (318870@main) (184434803) - Fixed reverse playback of buffers longer than 2^23 frames extrapolating outside the source samples. (318869@main) (184439324)
Web Extensions
New Features
- Added support for wildcard domains and subdomains in
externally_connectable.matches. (318361@main) (183642164) - Added support for
setAccessLevel()on thelocalandsyncstorage areas. (318980@main) (183680404) - Added support for
scripting.ExecutionWorld. (319009@main) (184284891)
Resolved Issues
- Fixed several inconsistencies in the
browser.alarmsAPI. (318493@main) (183770530) - Fixed a significant delay loading web extensions when the browser is launched cold. (318756@main) (183827503)
Web Inspector
New Features
- Added icons for recorded WebGL and WebGPU actions in the Canvas tab. (318517@main) (42777850)
- Added support for recording WebGPU devices in the Canvas tab. (318407@main) (183538409)
- Added support for instrumenting WebGPU devices in the Canvas tab. (318336@main) (183757645)
- Added support for WebGPU content previews in the Canvas tab. (318363@main) (183785306)
- Added support for instrumenting WebGPU pipelines in the Canvas tab. (318366@main) (183790749)
- Added support for disabling WebGPU render pipelines in the Canvas tab. (318403@main) (183857257)
- Added support for using the WebGPU label of devices and pipelines as their name in the Canvas tab. (318409@main) (183876768)
- Added support for exposing client metadata for WebGPU devices. (318467@main) (183939079)
- Added support for recording WebGL extension actions in the Canvas tab. (318474@main) (183945866)
- Added support for mapping WebAssembly byte offsets to original sources with source maps. (318546@main) (184017160)
- Added support for editing WebGPU shaders in the Canvas tab. (318633@main) (184128414)
- Added support for highlighting WebGPU render pipelines in the Canvas tab. (318668@main) (184169419)
- Improved the estimated memory use reported for WebGL and WebGPU canvases to include their graphics resources. (318915@main) (184535731)
- Added support for recording object arguments and result objects in the Canvas tab. (319059@main) (184759172)
- Added support for showing names for recorded WebGPU bitfields. (319174@main) (184928178)
- Added support for snapshotting WebGPU element image copies. (319176@main) (184928370)
- Added syntax highlighting to recording actions in the Canvas tab. (319189@main) (184936730)
Resolved Issues
- Fixed canvas recordings retaining memory by pruning recordings that are no longer in use. (318613@main) (35893620)
- Fixed searching resources returning duplicate results for the same resource. (319061@main) (42879586)
- Fixed resource data for non-buffered resources persisting across navigations. (318035@main) (181210169)
- Fixed WebAssembly module scripts not being associated with the resource that fetched them. (318207@main) (183583149)
- Fixed stale frame navigation event timestamps being shown after initializing. (318213@main) (183584784)
- Fixed a selected details sidebar panel not being restored when it becomes available again. (318353@main) (183778380)
- Fixed detaching a child frame also detaching its parent frame. (318355@main) (183778531)
- Fixed stale execution contexts being kept when their identifiers change. (318356@main) (183779166)
- Fixed response end times being dropped for resources without request timing data. (318360@main) (183783292)
- Fixed recorded WebGPU object arguments not being swizzled correctly. (318545@main) (184017109)
- Fixed missing
console.record()options being treated as if they were present. (318555@main) (184029716) - Fixed recorded object identifiers colliding by assigning them per type. (318567@main) (184040370)
- Fixed configured WebGPU
<canvas>elements not being distinguished from CSS canvas client nodes. (318794@main) (184346714)
WebCodecs
New Features
- Added support for the WebCodecs
ImageDecoderAPI. (319179@main) (184857272)
WebGPU
Resolved Issues
- Fixed a WGSL miscompilation when swizzling a packed
vec3value. (318098@main) (183426431) - Fixed a large frame-rate drop when
executeBundles()is called with bundles containing indirect draws. (318538@main) (183458069) - Fixed
textureDimensions(t, level)clamping the mip level one past the last valid level. (318273@main) (183673818) - Fixed
GPUQueue.copyExternalImageToTexture()uploading indexed PNG images incorrectly. (318952@main) (184529653)
WebRTC
New Features
- Added WebRTC AV1 software fallback support. (317986@main) (182789617)
Resolved Issues
- Fixed a valid current value being ignored when both
minandmaxare given in a capture constraint range. (318046@main) (182968516) - Fixed
setSinkId()reporting success without switching audio output for a single-track MediaStream. (318149@main) (183147942) - Fixed
getUserMedia()interrupting the microphone system-wide whenechoCancellationis disabled. (318164@main) (183517329) - Fixed
ImageCapture.takePhoto()failing permanently after a single transient capture error. (318260@main) (183640839)