Release Notes for Safari Technology Preview 235

Safari Technology Preview Release 235 is now available for download for macOS Tahoe and macOS Sequoia. 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: 304072@main…305083@main.

CSS

New Features

  • Added support for parsing and evaluating name-only @container queries that have no conditions, allowing named containers to match without explicit constraints. (304388@main) (164648718)
  • Added support for math-depth. (305010@main) (167332590)

Resolved Issues

  • Fixed an issue where display: list-item was incorrectly supported on fieldset. (304102@main) (95638460)
  • Fixed baseline handling for table cells when cell has no inflow children. (304477@main) (160774504)
  • Fixed -webkit-line-clamp so that it no longer propagates into inline-block children. (304956@main) (164488778)
  • Fixed an issue where nested identical CSS filter effects were not rendered. (304143@main) (165163823)
  • Fixed ::first-line pseudo-element to always use inline display to match the CSS Display specification. (304096@main) (166068698)
  • Fixed incorrect text selection ranges for truncated right-to-left content. (304821@main) (166944754)

Deprecations

  • Removed the FontFaceSet constructor from the CSS Font Loading API as it was deemed unnecessary, aligning with the CSSWG resolution. (304912@main) (132031306)

Canvas

Resolved Issues

  • Fixed ImageBitmap created from SVG image sources to correctly honor the flipY orientation. (304137@main) (83959718)

Clipboard

Resolved Issues

  • Fixed an issue where using the “Copy Image” context menu in Safari would also copy the image URL, causing some sites to paste the URL instead of the image. (304166@main) (76598990)

Editing

Resolved Issues

  • Fixed incorrect text selection when dragging across pseudo elements. (304719@main) (142905243)
  • Fixed an issue where focusing a hidden editable element would incorrectly display the text cursor and selection at full opacity. (304160@main) (165489471)

Encoding

Resolved Issues

  • Fixed incorrect handling of invalid UTF-8 sequences in the TextDecoder streaming decoder to properly manage partial sequence buffers. (304496@main) (166583808)

Forms

Resolved Issues

  • Fixed an issue where input fields did not display user input while typing . (304311@main) (163613957)

HTML

Resolved Issues

  • Fixed HTMLImageElement.currentSrc to return an empty string for <img src=""> instead of resolving to the document base URL. (304982@main) (167229274)

JavaScript

Resolved Issues

  • Fixed %TypedArray%.prototype.includes to correctly check that the index is less than the array length, aligning its behavior with ECMA-262 (304485@main). (166578170)
  • Fixed %TypedArray%.prototype.includes to correctly check that the index is less than the array length, aligning its behavior with ECMA-262. (304940@main) (167183441)

MathML

New Features

  • Added support for CSS size containment in MathML elements using contain-intrinsic-inline-size and contain-intrinsic-block-size. (304458@main) (166323213)
  • Added support for math-style and math-shift to animate as discrete values. (305017@main) (167369164)

Resolved Issues

  • Fixed incorrect positioning of mpadded content in right-to-left mode. (304087@main) (166045517)
  • Fixed an issue where RenderMathMLRoot did not reset its radical operator when msqrt or mroot children were dynamically added or removed.(304822@main) (166556627)
  • Fixed <mpadded> so that percentage values for width, height, and depth attributes are treated as absent and use content dimensions as defaults, matching the MathML Core specification. (305027@main) (167350169)

Media

Resolved Issues

  • Fixed an issue where changing an HTMLMediaElement volume from 0 to 0 did not activate the audio session or update the sleep disabler. (304297@main) (161691743)
  • Fixed playback of application/ogg blob media. (304530@main) (163119790)
  • Fixed an issue where HTMLMediaElement did not correctly detect new audio or video tracks causing Safari to pause video when leaving a tab. (304336@main) (164514685)
  • Fixed a crash in AudioData.copyTo() when copying the last channel of 3-channel audio. (304728@main) (164730320)
  • Fixed the caption menu’s On option to correctly enable the highest-scoring text track and mark the appropriate language as checked in the subtitle menu. (304462@main) (166158394)
  • Fixed parseSequenceHeaderOBU to return an AV1CodecConfigurationRecord, fully decode the Sequence Header OBU, and capture the complete color profile. (304474@main) (166439682)

Networking

Resolved Issues

  • Fixed a regression where fetch() would throw a TypeError when using targetAddressSpace: 'loopback' for localhost requests. (304577@main) (166574523)

Rendering

Resolved Issues

  • Fixed an issue where overconstrained sticky elements were not properly adjusting their insets when the sticky box rectangle was larger than the viewport. (304335@main) (163654023)
  • Fixed inconsistent text layout when using list-style-type by ensuring outside list markers do not affect intrinsic width calculations. (304947@main) (164650313)
  • Fixed incorrect min and max width calculations for block-level boxes inside inline content. (304170@main) (166157696)
  • Fixed an issue where getClientRects returned an incomplete list of rectangles for inline boxes containing block elements. (304949@main) (167209147)

SVG

New Features

  • Added support for the lighter operator in SVGFECompositeElement IDL to align with the Compositing and Blending specification. (304941@main) (166704079)

Resolved Issues

  • Fixed an issue where stroke-dasharray incorrectly propagated to SVG markers when explicitly marked as ‘0’. (305042@main) (46607685)
  • Fixed an issue where foreignObject elements in SVG incorrectly allowed margin collapsing. (304916@main) (97208795)
  • Fixed an issue where dynamically changing marker-start, marker-mid, or marker-end attributes on SVG elements did not trigger re-rendering. (304880@main) (130678384)
  • Fixed tiling gaps in CSS reference filters using <feDisplacementMap>. (304830@main) (135448018)
  • Fixed behavior to avoid incorrect pruning of SVG mask subtrees based on visibility. (305047@main) (157729389)
  • Fixed an issue where SVG animateTransform animations on hidden elements were triggering full-page rendering updates each frame. (304744@main) (159647563)
  • Fixed SVGLength percentage resolution for elements inside non-instanced <symbol> elements. (304197@main) (165431008)
  • Fixed an issue where SVGLength.value did not update for font-relative units (e.g., ch, em) after changes to writing-mode. (304657@main) (166190252)
  • Fixed missing gradient fills when using paint-order stroke fill. (288788@main) (166997630)
  • Fixed embedded <svg> elements in <img> without an explicit viewBox to synthesize preserveAspectRatio='none' so the SVG stretches to fill the container. (305043@main) (167121931)
  • Fixed the <stop> element offset attribute in SVG to reject invalid values with trailing characters and correctly fall back to 0. (305036@main) (167356988)
  • Fixed the transform order for clipPath elements so that the bounding box is scaled correctly before applying the local transform. (305078@main) (167417135)
  • Fixed incorrect rendering when combining markerUnits=strokeWidth with vector-effect=non-scaling-stroke. (305077@main) (167493417)

Web API

New Features

  • Added support for pointer event and mouse event button support for the back and forward mouse buttons when they are available. (304761@main) (137592588)

Resolved Issues

  • Fixed an issue where IntersectionObserver computed the root rectangle incorrectly when overflow clipping was present. (304296@main) (117143395)
  • Fixed DigitalCredential behavior to make user mediation implicitly required. (304676@main) (165597827)
  • Fixed an issue where the Big5 TextDecoder failed to recover and emit ASCII characters after encountering an invalid leading byte. (304591@main) (166672674)

Web Inspector

New Features

  • Added a context menu option to DOM nodes in the Elements Tab to copy pretty-printed HTML. (304698@main) (102125455)
  • Added support for toggling the visibility of User Agent stylesheet rules in the Elements tab, including hiding related “go-to” arrows in the Computed panel when the setting is disabled. (304627@main) (164265183)
  • Added support for showing actual composited layer snapshots in the 3D Layers view. (304758@main) (164977594)
  • Added support for Web Inspector to fetch CSS property keyword completions based on feature support. (304195@main) (165914089)
  • Added support for displaying Order Numbers in CSS Grid and CSS Grid Lanes overlays in Web Inspector, including new UI settings for toggling order number visibility. (304645@main) (166648769)
  • Added support for visualizing gaps between items in the masonry axis of grid-lanes layouts within the Web Inspector grid overlay. (304861@main) (166984079)

Resolved Issues

  • Fixed the Styles sidebar filter in Web Inspector to be case-insensitive. (304153@main) (36086981)
  • Fixed context menu items to rename Copy HTTP Request and Copy HTTP Response to Copy HTTP Request Headers and Copy HTTP Response Headers for clarity. (304768@main) (117708766)
  • Fixed an issue where the Sources navigation sidebar could be empty when reloading the page. (304221@main) (166141968)
  • Fixed timestamp formatting in the Web Inspector to remove unnecessary trailing .0 values for readability. (304851@main) (166500013)
  • Fixed item order labels in the Web Inspector grid and flex overlays to remove the # symbol, changing from Item #N to Item N. (304771@main) (166767949)

WebAssembly

Resolved Issues

  • Fixed Error.isError(WebAssembly.Exception) to correctly return false based on current WebAssembly spec semantics. (304917@main) (167110254)

WebRTC

Resolved Issues

  • Fixed RTCDataChannelInit to support [EnforceRange] on the maxPacketLifeTime and maxRetransmits fields to align with the WebRTC specification. (304499@main) (133630397)
  • Fixed an issue where RTCDataChannel close events did not fire when RTCPeerConnection was closed. (304859@main) (165617848)