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

# Safari Technology Preview 109 Release Notes

Preview the latest web technology updates including: Web API, CSS, Web Animations, SVG, IndexedDB, Scrolling, Layout, Media, WebRTC, Back-forward Cache, JavaScript, Editing, Accessibility, Apple Pay, Web Inspector, and Web Driver.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 109 is now [available for download](https://webkit.org/downloads/) for macOS Catalina. With this release, Safari Technology Preview is now available for betas of macOS Big Sur. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS. Safari Technology Preview is currently only available for Intel-based Macs.

This release includes new Safari and WebKit features that will be present in Safari 14. The following Safari 14 features are new in Safari Technology Preview 109:

**Safari Web Extensions.** Extensions written for Chrome, Firefox, and Edge that use the WebExtension APIs can be converted to Safari Web Extensions using Xcode 12.

**Privacy Report.** See the trackers that Intelligent Tracking Prevention prevented from accessing identifying information.

**Improved tab management with tab previews.** Tabs feature a new space-efficient design that lets you view more tabs on-screen and preview tabs to find the one you’re looking for.

**Website icons in tabs.** Icons in tabs are turned on by default in Safari 14.

**Password breach notifications.** On macOS Big Sur, Safari will notify users when one of their saved passwords in iCloud Keychain has shown up in a data breach; requesting a password change uses the [well-known URL for changing passwords](https://wicg.github.io/change-password-url/) (`https://example.com/.well-known/change-password`), enabling websites to specify the page to open for updating a password.

**Domain-bound codes.** On macOS Big Sur, added support to Security Code AutoFill for [domain-bound, one-time codes sent over SMS](https://wicg.github.io/sms-one-time-codes/); in the following 2FA SMS, Safari only offers to fill the code on example.com, and no other domain.

```
Your Example code is 123446.

@example.com #123446
```

**Web Authentication.** Added a Web Authentication platform authenticator using Touch ID, if that capability is present (macOS Big Sur-only). Added support for PIN entry and account selection on external FIDO2 security keys.

**Adobe Flash is no longer supported in Safari.**

In addition to these new Safari 14 features, this release covers WebKit revisions [262502-263214](https://trac.webkit.org/log?stop_rev=262502&rev=263214&limit=999) and [Password Manager Resources](https://github.com/apple/password-manager-resources) version [10e3fca9](https://github.com/apple/password-manager-resources/commit/10e3fca950c11781c77e145bbfab52d0a3868b44).

### Web API

- Changed the file picker of the `<input>` file element to show the selection filter ([r262895](https://trac.webkit.org/changeset/262895/webkit/))
- Changed to disallow XHR+Fetch responses when a response contains invalid header values ([r262511](https://trac.webkit.org/changeset/262511/webkit/))
- Changed image `referrerpolicy` mutations to be considered “relevant mutations” ([r263167](https://trac.webkit.org/changeset/263167/webkit/))
- Fixed empty  `dataTransfer.types` when handling the `dragstart` event ([r262507](https://trac.webkit.org/changeset/262507/webkit/))
- Fixed a case of being unable to select an item from dropdown ([r263179](https://trac.webkit.org/changeset/263179/webkit/))
- Made ReadableStream robust against user code ([r263141](https://trac.webkit.org/changeset/263141/webkit/))

### CSS

- Fixed `align-content` to apply for a single line ([r262716](https://trac.webkit.org/changeset/262716/webkit/))
- Fixed pseudo-elements (`::after`) in shadow roots to animate ([r262711](https://trac.webkit.org/changeset/262711/webkit/))
- Fixed CSS custom properties for specific `border` properties ([r262627](https://trac.webkit.org/changeset/262627/webkit/))

### Web Animations

- Fixed animating `font-size` values with `em` units ([r262946](https://trac.webkit.org/changeset/262946/webkit/))

### SVG

- Fixed `Document.currentScript` to work for SVGScriptElements ([r262945](https://trac.webkit.org/changeset/262945/webkit/))
- Fixed multiple SVG filters unexpectedly lightening the image using linearRGB ([r262893](https://trac.webkit.org/changeset/262893/webkit/))

### IndexedDB

- Added support for IDBFactory databases method ([r263157](https://trac.webkit.org/changeset/263157/webkit/))

### Scrolling

- Fixed horizontally scrolling elements that are broken when revealed by toggling visibility ([r262774](https://trac.webkit.org/changeset/262774/webkit/))

### Layout

- Changed to not apply the special anchor handling when the anchor content is visible after clamping ([r262892](https://trac.webkit.org/changeset/262892/webkit/))
- Fixed inserted text placeholder to vertically align to top and behave like a block-level element when it has 0 width ([r262525](https://trac.webkit.org/changeset/262525/webkit/))

### Media

- Fixed a YouTube video that gets stuck after rapidly tapping on touchbar’s picture-in-picture button ([r262599](https://trac.webkit.org/changeset/262599/webkit/))
- Added a quirk to allow starting AudioContext if document was interacted ([r263025](https://trac.webkit.org/changeset/263025/webkit/))

### WebRTC

- Improved SCTP cookie generation ([r263154](https://trac.webkit.org/changeset/263154/webkit/))

### Back-forward Cache

- Stopped allowing pages served over HTTPS with `Cache-Control: no-store` into the back-forward cache ([r262978](https://trac.webkit.org/changeset/262978/webkit/))

### JavaScript

- Added support for private class fields ([r262613](https://trac.webkit.org/changeset/262613/webkit/))
- Added “el” (Greek) to our maintained available locales list ([r262992](https://trac.webkit.org/changeset/262992/webkit/))
- Changed Logical Assignment to perform NamedEvaluation of anonymous functions ([r262638](https://trac.webkit.org/changeset/262638/webkit/))
- Changed `JSON.stringify` to throw stack overflow error ([r262727](https://trac.webkit.org/changeset/262727/webkit/))
- Changed `RegExp.prototype` getters to throw on cross-realm access ([r262908](https://trac.webkit.org/changeset/262908/webkit/))
- Changed `super` to not depend on `proto` ([r263035](https://trac.webkit.org/changeset/263035/webkit/))
- Fixed AsyncGenerator to await `return` completions ([r262979](https://trac.webkit.org/changeset/262979/webkit/))
- Made `errors` an own property of `AggregateError` instead of a prototype accessor ([r263006](https://trac.webkit.org/changeset/263006/webkit/))

### Editing

- Fixed text form controls to prevent scrolling by a pixel when the value is the same length as the size ([r263073](https://trac.webkit.org/changeset/263073/webkit/))
- Fixed observing a newly displayed element inside previously observed content ([r263044](https://trac.webkit.org/changeset/263044/webkit/))
- Fixed text manipulation to exclude characters outside of the unicode private use area ([r262645](https://trac.webkit.org/changeset/262645/webkit/))
- Fixed editing to handle nested item boundary elements ([r263101](https://trac.webkit.org/changeset/263101/webkit/))
- Fixed to not re-extract elements whose children have been manipulated ([r263132](https://trac.webkit.org/changeset/263132/webkit/))
- Fixed first and last unit in a paragraph to not contain only excluded tokens ([r262601](https://trac.webkit.org/changeset/262601/webkit/))

### Accessibility

- Changed `<address>` element to no longer map to ARIA `contentinfo` role ([r263096](https://trac.webkit.org/changeset/263096/webkit/))

### Apple Pay

- Added new values for `-apple-pay-button-type` ([r262528](https://trac.webkit.org/changeset/262528/webkit/))

### Web Inspector

- Changed text inputs to not spellcheck or autocomplete ([r262848](https://trac.webkit.org/changeset/262848/webkit/))
- Fixed an issue where XHRs with the same URL as the main resource were not shown in the Sources Tab ([r262842](https://trac.webkit.org/changeset/262842/webkit/))
- Improved the performance of resizing the Scope Chain panel in the details sidebar of the Sources Tab ([r263115](https://trac.webkit.org/changeset/263115/webkit/))

### Web Driver

- Fixed `Automation.computeElementLayout` to return iframe-relative element rects when the coordinate system is “Page” ([r262997](https://trac.webkit.org/changeset/262997/webkit/))
- Fixed WebDriver on non-iOS ports that cannot perform ActionChain which has scrolling down to the element and click it ([r262861](https://trac.webkit.org/changeset/262861/webkit/))

---

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)