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

# Safari Technology Preview 27 Release Notes

Preview the latest web technology updates including: Browser Changes, JavaScript, Web API, Rendering, CSS, Media, Web Inspector, Accessibility, and WebCrypto.

## Overview

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

### Browser Changes

- Added a “Reload Page From Origin” alternate menu item to the View menu. This action reloads a page without using cached resources.
- Removed the Option-Command-R (⌥⌘R) keyboard shortcut from “Enter/Exit Responsive Design Mode” and mapped it to “Reload Page From Origin” instead.
- Removed the Disable Caches menu item in the Develop menu. The equivalent functionality is now available through Web Inspector’s Network tab.

### JavaScript

- Implemented ESNext Object Spread proposal ([r214038](https://trac.webkit.org/changeset/214038/webkit/))
- Changed to allow labels named `let` when parsing a statement in non-strict mode ([r213850](https://trac.webkit.org/changeset/213850/webkit/))
- Fixed `const location = "foo"`  in a worker to not throw a `SyntaxError`  ([r214145](https://trac.webkit.org/changeset/214145/webkit/))

### Web API

- Aligned `initEvent`, `initCustomEvent`, `initMessageEvent` with the latest specification ([r213825](https://trac.webkit.org/changeset/213825/webkit/))
- Aligned `Document.elementFromPoint()` with the CSSOM specification ([r213836](https://trac.webkit.org/changeset/213836/webkit/))
- Changed `XMLHttpRequest getAllResponseHeaders()` to transform header names to lowercase before sorting ([r214252](https://trac.webkit.org/changeset/214252/webkit/))
- Fixed sending an empty `"Access-Control-Request-Headers"` in preflight requests ([r214254](https://trac.webkit.org/changeset/214254/webkit/))
- Implemented `self.origin` ([r214147](https://trac.webkit.org/changeset/214147/webkit/))
- Implemented the “noopener” feature for `window.open()` ([r214251](https://trac.webkit.org/changeset/214251/webkit/))
- Improved index validation when using uint index values in WebGL ([r214086](https://trac.webkit.org/changeset/214086/webkit/))
- Prevented `beforeunload` alerts when the user hasn’t interacted with the web page ([r214277](https://trac.webkit.org/changeset/214277/webkit/))
- Prevented `innerText` setter from inserting an empty text node if the value starts with a newline ([r214136](https://trac.webkit.org/changeset/214136/webkit/))
- Prevented new navigations during document unload ([r214365](https://trac.webkit.org/changeset/214365/webkit/))
- Prevented WebSQL databases from being openable in private browsing ([r214309](https://trac.webkit.org/changeset/214309/webkit/))
- Changed serialization of custom properties in longhand to be `""`, not the value of the shorthand property ([r214383](https://trac.webkit.org/changeset/214383/webkit/))
- Changed to tear down descendant renderers when a `<slot>` display value is set to `"contents"` ([r214232](https://trac.webkit.org/changeset/214232/webkit/))

### Rendering

- Fixed pausing animated SVG images when they are outside the viewport, or removed from the document ([r214503](https://trac.webkit.org/changeset/214503/webkit/), [r214327](https://trac.webkit.org/changeset/214327/webkit/))
- Changed asynchronous image decoding to consider when the drawing size is smaller than the size of the image ([r213830](https://trac.webkit.org/changeset/213830/webkit/))
- Prevented large images from being decoded asynchronously when they are drawn on a canvas ([r214450](https://trac.webkit.org/changeset/214450/webkit/))
- Fixed the flow state for positioned inline descendants ([r214119](https://trac.webkit.org/changeset/214119/webkit/))
- Fixed initial letter rendering that follows pagination ([r214110](https://trac.webkit.org/changeset/214110/webkit/))
- Fixed clipping columns horizontally in multi-column layout ([r213832](https://trac.webkit.org/changeset/213832/webkit/))
- Fixed animated GIFs that fail to play in multi-column layout ([r213826](https://trac.webkit.org/changeset/213826/webkit/))

### CSS

- Fixed an issue where a dynamically applied `:empty` pseudo class with `display:none` does not get unapplied ([r214290](https://trac.webkit.org/changeset/214290/webkit/))
- Unprefixed `-webkit-min-content`, `-webkit-max-content` and `-webkit-fit-content` ([r213831](https://trac.webkit.org/changeset/213831/webkit/))

### Media

- Fixed loading media files in a `<video>` tag that are served without a filename extension ([r214269](https://trac.webkit.org/changeset/214269/webkit/))
- Suspended silent videos playback in background tabs to save CPU ([r214195](https://trac.webkit.org/changeset/214195/webkit))

### Web Inspector

- Added “Disable Caches” toggle in the Network tab that only applies to the inspected page while Web Inspector is open. ([r214494](https://trac.webkit.org/changeset/214494/webkit/))
- Added “Save Selected” context menu item to Console ([r214077](https://trac.webkit.org/changeset/214077/webkit/))
- Added RTL support to the Timeline tab ([r213925](https://trac.webkit.org/changeset/213925/webkit/), [r213942](https://trac.webkit.org/changeset/213942/webkit/), [r213928](https://trac.webkit.org/changeset/213928/webkit/), [r213997](https://trac.webkit.org/changeset/213997/webkit/), [r213924](https://trac.webkit.org/changeset/213924/webkit/), [r214009](https://trac.webkit.org/changeset/214009/webkit/), [r214062](https://trac.webkit.org/changeset/214062/webkit/), [r214076](https://trac.webkit.org/changeset/214076/webkit/))
- Added RTL support for the Find banner ([r214048](https://trac.webkit.org/changeset/214048/webkit/))
- Added more accurate Resource Timing data in Web Inspector ([r213917](https://trac.webkit.org/changeset/213917/webkit/))
- Added context menu item to log content of WebSocket frame ([r214371](https://trac.webkit.org/changeset/214371/webkit/))
- Added icons for SVG Image cluster path components ([r214011](https://trac.webkit.org/changeset/214011/webkit/))
- Added keyboard shortcut to clear timeline records ([r214140](https://trac.webkit.org/changeset/214140/webkit/))
- Added a connection indicator for when a WebSocket connection is open or close ([r214354](https://trac.webkit.org/changeset/214354/webkit/))
- Changed Option-clicking the close tab button to close all other tabs ([r214464](https://trac.webkit.org/changeset/214464/webkit/))
- Changed to allow the user to copy locked CSS selectors in Style Rules sidebar ([r213887](https://trac.webkit.org/changeset/213887/webkit/))
- Changed to allow users to click links in inline and user-agent styles ([r214366](https://trac.webkit.org/changeset/214366/webkit/))
- Changed SVG image content view to allow toggling between the image and source ([r213999](https://trac.webkit.org/changeset/213999/webkit/))
- Changed Event Listeners detail section to show listeners by element rather than by event ([r213874](https://trac.webkit.org/changeset/213874/webkit/))
- Changed Event Listeners to add missing ‘once’ and ‘passive’ event listener flags ([r213873](https://trac.webkit.org/changeset/213873/webkit/))
- Fixed an issue where adding a WebSocket message could change the currently selected resource ([r214387](https://trac.webkit.org/changeset/214387/webkit/))
- Fixed clicking DOM breakpoint marker to enable and disable breakpoints ([r214256](https://trac.webkit.org/changeset/214256/webkit/))
- Fixed an exception when clicking on Clear Network Items icon with the timing popover visible ([r214199](https://trac.webkit.org/changeset/214199/webkit/))
- Fixed local storage keys and values starting with truncated strings ([r214308](https://trac.webkit.org/changeset/214308/webkit/))
- Fixed empty attributes added to a DOM tree outline element adding whitespace within the tag ([r214141](https://trac.webkit.org/changeset/214141/webkit/))
- Fixed an exception when fetching computed styles that can break future updates of section ([r213961](https://trac.webkit.org/changeset/213961/webkit/))
- Fixed syntax highlighting and formatting when inspecting a main resource that is JavaScript or JSON ([r214492](https://trac.webkit.org/changeset/214492/webkit/))
- Fixed pseudo-class markers overlapping DOM breakpoints and disclosure triangles ([r214196](https://trac.webkit.org/changeset/214196/webkit/))
- Fixed an issue causing the Resource details sidebar to display previous image metrics when viewing resource where content load failed ([r214436](https://trac.webkit.org/changeset/214436/webkit/))
- Fixed text selection in the Console to select only message text ([r214024](https://trac.webkit.org/changeset/214024/webkit/))
- Fixed formatting JSON request data ([r214487](https://trac.webkit.org/changeset/214487/webkit/))
- Fixed the filename used when saving a resource from the resource image content view ([r214133](https://trac.webkit.org/changeset/214133/webkit/))
- The file save dialog no longer suggests the top level directory as the default location ([r214442](https://trac.webkit.org/changeset/214442/webkit/))

### Accessibility

- Fixed VoiceOver for editable text on the web ([r214112](https://trac.webkit.org/changeset/214112/webkit/))

### WebCrypto

- Added support for SPKI/PKCS8 Elliptic Curve cryptography ([r214074](https://trac.webkit.org/changeset/214074/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)