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

# Safari Technology Preview 50 Release Notes

Preview the latest web technology updates including: Service Workers, Web App Manifest, Payment Request, Web API, Rendering, Web Inspector, Web Driver, Accessibility, and JavaScript.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 50 is now [available for download](https://webkit.org/downloads/) for macOS Sierra and macOS High 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 [227873-228454](https://trac.webkit.org/log?stop_rev=227873&rev=228454&limit=999).

### Service Workers

- Added support for cache storage of blob responses ([r228326](https://trac.webkit.org/changeset/228326/webkit/))
- Changed to queue a microtask when a `waitUntil()` promise is settled ([r227959](https://trac.webkit.org/changeset/227959/webkit/))
- Delayed service worker process creation until actually needed ([r227989](https://trac.webkit.org/changeset/227989/webkit/))
- Delayed saving service worker registrations to disk until after the activation succeeds ([r228180](https://trac.webkit.org/changeset/228180/webkit/))
- Fixed issue with IndexedDB databases not persisting inside Service Workers ([r228230](https://trac.webkit.org/changeset/228230/webkit))
- Fixed issue where service workers jobs would sometimes not get processed anymore ([r228101](https://trac.webkit.org/changeset/228101/webkit))
- Fixed clearing a registration to properly null out its workers before setting their state to `"redundant"` ([r228015](https://trac.webkit.org/changeset/228015/webkit/))
- Fixed clearing all service worker registrations to wait for importing the service worker registration to finish ([r228025](https://trac.webkit.org/changeset/228025/webkit/), [r228034](https://trac.webkit.org/changeset/228034/webkit/))
- Started nulling out registration.installing before setting service worker state to “redundant” when install fails ([r227997](https://trac.webkit.org/changeset/227997/webkit/))

### Web App Manifest

- Changed to default Web App Manifest scope to the containing directory of the start URL when `'scope'` is not specified ([r228036](https://trac.webkit.org/changeset/228036/webkit/))

### Payment Request

- Changed `show()` to take an optional PaymentDetailsUpdate promise ([r228195](https://trac.webkit.org/changeset/228195/webkit/))
- Fixed payment sheet not dismissing when calling `complete()` with result `"unknown"` or `"fail"` ([r228342](https://trac.webkit.org/changeset/228342/webkit/))

### Web API

- Implemented `createImageBitmap(HTMLVideoElement)` ([r228092](https://trac.webkit.org/changeset/228092/webkit/))

### Rendering

- Corrected invaliding style for sibling combinators on class change ([r227956](https://trac.webkit.org/changeset/227956/webkit/))
- Fixed rendering SVG images with same size as WebGL texture ([r228213](https://trac.webkit.org/changeset/228213/webkit/))
- Fixed computing `inline-block` baseline for vertical-lr ([r227947](https://trac.webkit.org/changeset/227947/webkit/))

### Web Inspector

- Added listing of Canvases, Programs, and Recordings to the sidebar ([r228301](https://trac.webkit.org/changeset/228301/webkit/))
- Fixed the Canvas tab tree selection abruptly changing when selecting a recording frame ([r228362](https://trac.webkit.org/changeset/228362/webkit/))
- Fixed pasting multiple properties to create properties instead of causing a bad property in the Styles Sidebar ([r228030](https://trac.webkit.org/changeset/228030/webkit/))
- Fixed the completion popover not hiding when switching panels in the Styles Sidebar ([r228232](https://trac.webkit.org/changeset/228232/webkit/))
- Fixed typing a value and quickly moving focus away sometimes displaying an outdated value in the Styles Sidebar ([r228296](https://trac.webkit.org/changeset/228296/webkit/))
- Updated the Elements tab to have “Jump to Layer” functionality ([r228215](https://trac.webkit.org/changeset/228215/webkit/))

### Web Driver

- Changed cookies returned by automation to have expiry time in seconds ([r227891](https://trac.webkit.org/changeset/227891/webkit/))
- Changed to not return an error if resizing or moving a window has no effect ([r228434](https://trac.webkit.org/changeset/228434/webkit/))
- Prepended a dot to the domain when missing in the addCookie command ([r228087](https://trac.webkit.org/changeset/228087/webkit/), [r228371](https://trac.webkit.org/changeset/228371/webkit/))

### Accessibility

- Fixed Accessibility getting notified when a web process cancels suspension ([r228350](https://trac.webkit.org/changeset/228350/webkit/))
- Deferred attribute computation until needed ([r228279](https://trac.webkit.org/changeset/228279/webkit/))
- Deferred focus notifications for UI elements ([r228417](https://trac.webkit.org/changeset/228417/webkit/))

### JavaScript

- Changed to throw an exception when using structured cloning on a Symbol ([r227969](https://trac.webkit.org/changeset/227969/webkit/))
- Fixed an incorrect case of variable resolution to consult the global lexical environment first before the global object ([r227898](https://trac.webkit.org/changeset/227898/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)