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

# Safari Technology Preview 2 Release Notes

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

## Overview

[Safari Technology Preview](/blog/6017/introducing-safari-technology-preview/) Release 2 is now [available for download](https://developer.apple.com/safari/download/). If you already have Safari Technology Preview installed, you can update from the [Mac App Store’s Updates tab](macappstore://showUpdatesPage). Release 2 of Safari Technology Preview covers WebKit revisions [198530–199085](https://trac.webkit.org/log?action=stop_on_copy&mode=follow_copy&rev=199085&stop_rev=198530&limit=999).

### Browser Differences

- Changed the CFBundleSignature to allow Apple Events, like those sent from AppleScript, to correctly distinguish between Safari and Safari Technology Preview

### JavaScript

- Added ES6 support for `Symbol.isConcatSpreadable` ([r198808](https://trac.webkit.org/changeset/198808/))
- Disallowed `var` assignments in `for-in` loops according to ES6 specs ([r198928](https://trac.webkit.org/changeset/198928/))
- Improved stability for ES6 classes when invoking a method of the parent class before calling `super()` in a constructor ([r198714](https://trac.webkit.org/changeset/198714/))
- Allowed `undefined` or `null` for `Symbol.search` and `Symbol.match` ([r198581](https://trac.webkit.org/changeset/198581/))
- Enabled `Array.prototype` native functions’ species constructors to work with proxies ([r198589](https://trac.webkit.org/changeset/198589/))
- Implemented the proposal for `String.prototype.padStart()` and `String.prototype.padEnd()` ([r198674](https://trac.webkit.org/changeset/198674/))
- Implemented ES6 spec for `String.prototype.match` and `RegExp.prototype[@@match]` ([r198554](https://trac.webkit.org/changeset/198554/))
- Included a workaround for web compatibility on ES6 TypeErrors when accessing `RegExp.prototype` flag properties ([r198698](https://trac.webkit.org/changeset/198698/))
- Corrected quantified unicode regular expressions ([r198866](https://trac.webkit.org/changeset/198866/))
- Ensured greedy unicode regular expressions properly backtrack past non-BMP characters ([r198624](https://trac.webkit.org/changeset/198624/))

### CSS

- Implemented the `allow-end` value of the `hanging-punctuation` CSS property ([r198683](https://trac.webkit.org/changeset/198683/))
- Improved web compatibility by resetting CSS spacing rules on `<math>` elements ([r198952](https://trac.webkit.org/changeset/198952/))
- Added the new `color-gamut` CSS media query ([r199024](https://trac.webkit.org/changeset/199024/))
- Updated screen queries to check the capabilities of the current screen instead of the deepest available screen ([r198595](https://trac.webkit.org/changeset/198595/))

### Web APIs

- Restricted WebSockets header parsing according to RFC6455 and RFC7230 ([r198561](https://trac.webkit.org/changeset/198561/))
- Improved performance of certain draw calls in WebGL with a non-power-of-two texture optimization ([r198588](https://trac.webkit.org/changeset/198588/))
- Disabled the Fetch API until the implementation is ready to be enabled by default ([r199081](https://trac.webkit.org/changeset/199081/))
- Enhanced Shadow DOM support to compute styles for the style attribute of `<slot>` elements ([r198990](https://trac.webkit.org/changeset/198990/))
- Softened `pushState` and `replaceState` frequency restrictions ([r198687](https://trac.webkit.org/changeset/198687/))

### Web Inspector

- Timelines tab performance and bug fixes ([r198550](https://trac.webkit.org/changeset/198550/), [r198563](https://trac.webkit.org/changeset/198563/), [r198601](https://trac.webkit.org/changeset/198601/), [r198602](https://trac.webkit.org/changeset/198602/), [r198603](https://trac.webkit.org/changeset/198603/), [r198618](https://trac.webkit.org/changeset/198618/), [r198620](https://trac.webkit.org/changeset/198620/), [r198745](https://trac.webkit.org/changeset/198745/), [r199077](https://trac.webkit.org/changeset/199077/), [r199085](https://trac.webkit.org/changeset/199085/))
- Disabled `debugger` statements and breakpoints while profiling a page to ensure maximum performance accuracy ([r198648](https://trac.webkit.org/changeset/198648/))
- Added the ability to configure timeline instruments to use for recordings ([r198537](https://trac.webkit.org/changeset/198537/))
- Added a paint count indicator in the top left corner of non-opaque layers ([r198599](https://trac.webkit.org/changeset/198599/))
- Added `font-variant-numeric` to CSS autocompletions ([r198750](https://trac.webkit.org/changeset/198750/))
- Added the `console.takeHeapSnapshot` method for capturing heap snapshots ([r198786](https://trac.webkit.org/changeset/198786/))
- Changed details sidebar shortcuts to Command-Option-0 and Command-Shift-0 ([r199082](https://trac.webkit.org/changeset/199082/))
- Double-quotes and backslashes in strings are now displayed correctly in the console ([r198585](https://trac.webkit.org/changeset/198585/))
- Improved the consistency of CSP directive violation messages  reported in the console ([r198591](https://trac.webkit.org/changeset/198591/))

### Accessibility

- Corrected new lines in content editable elements to notify accessibility ([r199030](http://trac.webkit.org/changeset/199030/trunk))
- Updated the handling of SVG elements with a presentational role to be the same as other host language elements ([r198870](http://trac.webkit.org/changeset/198870/trunk))
- Limited the numbered list announcement for a list item number to the first line of text in the list item ([r198806](http://trac.webkit.org/changeset/198806/trunk))
- Changed the accessibility role descriptions for JavaScript alerts to “web dialog” and “web alert dialog” to make them more understandable to screen reader users ([r198543](http://trac.webkit.org/changeset/198543/trunk))

### Rendering

- Updated backdrop filter to repaint when changed in JavaScript ([r198963](http://trac.webkit.org/changeset/198963/trunk))
- Corrected drawing SVG stroke patterns for objects with empty bounding box elements ([r198574](http://trac.webkit.org/changeset/198574/trunk))

### Media

- Improved stability when an audio source is changed while being processed ([r198654](http://trac.webkit.org/changeset/198654/trunk))
- Fixed audio track listings ([r198703](http://trac.webkit.org/changeset/198703/trunk))

### Networking

- Improved the reliability of speculative disk cache validation requests with the HTTP `Referer` header ([r198741](http://trac.webkit.org/changeset/198741/trunk))

### Bug Fixes

- Fixed autoscrolling in a drag selection when a window is against the screen edge, including while in full screen mode ([r198692](http://trac.webkit.org/changeset/198692/trunk))

---

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)