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

# Safari Technology Preview 29 Release Notes

Preview the latest web technology updates including: JavaScript, CSS, Rendering, Web Inspector, WebCrypto, Accessibility, Media, and bug fixes.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 29 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 [215271-215859](https://trac.webkit.org/log?stop_rev=215271&rev=215859&limit=589).

### JavaScript

- Implemented `Intl.DateTimeFormat.prototype.formatToParts` ([r215616](https://trac.webkit.org/changeset/215616))
- Improved `Date.parse` to accept wider range of date strings ([r215359](https://trac.webkit.org/changeset/215359))
- Implemented `Object.isFrozen()` and `Object.isSealed()` according to ECMA specifications ([r215272](https://trac.webkit.org/changeset/215272))

### CSS

- Added support for percentage gaps for CSS Grid ([r215463](https://trac.webkit.org/changeset/215463))
- Changed `:focus-within` behavior to match specifications ([r215719](https://trac.webkit.org/changeset/215719))

### Rendering

- Avoided repaints for invisible animations on tumblr.com ([r215507](https://trac.webkit.org/changeset/215507))
- Fixed rendering flexbox children across columns ([r215320](https://trac.webkit.org/changeset/215320))
- Fixed `text-align:start` and `text-align:end` behavior in table cells ([r215375](https://trac.webkit.org/changeset/215375))
- Fixed animations with large negative `animation-delays` that fail depending on machine uptime ([r215352](https://trac.webkit.org/changeset/215352))
- Reduced redundant text measuring during mid-word breaking ([r215666](https://trac.webkit.org/changeset/215666))
- Changed memory handling to keep all of the decoded frames for an animated image if the total memory size of the frames is under 30MB (up from 5MB) ([r215557](https://trac.webkit.org/changeset/215557))
- Fixed `<li>` content inside `<ul>` to wrap mid-word when `word-break:break-word` is set ([r215660](https://trac.webkit.org/changeset/215660))
- Fixed the location of the “recent searches” popover of `<input type="search">` in RTL mode ([r215830](https://trac.webkit.org/changeset/215830))

### Web Inspector

- Added regular expression support to XHR breakpoints ([r215584](https://trac.webkit.org/changeset/215584))
- Added a pause reason for “All Requests” XHR breakpoint ([r215427](https://trac.webkit.org/changeset/215427))
- Fixed the enabled state of “All Requests” XHR breakpoint to be correctly restored ([r215435](https://trac.webkit.org/changeset/215435))
- Fixed a bug where XHR breakpoints would disappear when the inspected page is reloaded ([r215473](https://trac.webkit.org/changeset/215473))
- Fixed XHR breakpoints restored from settings but not appearing in the sidebar ([r215422](https://trac.webkit.org/changeset/215422))
- Fixed Network datagrid columns to correctly restore their shown or hidden state ([r215449](https://trac.webkit.org/changeset/215449))
- Added tooltips to Network grid items for easier reading when text overflows ([r215631](https://trac.webkit.org/changeset/215631))
- Fixed sorting by Priority column in Network datagrids ([r215793](https://trac.webkit.org/changeset/215793))
- Fixed the display of Web Socket messages with non-latin letters ([r215388](https://trac.webkit.org/changeset/215388))
- Prevented showing the Search tab for location links, prefer the Resources tab ([r215630](https://trac.webkit.org/changeset/215630))
- Changed to treat Uint8ClampedArray as an array, not an object ([r215855](https://trac.webkit.org/changeset/215855))
- Fixed Command-G (⌘G) shortcut to allow Find next to work in the console ([r215795](https://trac.webkit.org/changeset/215795))
- Implemented autocompletion for CSS variables ([r215358](https://trac.webkit.org/changeset/215358))
- Updated the icon for the Ignore resource cache button in the Network Tab ([r215440](https://trac.webkit.org/changeset/215440))

### WebCrypto

- Added support for ECDSA ([r215423](https://trac.webkit.org/changeset/215423))
- Improved converting an ECDSA signature binary into DER format ([r215791](https://trac.webkit.org/changeset/215791))

### Accessibility

- Changed the role description of `<hr>` from “separator” to “rule” ([r215532](https://trac.webkit.org/changeset/215532))

### Media

- Restricted WebKit image formats to a known whitelist ([r215706](https://trac.webkit.org/changeset/215706), [r215829](https://trac.webkit.org/changeset/215829)). WebKit now only loads images of the following formats:
  - PNG (.png)
  - GIF (.gif)
  - JPEG (.jpg), (.jpeg), (.jpe), (.jif), (.jfif), (.jfi)
  - JPEG 2000 (.jp2), (.j2k), (.jpf), (.jpx), (.jpm), (.mj2)
  - TIFF (.tiff), (.tif)
  - MPO (.mpo)
  - Microsoft Bitmap (.bmp), (.dib)
  - Microsoft Cursor (.cur)
  - Microsoft Icon (.ico)

### Bug Fixes

- Fixed an issue where the status bar would not display modifier key information (e.g. “Open * in new tab” when holding the Command key) ([r215790](http://trac.webkit.org/r215790))
- Improved performance of typing on pages with many `<input>` elements
- Fixed an issue where a hardware “enter” key would not dismiss JavaScript `alert`, `confirm`, or `prompt`; previously, only the “return” key would dismiss a dialog
- Fixed QuotaExceededError when saving to localStorage in private browsing mode or WebDriver sessions ([r215315](https://trac.webkit.org/changeset/215315))
- Fixed an issue where the Content-Disposition header filename was ignored when the download attribute is specified ([r215736](https://trac.webkit.org/changeset/215736/webkit))
- Fixed escaping ‘<’ and ‘>’ in attribute values when using `XMLSerializer.serializeToString()` API ([r215648](https://trac.webkit.org/changeset/215648/webkit))
- Fixed issues causing `beforeunload` dialog to be shown even though the user did not interact with the page ([r215404](https://trac.webkit.org/changeset/215404))
- Changed all CORS requests and cross origin access from `file://` to be blocked unless Disable Local File Restrictions is selected from the Develop menu

---

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)