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

# Safari Technology Preview 5 Release Notes

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

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 5 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 5 of Safari Technology Preview covers WebKit revisions [200418–201083](http://trac.webkit.org/log/?rev=201083&stop_rev=200418&limit=999).

### JavaScript

- Corrected the entropy of `Math.random()` for the first two invocations ([r201053](http://trac.webkit.org/changeset/201053))
- Corrected sticky `RegExp` handling when backtracking alternatives with dissimilar match lengths ([r200946](http://trac.webkit.org/changeset/200946))
- Fixed ES6 site compatibility when `Function.name` is inferred from property names ([r200423](http://trac.webkit.org/changeset/200423))
- Sped up ES6 `Array` iterators between 4x to 6x ([r200422](http://trac.webkit.org/changeset/200422))
- Made the `Object` constructor be aware of `new.target` by storing the target’s prototype to the newly created object’s prototype ([r200421](http://trac.webkit.org/changeset/200421))
- Fixed calls to getters and setters on `super` being called with wrong `this` object ([r200586](http://trac.webkit.org/changeset/200586))
- Improved error messages for accessing `arguments.callee` and similar getters in strict mode ([r200694](http://trac.webkit.org/changeset/200694))
- Made `TypedArray.prototype.slice` use the byteLength of passed array for memmove ([r200667](http://trac.webkit.org/changeset/200667))

### CSS

- Fixed the cascading order for `!important` properties in `::slotted` and `::host` rules correctly ([r201073](http://trac.webkit.org/changeset/201073))
- Added `color-gamut` media query support for wide gamut displays ([r201065](http://trac.webkit.org/changeset/201065))
- Made Web Fonts only download when characters are used in its `unicode-range` ([r200601](http://trac.webkit.org/changeset/200601))
- Restored legacy parsing of color attributes with 4 and 8 digits ([r200501](http://trac.webkit.org/changeset/200501))
- Corrected how transitions behave when `auto` values are used ([r200622](http://trac.webkit.org/changeset/200622))
- Unprefixed `-webkit-cross-fade()` ([r200888](http://trac.webkit.org/changeset/200888))
- Corrected `cross-fade()` rendering to match expectations ([r200889](http://trac.webkit.org/changeset/200889))
- Corrected how prefixed and unprefixed variants in `CSSStyleDeclaration` are handled ([r200769](http://trac.webkit.org/changeset/200769))
- Stopped attempting to compute min/max width for replaced elements with no intrinsic size ([r200486](http://trac.webkit.org/changeset/200486))
- Unprefixed CSS Grid Layout properties ([r200510](http://trac.webkit.org/changeset/200510))
- Fixed static position for positioned CSS Grid items ([r200572](http://trac.webkit.org/changeset/200572))
- Corrected parsing when just using `span` as a grid-line value ([r200755](http://trac.webkit.org/changeset/200755))
- Implemented CSS Grid auto-repeat computation ([r200618](http://trac.webkit.org/changeset/200618))

### Web APIs

- Started blocking Geolocation API calls on pages served over insecure connections ([r200686](http://trac.webkit.org/changeset/200686))
- Made `NodeList` iterable ([r200619](http://trac.webkit.org/changeset/200619))
- Added support for `title` attribute tooltips inside Shadow DOM content ([r200923](http://trac.webkit.org/changeset/200923))
- Stopped retargeting `event.target` when an event bubbles up from an assigned node to its assigned slot ([r200464](http://trac.webkit.org/changeset/200464))
- Enabled IndexedDB in Web Worker scripts ([r200697](http://trac.webkit.org/changeset/200697))
- Fixed IndexedDB transactions so they can’t be committed or aborted twice ([r200598](http://trac.webkit.org/changeset/200598))
- Started propagating user gesture state across `postMessage` boundaries ([r200908](http://trac.webkit.org/changeset/200908))
- Aligned `window.scroll()`, `scrollTo()`, and `scrollBy()` with the CSSOM spec with support for the `options` argument ([r200907](http://trac.webkit.org/changeset/200907))
- Made all scrolling height and width values be integral rounded ([r200915](http://trac.webkit.org/changeset/200915))
- Added support for `ArrayBufferView` in the CSS Font Loading API ([r200921](http://trac.webkit.org/changeset/200921))

### Web Inspector

- Hook up [ShadowChicken](https://webkit.org/blog/6240/ecmascript-6-proper-tail-calls-in-webkit/) in the *Debugger* tab to properly show tail call deleted frames ([r200981](http://trac.webkit.org/changeset/200981))
- Made `let` and `const` work as expected in Console evaluations ([r200533](http://trac.webkit.org/changeset/200533))
- Improved organization of the *Debugger* tab sidebar ([r200566](http://trac.webkit.org/changeset/200566), [r200600](http://trac.webkit.org/changeset/200600))
- Added *Object Graph* view to heap snapshots and removed the *Summary* view ([r200474](http://trac.webkit.org/changeset/200474), [r200517](http://trac.webkit.org/changeset/200517))
- Fixed sites that relied on putting custom properties on `console.prototype` ([r201022](http://trac.webkit.org/changeset/201022))
- Improved performance of filtering large timeline recordings ([r201047](http://trac.webkit.org/changeset/201047))
- Made *Inspect Element* and element selection work with Shadow DOM nodes ([r200539](http://trac.webkit.org/changeset/200539))
- Fixed the start times in the *Frames* timeline data grid ([r201082](http://trac.webkit.org/changeset/201082))
- Started persisting breakpoints in scripts named via `//# sourceURL` ([r201019](http://trac.webkit.org/changeset/201019))
- Fixed the scrollbar covering the last column in data grids when always showing scrollbars ([r200962](http://trac.webkit.org/changeset/200962))
- Fixed *Computed Style* so it no longer shows both prefixed and unprefixed variants of properties ([r200952](http://trac.webkit.org/changeset/200952))
- Made the *Call Trees* view in the *Timelines* tab filterable and hide it from views that are not filterable ([r200708](http://trac.webkit.org/changeset/200708), [r200873](http://trac.webkit.org/changeset/200873))
- Started showing in-progress message in timeline views that do not show data until the recording finishes ([r200573](http://trac.webkit.org/changeset/200573), [r200594](http://trac.webkit.org/changeset/200594))
- Improved performance of the *Console* when it tries to render thousands of messages at once ([r200471](http://trac.webkit.org/changeset/200471))
- Fixed filtering by duration in the *Frames* timeline view ([r200809](http://trac.webkit.org/changeset/200809))
- Fixed loading of `//# sourceMappingURL` with a relative URL ([r200806](http://trac.webkit.org/changeset/200806))
- Improved `console.count()` to better match other browsers
- Improved performance of the *Timelines* tab by profiling Web Inspector with Web Inspector ([r200740](http://trac.webkit.org/changeset/200740), [r200745](http://trac.webkit.org/changeset/200745), [r200773](http://trac.webkit.org/changeset/200773), [r200779](http://trac.webkit.org/changeset/200779), [r200949](http://trac.webkit.org/changeset/200949))

### Media

- Made media elements not pause right away when removed from the document ([r200431](http://trac.webkit.org/changeset/200431))
- Started returning a `Promise` from `HTMLMediaElement.prototype.play()` ([r200638](http://trac.webkit.org/changeset/200638))
- Stopped updating media duration at playback end while seeking ([r200675](http://trac.webkit.org/changeset/200675))

### Security

- Fixed case matching against the path portion of CSP source expression URLs that ends in a forward-slash ([r200445](http://trac.webkit.org/changeset/200445))
- Corrected a CORS check what was sometimes incorrectly failing for media loads ([r200493](http://trac.webkit.org/changeset/200493))

### Networking

- Stopped restarting a resource preload if there is already one pending for the same URL ([r200630](http://trac.webkit.org/changeset/200630))

### Accessibility

- Media controls are now keyboard accessible along with other Shadow DOM elements ([r200520](http://trac.webkit.org/changeset/200520))

### Bug Fixes

- Fixed large animated GIFs not animating until the last frame on slow networks ([r200939](http://trac.webkit.org/changeset/200939))
- Fixed Zoom In and Zoom Out on PDF documents ([r200611](http://trac.webkit.org/changeset/200611))

---

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)