Release Notes for Safari Technology Preview 227



This content originally appeared on WebKit and was authored by WebKit

Safari Technology Preview Release 227 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: 298484@main…299099@main.

Accessibility

New Features

  • Added support for automatically scrolling off-screen <input type="radio"> elements into view when they are focused, improving accessibility for users navigating with screen readers or keyboard shortcuts. (299075@main) (55121458)

Animations

New Features

  • Added support for endpoint-inclusive active intervals in Animation.commitStyles() to correctly persist styles for completed animations. (299031@main) (158684709)

Resolved Issues

  • Fixed a bug where extremely large animation-duration values could cause the page to become unresponsive. (298975@main) (158775366)
  • Fixed Animation.commitStyles() so that custom properties are properly committed to the target element. (299045@main) (158919736)
  • Fixed Animation.commitStyles() to correctly commit logical properties as their corresponding physical properties. (299046@main) (158920529)

CSS

New Features

  • Added support for the cursor property on pseudo-elements. (298777@main) (90364915)
  • Added support for the position-visibility property. (298622@main) (129789653)
  • Added support for the new math-shift CSS property to control compact or “cramped” rendering of MathML formulas, reducing vertical shifts for superscripts. (298839@main) (138023006)
  • Added support for remembering the last successful position-try fallback in CSS anchor positioning to reduce layout jumps when styles change. (298718@main) (154352444)
  • Added support for position-try on pseudo-elements like ::before, ::after, and ::backdrop. (298519@main) (156550553)
  • Added support for non-integral decimal values in the initial-letter CSS property to allow fractional sizes. (298564@main) (157808105)
  • Added support for the field-sizing property. (298511@main) (157907105)
  • Added support for @scope implicit scoping roots with constructed and adopted stylesheets to correctly apply styles in shadow DOM. (298906@main) (158119016)
  • Added support for the scrollbar-color property. (298827@main) (158436083)
  • Added support for the generic math font family in font-family allowing better default rendering for MathML content. (299006@main) (158851931)

Resolved Issues

  • Fixed getComputedStyle to correctly ignore ::first-letter and ::first-line styles on flex containers, to reflect used style. (298706@main) (94163778)
  • Fixed anchor-center so that when an anchored element has no anchor in the same containing block, it correctly falls back to behaving like center as specified. (298766@main) (155768216)
  • Fixed anchor() positioning in CSS Grid to correctly account for grid-area. (298644@main) (155823420)
  • Fixed an issue where changing the ruby-overhang property did not trigger a layout update, ensuring proper rendering when overhang values change. (299091@main) (156038239)
  • Fixed @media print styles to work when nested. (298843@main) (158081814)
  • Fixed automatic min-size handling for flex and grid items to correctly treat overflow: clip as non-scrollable, aligning with the CSS specifications. (298690@main) (158215991)
  • Fixed incorrect baseline alignment for <button> elements when contain: layout is applied by using the content box as the baseline. (299089@main) (159007878)

Editing

Resolved Issues

  • Fixed paste performance in textarea by skipping unnecessary layout calls and only removing unrendered text nodes in richly editable fields. (298505@main) (157813510)

Forms

New Features

  • Added support for normalizing full-width digits, minus signs, and full-width dots to ASCII in <input type="number"> fields, immediately rejecting disallowed characters. (298613@main) (141257181)

HTML

New Features

  • Added support for command and commandfor attributes on buttons to provide a declarative way to control popovers and dialogs. (299012@main) (147442565)

Images

Resolved Issues

  • Fixed HDR images in CSS backgrounds, CSS borders and inside SVG images so they are now properly decoded and rendered in HDR mode. (298781@main) (158076668)

JavaScript

Resolved Issues

  • Fixed an issue where the module loader would incorrectly attempt to refetch a module after a failed fetch. (298544@main) (158084942)
  • Fixed Iterator.prototype.flatMap to properly handle iterators without a return method. (298966@main) (158783404)

Networking

Resolved Issues

  • Fixed an issue where rel=preload link headers with a nonce could trigger erroneous Content-Security-Policy-Report-Only violations due to the nonce not being copied into the fetch options. (299070@main) (75060055)

Rendering

Resolved Issues

  • Fixed <button> elements to use the last line as their baseline instead of the first line to ensure consistent alignment with <br> in the text. (298518@main) (157955703)
  • Fixed orthogonal table cells so their writing-mode is no longer forced to match the table, allowing proper vertical layout. (298623@main) (158221827)
  • Fixed an issue where the padding end incorrectly contributed to scrollable overflow when the inline direction was flipped. (158529814)
  • Fixed word breaking so that a hyphen followed by a Latin-1 Supplement character (U+00C0–U+00FF) correctly allows line breaks. (299051@main) (158942361)

SVG

New Features

  • Added support for the repeatEvent in SVG animations to align with the SMIL specification and match other browsers. (298715@main) (129919749)
  • Added support for relative units in SVG. (299087@main) (158634833)

Resolved Issues

  • Fixed SVGMarkerElement to correctly support the SVG_MARKER_ORIENT_AUTO_START_REVERSE value, aligning behavior with the spec and other browsers (299042@main). (123453058)
  • Fixed handling of word-spacing so that leading white space in SVG text correctly applies spacing at the start of a text box. (299066@main) (134941299)
  • Fixed an issue where SVGs with a 0px intrinsic width were ignored but now correctly respect degenerate aspect ratios and fall back to the viewBox aspect ratio. (299085@main) (156339128)
  • Fixed SVGFETurbulenceElement to correctly fallback numOctaves to 1 for invalid or negative values, aligning with the specification and other browsers. (299083@main) (158988528)

Storage

Resolved Issues

  • Fixed WebSockets to correctly inherit storage access from the frame that created them. (298734@main) (147949918)
  • Fixed an issue where cross-origin navigations incorrectly preserved storage access. (298820@main) (158446697)

Tables

Resolved Issues

  • Fixed collapsed table rows retaining nonzero height. (298783@main) (158276634)

Web API

New Features

  • Added support for enforcing cookie name prefix checks in the CookieStore API to reject invalid __Host-Http- and __Http- names. (298615@main) (156373016)
  • Added support for document.activeViewTransition to expose the current active view transition. (298550@main) (158089900)
  • Added support for the scrollend event. (298701@main) (158158715)
  • Added support in the Cookie Store API for handling cookieStore.set calls with an empty string path, defaulting to the current URL path. (298681@main) (158319959)
  • Added support for the Navigation API. (298801@main). (158433779)

Resolved Issues

  • Fixed CommandEvent to no longer be composed and updated retargeting to prevent leaking Shadow DOM contents when event.currentTarget is null. (298956@main) (150922493)
  • Fixed JSON modules to fetch with an application/json Accept header. (298595@main) (158176845)

Web Inspector

Resolved Issues

  • Fixed an issue where DOM elements represented in the Console could not be selected. (298834@main) (157015598)
  • Fixed an issue where newlines and indentation in HTML markup would show up in DOM node previews in the Console. (298626@main) (157225532)

WebAssembly

New Features

  • Added support for WebAssembly.Memory.prototype.toFixedLengthBuffer() and .toResizableBuffer() to enable resizable WebAssembly memory buffers. (298955@main) (147437929)


This content originally appeared on WebKit and was authored by WebKit