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

# Safari Technology Preview 21 Release Notes

Preview the latest web technology updates including: JavaScript, Fetch API, IndexedDB 2.0, CSS, Rendering, Accessibility, Web API, Web Inspector, Security, and bug fixes.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 21 is now [available for download](https://webkit.org/downloads/) for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions [209803-](https://trac.webkit.org/log/?stop_rev=209238&rev=209803&limit=999)[210274](https://trac.webkit.org/log/?stop_rev=209803&rev=210274&limit=472).

### JavaScript

- Enabled concurrent garbage collection ([r209694](https://trac.webkit.org/changeset/209694))
- Enabled `<script type="module">`  ([r210016](https://trac.webkit.org/changeset/210016))
- Added support for the `global` property on the global object ([r210052](https://trac.webkit.org/changeset/210052))

### Fetch API

- Improved console logging when loading resources ([r209917](https://trac.webkit.org/changeset/209917))

### IndexedDB 2.0

- Improved the speed of `IDBIndex.get()` ([r209824](https://trac.webkit.org/changeset/209824))
- Improved the speed of iterating cursors ([r209977](https://trac.webkit.org/changeset/209977))

### CSS

- Updated the syntax of the `prefers-reduced-motion` media query ([r209842](https://trac.webkit.org/changeset/209842))
- Fixed CSS scroll snap to work when scrollbar is hidden ([r210117](https://trac.webkit.org/changeset/210117))
- Fixed column overflows when `text-align: justify` is combined with `word-spacing` ([r209910](https://trac.webkit.org/changeset/209910))

### Rendering

- Fixed a font variations bug exposed by the Skia font ([r210054](https://trac.webkit.org/changeset/210054))
- Fixed an issue with multicolumn inside SVG `<foreignobject>` ([r210035](https://trac.webkit.org/changeset/210035))
- Fixed a floating element overlapping the marker within an `<li>` ([r210239](https://trac.webkit.org/changeset/210239))

### Accessibility

- Fixed changing focus to modal dialogs when one appears ([r210265](https://trac.webkit.org/changeset/210265))
- Changed VoiceOver to read table headers that are not visible onscreen and do not use have an `aria-hidden` attribute ([r210150](https://trac.webkit.org/changeset/210150))

### Web API

- Fixed firing Input Events with null inputTypes and no data when changing the text direction ([r209976](https://trac.webkit.org/changeset/209976))
- Fixed handling key generation with an empty challenge string ([r209822](https://trac.webkit.org/changeset/209822))
- Fixed focus for `label` elements with a `tabindex` value of 0 or higher ([r210267](https://trac.webkit.org/changeset/210267))
- Fixed side effects while resetting form elements ([r209990](https://trac.webkit.org/changeset/209990))
- Corrected setting the original URL of a download request with `target="_blank"` ([r210083](https://trac.webkit.org/changeset/210083))
- Updated HTML form validation bubbles to be dismissed on navigation ([r209941](https://trac.webkit.org/changeset/209941))

### Web Inspector

- Allow simple `await` expressions to be run in the console ([r210033](https://trac.webkit.org/changeset/210033))
- Fixed Computed Styles to correctly show the Container Regions section for regions content flows into ([r210250](https://trac.webkit.org/changeset/210250))
- Fixed jumping to the definition of a custom element ([r209855](https://trac.webkit.org/changeset/209855))
- Fixed uncommenting to enable CSS rules of pseudo-elements in the Styles sidebar ([r210110](https://trac.webkit.org/changeset/210110))
- Updated CodeMirror to add support for the async and await keywords along with other ECMAScript 2017 features ([r210032](https://trac.webkit.org/changeset/210032))
- Fixed repositioning Timeline graph elements when resizing the window ([r210046](https://trac.webkit.org/changeset/210046))
- Fixed zooming in the Timeline to zoom where the cursor is located ([r209834](https://trac.webkit.org/changeset/209834))
- Improved console for narrow widths ([r209882](https://trac.webkit.org/changeset/209882))
- Modernized the find banner UI ([r209921](https://trac.webkit.org/changeset/209921))
- Updated keyword completions in Web Inspector for the new scroll snapping CSS properties ([r210036](https://trac.webkit.org/changeset/210036))

### Security

- Allowed HTTPS URLs to match HTTP script-src expressions for Content Security Policy ([r209821](https://trac.webkit.org/changeset/209821))

### Bug Fixes

- Fixed a Safari crash that occurs when deleting a Chinese character typed after an image ([r209957](https://trac.webkit.org/changeset/209957))
- Selecting when zoomed in no longer jumps around ([r210147](https://trac.webkit.org/changeset/210147))

---

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)