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

# Safari Technology Preview 25 Release Notes

Preview the latest web technology updates including: Resource Timing, User Timing, WebCrypto, Web API, Web Inspector, CSS, Rendering, Media, and bug fixes.

## Overview

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

### Resource Timing

- Added Resource Timing as an experimental feature enabled by default ([r212945](https://trac.webkit.org/changeset/212945))
- Added Resource Timing support in Workers ([r212449](https://trac.webkit.org/changeset/212449))
- Improved gathering timing information with reliable `responseEnd` time ([r212993](https://trac.webkit.org/changeset/212993))
- Changed loads initiated by media elements to set the initiatorType to their element name ([r212994](https://trac.webkit.org/changeset/212994))

### User Timing

- Enabled User Timing by default as an experimental feature ([r212945](https://trac.webkit.org/changeset/212945))
- Changed `performance.measure` in Workers to throw a SyntaxError if provided mark name is not found ([r212806](https://trac.webkit.org/changeset/212806))

### WebCrypto

- Added support for AES-CFB ([r212736](https://trac.webkit.org/changeset/212736))

### Web API

- Added a new `webglcontextchanged` event that is dispatched when the GraphicsContext3D notices that the active GPU has changed ([r212637](https://trac.webkit.org/changeset/212637))
- Changed the `onbeforeunload` event return value coercion to match specification behavior ([r212625](https://trac.webkit.org/changeset/212625))
- Exposed `Symbol.toPrimitive` and `Symbol.valueOf` on `Location` instances ([r212378](https://trac.webkit.org/changeset/212378))
- Fixed `<input type=color>` and `<input type=range readonly>` to prevent applying the `readonly` attribute to match specifications  ([r212617](https://trac.webkit.org/changeset/212617), [r212610](https://trac.webkit.org/changeset/212610))
- Fixed handling of `<input>.labels` when the input type changes from `"text"` to `"hidden"` to `"checkbox"` ([r212522](https://trac.webkit.org/changeset/212522))
- Prevented aggressive throttling of DOM timers until they’ve reached their maximum nesting level ([r212845](https://trac.webkit.org/changeset/212845))

### Web Inspector

- Enabled `import()` for modules in Web Inspector console ([r212438](https://trac.webkit.org/changeset/212438))
- Changed the zoom level in the Settings tab to use localized formatting ([r212578](https://trac.webkit.org/changeset/212578))
- Changed Web Inspector to use the Resources tab when showing files instead of the Network tab ([r212761](https://trac.webkit.org/changeset/212761))
- Changed the split console to be allowed in the Elements, Resources, Debugger, and Storage tabs when Web Inspector is docked to the bottom ([r212400](https://trac.webkit.org/changeset/212400))
- Changed CSS variable uses that are unresolved to get marked with a warning icon ([r213187](https://trac.webkit.org/changeset/213187))
- Fixed the Zoom level user interface to match the the setting value ([r212580](https://trac.webkit.org/changeset/212580))
- Prevented dismissing popovers when dragging a Web Inspector window ([r212427](https://trac.webkit.org/changeset/212427))
- Improved copy and paste behavior for request headers ([r212423](https://trac.webkit.org/changeset/212423))
- Included additional detail in the display name of Timeline data elements ([r212570](https://trac.webkit.org/changeset/212570))

### CSS

- Fixed centering text inside a button set to `display:flex` with `justify-content:center` ([r213173](https://trac.webkit.org/changeset/213173))
- Unprefixed `-webkit-line-break` ([r213094](https://trac.webkit.org/changeset/213094))

### Rendering

- Prevented fixed elements from bouncing when scrolling beyond the bottom of the page ([r212559](https://trac.webkit.org/changeset/212559))
- Improved text wrapping consistency where text might wrap when its preferred logical width is used for sizing the containing block ([r213008](https://trac.webkit.org/changeset/213008))

### Media

- Fixed local audio-only streams to trigger playback to begin ([r212696](https://trac.webkit.org/changeset/212696))

### Bug Fixes

- Changed pending scripts to execute asynchronously after stylesheet loads are completed ([r212614](https://trac.webkit.org/changeset/212614))
- Fixed an issue where `font-weight` in `@font-face` can cause a font to be downloaded even when it’s not used ([r212513](https://trac.webkit.org/changeset/212513))
- Made special URLs without a host invalid ([r212470](https://trac.webkit.org/changeset/212470))

---

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)