Release Notes for Safari Technology Preview 246

Safari Technology Preview Release 246 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: 313555@main…315033@main.

Accessibility

Resolved Issues

  • Fixed an issue preventing VoiceOver from following focus() calls for newly added elements. (313425@main) (177167634)
  • Fixed role computation for elements with prefixes. (314273@main) (178399441)

CSS

New Features

  • Added support for <image> values in light-dark(<image>, <image>). (314244@main) (172290840)
  • Added support for using the CSS attr() substitution function on pseudo-elements with non-trivial originating elements. (313684@main) (177595332)
  • Added support for image(<color>) in the <image> value type. (314204@main) (178189616)
  • Enabled the font-variant-emoji property in preview. (314117@main) (178193814)
  • Enabled word-break: auto-phrase in preview. (314118@main) (178193962)
  • Added support for color-mix() with more than two colors. (314272@main) (178349405)
  • Added support for the alpha() relative color function. (314397@main) (178551773)
  • Added support for the scroll-state value of container-type. (314551@main) (178740634)

Resolved Issues

  • Fixed aspect-ratio intrinsic-size handling in flex layout to align with the specification. (313536@main) (83240099)
  • Fixed text-decoration-thickness propagation to inner spans with non-inline style. (314502@main) (111015539)
  • Fixed unnecessary text truncation that could occur with always-on scrollbars. (313584@main) (148428628)
  • Fixed CSS Container Style Queries to work when the container has display: contents. (313677@main) (164414720)
  • Fixed CSS Style Container Query to recognize the default value of a custom property in multiline cases. (313957@main) (165627262)
  • Fixed CSS Anchor Positioning so that absolutely positioned elements no longer anchor to viewport-fixed-position elements unexpectedly. (314706@main) (170323196)
  • Fixed -webkit-box-pack to account for box-direction and to handle overflow repositioning correctly. (313862@main) (174588996)
  • Fixed an emoji reaction overlapping the comment code box on GitHub. (311084@main) (174652842)
  • Fixed :hover state to repaint correctly on the customizable <select> element. (310623@main) (175273152)
  • Fixed text in nested CSS Subgrid with overflow: hidden clipping content on subsequent items. (313503@main) (175877530)
  • Fixed an interaction between an img with max-width and surrounding elements that caused the parent’s layout to compute incorrectly. (313105@main) (176889859)
  • Fixed incorrect margin offsets for inline <div> positioning to fix the broken layout of paragraph spacing on some sites. (313502@main) (177139092)
  • Fixed shrink-to-fit boxes to update their width when they gain or lose a scrollbar. (313390@main) (177172896)
  • Fixed CSS zoom to be animatable by the computed value. (313735@main) (177411607)
  • Fixed preferred width to trim trailing whitespace before a preserved newline. (313480@main) (177426037)
  • Fixed inline layout to apply margins of preceding block content at the line start eagerly when block-in-inline content is involved. (313489@main) (177438841)
  • Fixed CSS attr() to align with disallowing the <url> type. (313593@main) (177540489)
  • Fixed CSS attribute selector case-insensitivity handling for HTML attributes. (313654@main) (177547701)
  • Fixed ::first-letter to use the correct definition of punctuation. (313652@main) (177599506)
  • Fixed offset-path to respect <coord-box> when blending shape() and basic-shape paths. (313737@main) (177685457)
  • Fixed stretch-fit width with aspect-ratio providing a definite cross size to flex items when it should not. (313723@main) (177705930)
  • Fixed an aspect-ratio flex container resolving descendant percentage heights against a stale logical height. (313727@main) (177711905)
  • Fixed inline-block baseline to fall back to the bottom margin edge when the content has no in-flow line boxes. (313769@main) (177753094)
  • Fixed programmatic focus after keyboard interaction to match :focus-visible. (314012@main) (177850766)
  • Fixed @font-face font-style to serialize ‘oblique 0deg’ as ‘normal’. (314128@main) (178185291)
  • Fixed serialization of explicit font-variant longhands set after a system font. (314292@main) (178251443)
  • Fixed CSSFontFeatureValuesRule.fontFamily to be settable rather than readonly. (314602@main) (178323504)
  • Fixed font-style: oblique to be clamped against the font’s slant range rather than the @font-face weight range. (314280@main) (178324521)
  • Fixed font-style: oblique angle being applied to the variable font ‘slnt’ axis with the wrong sign. (314399@main) (178326843)
  • Fixed background and mask coordinated property list resolved values to match the specification. (314242@main) (178378309)
  • Fixed longer hue interpolation when one input is none. (314327@main) (178476769)
  • Fixed line-through to render with the correct thickness over a descendant inline box. (314391@main) (178547557)
  • Fixed font-synthesis to avoid synthesizing styles outside of a font’s variable axis range. (314537@main) (178550149)
  • Fixed font-style: italic to slant a variable font whose @font-face uses an oblique angle. (314681@main) (178566326)
  • Fixed SVG intrinsic sizing so that height: max-content uses the used width rather than the default width. (314556@main) (178712792)
  • Fixed color-mix() to allow percentages that sum to zero. (314577@main) (178758710)
  • Fixed color-mix() resolution for the new 0% rules. (314714@main) (178921722)
  • Fixed a flex item with min-width: min-content being clamped to a smaller max-width. (314599@main) (178777567)

Canvas

New Features

  • Made the radii argument of CanvasPath.roundRect() optional. (313882@main) (177944903)

Resolved Issues

  • Fixed canvas 2D context to set the origin-clean flag when reset. (313824@main) (177858398)
  • Fixed canvas fillText with textAlign=center misplacing complex-shaped text. (314522@main) (178682402)

Editing

Resolved Issues

  • Fixed typing Hindi (InScript) input on Google Docs. (297270@main) (177643899)

Forms

Resolved Issues

  • Fixed identically sized buttons to render with consistent corner radius. (313535@main) (173786057)
  • Fixed a box with percentage offset (e.g. top: 100%) being mispositioned when its containing block is out-of-flow with percentage height. (313364@main) (177181803)

HTML

New Features

  • Added support for popover close watcher integration. (313838@main) (129116634)
  • Added support for SVG <a> as an argument to Origin.from(). (314287@main) (178426374)

Resolved Issues

  • Fixed popover light dismiss to account for input buttons. (313840@main) (171352032)
  • Fixed popover light dismiss to account for disabled command buttons. (314400@main) (171358576)
  • Fixed a regression that broke pushState with custom application URL schemes. (312738@main) (177547157)
  • Fixed outerHTML setter to align with the HTML standard. (313795@main) (177788638)
  • Fixed fragment parsing of xmlns="" inheritance and annotation-xml encoding. (313803@main) (177808494)
  • Fixed createHTMLDocument() to no longer leave the body in a parsing state. (314295@main) (178440940)
  • Fixed text fragment matching so that a prefix is no longer matched outside of a word boundary near the start of the document. (314323@main) (178467104)

Images

Resolved Issues

  • Fixed images appearing then quickly disappearing on OpenTable search results. (313572@main) (176275269)
  • Fixed <picture> <source> candidates being speculatively preloaded even when the inner <img> has loading=lazy. (313833@main) (177833110)
  • Fixed HTMLImageElement.decode() to no longer resolve spuriously after adoption, src change, or cached-image reuse. (314536@main) (178118012)

JavaScript

Resolved Issues

  • Fixed multiple TypedArray constructor edge cases involving buffer sequences to align with the specification. (313401@main) (176724918)
  • Fixed WebAssembly.Memory and WebAssembly.Module to align their cloning and transferring behavior with SharedArrayBuffer. (313482@main) (176792374)
  • Fixed Array.prototype.join to include prototype elements added during element toString invocation. (314210@main) (178055452)

Media

Resolved Issues

  • Fixed WebVTT to not display cues that are larger than the viewport. (314333@main) (136809012)
  • Fixed <audio controls> to not show the “Subtitles” option when no subtitle track is present. (311465@main) (175357130)
  • Fixed MSE SourceBuffer.remove() to no longer remove an extra sample, and fixed buffered ranges to cover the correct ranges. (313383@main) (177065364)
  • Fixed an HTMLMediaElement that doesn’t display in an infinite scrolling webpage to use a viewport listener that notifies the media player about the visibility of the element. (311380@main) (177081214)
  • Fixed EME to use a 10 second key wait timeout. (313873@main) (177936893)
  • Fixed EME OCDM to prevent a spurious keystatuses event when all keys have expired. (313876@main) (177939767)
  • Fixed getSupportedCapabilitiesForAudioVideoType (EME) to no longer include unsupported capabilities. (314032@main) (178142768)
  • Fixed MediaSession.setActionHandler to not throw an exception when called. (314546@main) (178167294)
  • Fixed AudioData.copyTo to throw RangeError when frameOffset equals numberOfFrames. (314451@main) (178609688)
  • Fixed MIDI and AVI MIME signature matching due to a typo in MIME sniffing. (314499@main) (178661530)
  • Fixed PannerNode to no longer produce non-finite samples for edge-case distance parameters. (314608@main) (178784571)

Networking

Resolved Issues

  • Fixed URL parsing for sendBeacon() and the Media Session API. (313403@main) (177330315)

Rendering

Resolved Issues

  • Fixed Google search-suggestion font sizes increasing on rotation from portrait to landscape. (313547@main) (113801810)
  • Fixed misrendering of Pahawh Hmong text on Wikipedia. (313458@main) (167446860)
  • Fixed a black region appearing on the right side of swift.org when the sidebar is open. (313513@main) (173191807)
  • Fixed <legend> to mask the <fieldset>‘s border correctly when it has a negative left margin. (313863@main) (174185071)
  • Fixed a regression that caused incorrect layout in some content using stretch. (309433@main) (176398251)
  • Fixed justification expansion to apply around CJK Unified Ideographs Extensions E, F, G, and H. (313586@main) (176759766)
  • Fixed RTL position-fixed elements losing their contents when the document is scrolled on iOS. (313573@main) (177454608)

SVG

New Features

  • Made SVG <use> work without specifying a fragment identifier. (313550@main) (148973201)

Resolved Issues

  • Fixed the resolved value for the width and height properties on SVG <rect>, <image>, <svg>, and other elements. (313859@main) (96320059)
  • Fixed an animated GIF freezing when referenced by SVG <use> and the opacity was adjusted. (313531@main) (96837306)
  • Fixed vector-effect to apply a transform to path geometry rather than to stroke geometry. (314302@main) (103573160)
  • Fixed <animateMotion> non-path animations to apply the rotate attribute. (314508@main) (110915794)
  • Fixed SVG elements with display: contents being visually hidden. (314079@main) (141825746)
  • Fixed SVGPathElement.getTotalLength() and . SVGPathElement.getTotalLength.getPointAtLength() to respect the CSS d property. (314654@main) (167195297)
  • Fixed a rounding issue for SVG rect height with em and percentage values. (313935@main) (171587382)
  • Fixed SVG intrinsic sizing so that max-content and min-content use the viewBox aspect ratio when intrinsic sizes are missing. (313864@main) (174568894)
  • Fixed glyph-orientation-vertical: auto to decode surrogate pairs for UTR#50 lookup. (314070@main) (175570881)
  • Fixed handling of pathLength="0" and negative pathLength for stroke dashing. (314001@main) (175928827)
  • Fixed hit-testing of clip-path with nested objectBoundingBox <clipPath> to use the correct reference box. (313855@main) (177605894)
  • Fixed SVG overflowing edges when offset by a fractional value. (313886@main) (177630386)
  • Fixed feGaussianBlur not applying when stdDeviation contains a 0 in the second component. (313874@main) (177906905)

Deprecations

  • Removed support for the non-standard glyph-orientation-horizontal property. (314069@main) (176134352)

Scrolling

Resolved Issues

  • Fixed scrolling of the “Add Contacts” drop-down on outlook.live.com by narrowing the scope of a quirk. (314111@main) (48008837)
  • Fixed a passive: false wheel event listener combined with overscroll-behavior: contain preventing scrolling. (314170@main) (137757208)
  • Fixed the scroll anchoring behavior so that the comments panel on Quip is no longer blank when expanded. (314371@main) (178255628)

Storage

New Features

  • Added support for storing FileSystemHandle objects in IndexedDB. (314229@main) (176102643)

Resolved Issues

  • Fixed IndexedDB connections in workers to recover after a network process crash. (313509@main) (177219395)

Web API

New Features

  • Added support for the Origin-Agent-Cluster HTTP response header. (314346@main) (69452369)

Resolved Issues

  • Fixed IntersectionObserver to no longer notify targets in detached documents. (313834@main) (162699098)
  • Fixed IntersectionObserverEntry.boundingClientRect to honor CSS zoom aware getBoundingClientRect. (313512@main) (177250323)
  • Fixed IntersectionObserver to report correct bounds for SVG element targets. (313596@main) (177260411)
  • Fixed Web Locks API to remove the AbortSignal abort algorithm after a lock request settles. (314433@main) (178589067)

Web Extensions

Resolved Issues

  • Fixed cross-origin XMLHttpRequest from a Safari Web Extension to no longer trigger an additional permissions request. (313506@main) (154866064)

Web Inspector

New Features

  • Added a separate column to show the node associated with layout and rendering events. (314460@main) (177618501)

Resolved Issues

  • Fixed hovering over a node in a preview for a collection to highlight the node in the inspected page. (314589@main) (20341722)
  • Fixed style sheets created via CSSOM (such as adoptedStyleSheets) being incorrectly marked as User Agent Style Sheets. (313738@main) (134101594)
  • Fixed clearing the Console tab search field to dismiss the Clear Filters button. (313599@main) (176388155)
  • Fixed properties added to an element’s Style Attribute sometimes disappearing momentarily. (314467@main) (178053421)

WebGPU

Resolved Issues

  • Fixed WGSL parser handling of identifiers per the latest specification. (313405@main) (177008615)
  • Fixed WGSL validation of binary expressions involving short-circuit and/or operators. (313467@main) (177012957)

WebRTC

Resolved Issues

  • Fixed WebRTC media capabilities to report power-efficient AV1 decoding when supported. (313468@main) (174686183)
  • Fixed audio issues when joining Cisco Meeting Server meetings using Safari. (313415@main) (175260977)