<!--
{
  "documentType" : "article",
  "framework" : "Safari Technology Preview Release Notes",
  "identifier" : "/documentation/Safari-Technology-Preview-Release-Notes/stp-release-171",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Safari Technology Preview 171 Release Notes"
}
-->

# Safari Technology Preview 171 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Web Inspector, CSS, CSS Counter Styles, Web Animations, Rendering, JavaScript, Web Assembly, Popover, Web API, Media, Accessibility, and SVG.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 171 is now [available for download](https://webkit.org/downloads/) for macOS Monterey 12.3 or later and macOS Ventura. If you already have Safari Technology Preview installed, you can update it in the Software Update pane of System Preferences on macOS Monterey, or System Settings under General → Software Update on macOS Ventura.

This release includes WebKit changes between: [263538@main…264301@main](https://github.com/WebKit/WebKit/compare/ab0f8a142a9441282025b9a77c4c37cf453a794b...1be5261428234b2357b74bb5de686c7bce227953).

### Web Inspector

- Console tab
  - Added showing the `target` of a `WeakRef` ([264171@main](https://commits.webkit.org/264171@main))
  - Fixed timestamps taking up different amounts of space ([264161@main](https://commits.webkit.org/264161@main))
- Sources tab
  - Fixed Step Over behaving like resume when stepping over a function with a falsy conditional breakpoint ([264160@main](https://commits.webkit.org/264160@main))
- Storage tab
  - Fixed truncated localStorage editing giving the illusion of a proper edit and the truncated string being saved ([264166@main](https://commits.webkit.org/264166@main))
- Fixed popovers so that only one can be displayed at a time ([264159@main](https://commits.webkit.org/264159@main))

### CSS

- Added support for `@font-face { src: tech() }` and `@supports font-tech()` ([263725@main](https://commits.webkit.org/263725@main))
- Added support for `@font-face` `size-adjust` descriptor ([263604@main](https://commits.webkit.org/263604@main))
- Fixed ascent for flex items that are scroll containers to be clamped to the border box ([263974@main](https://commits.webkit.org/263974@main))
- Fixed `text-shadow` and `box-shadow` with `currentcolor` ([264120@main](https://commits.webkit.org/264120@main))
- Fixed the containing block for items in a masonry columns grid to be the logical width of the grid’s content box ([264011@main](https://commits.webkit.org/264011@main))
- Fixed not adding extra grid gap at the bottom of masonry rows ([263657@main](https://commits.webkit.org/263657@main))
- Fixed computing masonry item offsets ([263709@main](https://commits.webkit.org/263709@main))
- Fixed `image-set` to accept zero resolution and clamp negative resolutions used in `calc` expressions ([264298@main](https://commits.webkit.org/264298@main))
- Fixed container query length units to use the content box instead of the border box ([263595@main](https://commits.webkit.org/263595@main))
- Fixed CSS Masonry Layout to ensure grid size updates on resize ([263712@main](https://commits.webkit.org/263712@main))
- Fixed `overflow: clip` fails when intrusive float is present ([264101@main](https://commits.webkit.org/264101@main))
- Removed parsing support of `left` and `right` values for `caption-side` ([264262@main](https://commits.webkit.org/264262@main))
- Renamed `text-box-trim` value `normal` to `none` ([263702@main](https://commits.webkit.org/263702@main))
- Renamed `leading-trim` to `text-box-trim` to match the latest spec ([263587@main](https://commits.webkit.org/263587@main))
- Renamed `text-edge` to `text-box-edge` to match the latest spec ([263612@main](https://commits.webkit.org/263612@main))
- Fixed the bug that `@supports selector()` fails for all `-webkit-` prefixed pseudo elements ([264090@main](https://commits.webkit.org/264090@main))

### CSS Counter Styles

- Added support for extending ethiopic counter styles ([263602@main](https://commits.webkit.org/263602@main))
- Added support for extending CJK counter styles ([263542@main](https://commits.webkit.org/263542@main), [263544@main](https://commits.webkit.org/263544@main))

### Web Animations

- Removed animation support for `zoom` ([263908@main](https://commits.webkit.org/263908@main))

### Rendering

- Fixed images with `decoding="async"` flickering while zooming in ([264433@main](https://commits.webkit.org/264433@main))
- Fixed handling multi-column intrinsic inline-size changes ([264292@main](https://commits.webkit.org/264292@main))
- Fixed SVG use element doesn’t render if it references a subsequent element after a style resolution ([264085@main](https://commits.webkit.org/264085@main))
- Fixed `alt` texts rendered horizontally in vertical writing mode ([263776@main](https://commits.webkit.org/263776@main))
- Fixed OffscreenCanvas rendering hiding the border from the element ([263731@main](https://commits.webkit.org/263731@main))
- Complex text path: Make tab glyph invisible after advancing ([263929@main](https://commits.webkit.org/263929@main))
- Fixed text not wrapping in a nested grid ([264252@main](https://commits.webkit.org/264252@main))
- Changed to respect style containment on list items ([264273@main](https://commits.webkit.org/264273@main))
- Fixed negative shadow repaint issue ([263899@main](https://commits.webkit.org/263899@main))
- Fixed width of textarea with overflow hidden including scrollbar thickness ([264095@main](https://commits.webkit.org/264095@main))
- Fixed `textarea`’s logical height with `overflow: auto` to not include scrollbar-thickness ([264251@main](https://commits.webkit.org/264251@main))

### JavaScript

- Cached default `Intl` `NumberFormat` ([264057@main](https://commits.webkit.org/264057@main))
- Cached lookups of ProxyObject’s traps ([263944@main](https://commits.webkit.org/263944@main))
- Changed to not use Strong<> in VM and simplify jsString ([264099@main](https://commits.webkit.org/264099@main))
- Changed to not use Vector as intermediate transfer buffer for typed array ([263942@main](https://commits.webkit.org/263942@main))
- Disabled `Array#group` and `Array#groupToMap` ([263922@main](https://commits.webkit.org/263922@main))
- Fixed `definePropertyOnReceiver()` to account for `put_by_val_with_this` bytecode op ([263559@main](https://commits.webkit.org/263559@main))
- Fixed `/\p{Number}--]/v;` to be a syntax error ([264175@main](https://commits.webkit.org/264175@main))
- Fixed `JSON.parse` to use simple recursion until it hits a soft-recursion threshold ([263744@main](https://commits.webkit.org/263744@main))
- Fixed StringConstructor constant function inlining in the case of `[[Construct]]` ([264191@main](https://commits.webkit.org/264191@main))
- Fixed Stringifier to quickly get names even if it involves accessors ([263619@main](https://commits.webkit.org/263619@main))
- Optimized Dictionary access ([264040@main](https://commits.webkit.org/264040@main))
- Optimized `JSON.stringify` integer serialization ([263765@main](https://commits.webkit.org/263765@main))

### Popover

- Changed to not throw when popover or dialog is in requested state ([263957@main](https://commits.webkit.org/263957@main))
- Changed to only use the invoker to establish popover hierarchy ([264002@main](https://commits.webkit.org/264002@main))
- Changed to use the `<dialog>` focus algorithm for dialog popovers ([263749@main](https://commits.webkit.org/263749@main))
- Changed  `hidePopover`  to restore focus only when focus was in the popover ([263645@main](https://commits.webkit.org/263645@main))
- Reset the invoker in `showPopover()` ([264006@main](https://commits.webkit.org/264006@main))

### Web API

- Added more explicit error messages for `new URL(url, base)` Constructor ([264129@main](https://commits.webkit.org/264129@main))
- Added `value` argument to URLSearchParams’s `has()` and `delete()` ([263726@main](https://commits.webkit.org/263726@main))
- Added support for `AbortSignal.any()` ([264163@main](https://commits.webkit.org/264163@main))
- Added support for `ServiceWorkerRegistration.getNotifications()` ([264169@main](https://commits.webkit.org/264169@main))
- Added support for the `<search>` element ([264110@main](https://commits.webkit.org/264110@main))
- Exposed `DeviceMotionEvent` and `DeviceOrientationEvent` on the global `Window` object on macOS ([264271@main](https://commits.webkit.org/264271@main))
- Changed `document.body.onerror` setter to setup a five-parameter listener ([264190@main](https://commits.webkit.org/264190@main))
- Changed the HTML parser to allow `<hr>` to be used inside `<select>` as a separator per a recent HTML Standard change the WebKit team contributed, which makes it easier to add a visual separator on macOS ([263624@main](https://commits.webkit.org/263624@main))
- Changed to not escape `<`, `>`, `&`, and `nbsp` inside a `<noscript>` element when scripting is enabled ([263633@main](https://commits.webkit.org/263633@main))
- Changed to respect `Content-Type` from internal headers instead of caching it in body ([264054@main](https://commits.webkit.org/264054@main))
- Changed to allow relative URLs and http(s) scheme in the `WebSocket` constructor ([263968@main](https://commits.webkit.org/263968@main))
- Changed `WebSocket`’s `binaryType` setter to not throw ([263963@main](https://commits.webkit.org/263963@main))
- Fixed firing a `controllerchange` event on clients when a service worker gets deleted ([264255@main](https://commits.webkit.org/264255@main))
- Fixed running a service worker before firing its activate event ([264242@main](https://commits.webkit.org/264242@main))
- Fixed `document.write` of template producing multiple text nodes ([263841@main](https://commits.webkit.org/263841@main))
- Fixed event dispatching on disabled form controls ([264098@main](https://commits.webkit.org/264098@main))
- Fixed a bug in the preload scanner with nested templates ([263850@main](https://commits.webkit.org/263850@main))
- Fixed node depth computation for shadow nodes in `ResizeObserver` ([263920@main](https://commits.webkit.org/263920@main))
- Fixed revealing the focused input element in an event loop task instead of a post layout task ([263665@main](https://commits.webkit.org/263665@main))
- Fixed `<input type="date">` with an invalid date to return an empty string for the value instead of the default value ([263784@main](https://commits.webkit.org/263784@main))
- Fixed sanitizing email input when the `multiple` attribute is set ([263555@main](https://commits.webkit.org/263555@main))
- Fixed selecting a link and pasting plain text changes text in the link, but not the link href ([263539@main](https://commits.webkit.org/263539@main))
- Fixed `StorageManager.persist()` ([263930@main](https://commits.webkit.org/263930@main))
- Fixed `input.validity` reporting `valid: true` for partially completed dates and times ([263748@main](https://commits.webkit.org/263748@main))
- Fixed Compression Streams not handling large outputs during the flush stage ([263997@main](https://commits.webkit.org/263997@main))
- Mapped `align="abscenter"` to `vertical-align: middle` ([263852@main](https://commits.webkit.org/263852@main))

### Media

- Added support for `getDisplayMedia` video track clone resizing ([263750@main](https://commits.webkit.org/263750@main))
- Exposed `aspectRatio` and `frameRate` in RTCPeerConnection remote MediaStreamTrack settings ([263849@main](https://commits.webkit.org/263849@main))
- Fixed camera and microphone to all have `groupIds` ([264112@main](https://commits.webkit.org/264112@main))

### Accessibility

- Fixed the HTML `<menu>` element to map to `role=list` ([264077@main](https://commits.webkit.org/264077@main))
- Fixed `aria-describedby` to be equivalent to `aria-description` and override it when both are present ([263813@main](https://commits.webkit.org/263813@main))
- Fixed slot elements not computing a label for `aria-labelledby` ([263644@main](https://commits.webkit.org/263644@main))
- Fixed slotted elements inside `<dialog>` and `aria-modal` not being accessible ([263561@main](https://commits.webkit.org/263561@main))

### SVG

- Fixed `<marker orient="-1">` to orient correctly ([264053@main](https://commits.webkit.org/264053@main))
- Fixed `overflow="visible"` having no effect on the dimension of a `use` element unless its dimensions are specified ([263977@main](https://commits.webkit.org/263977@main))

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)