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

# Safari Technology Preview 43 Release Notes

Preview the latest web technology updates including: Cache Storage API, Web Animations, ImageBitmap, Geolocation API, Drag and Drop, CSS, Rendering, WebGL, Bug Fixes, JavaScript, Web Inspector, Web API, Web Driver, Payment Request, Subresource Integrity, and Accessibility.

## Overview

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

If you recently updated from macOS Sierra to macOS High Sierra, you may need to install the High Sierra version of Safari Technology Preview manually.

### Cache Storage API

- Activated Cache Storage API by default ([r223433](https://trac.webkit.org/changeset/223433/webkit/))
- Added API to clean CacheStorage data ([r223213](https://trac.webkit.org/changeset/223213/webkit/), [r223220](https://trac.webkit.org/changeset/223220/webkit/), [r223263](https://trac.webkit.org/changeset/223263/webkit/), [r223702](https://trac.webkit.org/changeset/223702/webkit/))
- Enabled Cache Storage API implementation to compute storage size ([r223558](https://trac.webkit.org/changeset/223558/webkit/))
- Implemented listing origins for which CacheStorage is storing data ([r223299](https://trac.webkit.org/changeset/223299/webkit/))

### Web Animations

- Added animations to the timeline ([r223825](https://trac.webkit.org/changeset/223825/webkit/))
- Added basic timing and target properties ([r223883](https://trac.webkit.org/changeset/223883/webkit/))
- Provided basic timeline and animation interfaces ([r223779](https://trac.webkit.org/changeset/223779/webkit/))

### ImageBitmap

- Added support for `createImageBitmap` with basic HTMLImageElement ([r223819](https://trac.webkit.org/changeset/223819/webkit/))
- Added `createImageBitmap` to Window and Worker ([r223775](https://trac.webkit.org/changeset/223775/webkit/))
- Aligned ImageData constructor with the specification ([r223611](https://trac.webkit.org/changeset/223611/webkit/))
- Implemented `drawImage(ImageBitmap)` on 2D canvas ([r223843](https://trac.webkit.org/changeset/223843/webkit/))
- Implemented resizing options for ImageBitmap rendering ([r223925](https://trac.webkit.org/changeset/223925/webkit/))

### Geolocation API

- Exposed `Coordinates.floorLevel` ([r223211](https://trac.webkit.org/changeset/223211/webkit/))

### Drag and Drop

- Fixed `event.dataTransfer.getData("text/uri-list")` to return an HTTP or HTTPS URL for a dragged image ([r223340](https://trac.webkit.org/changeset/223340/webkit/))
- Exposed “text/html” data when dragging and dropping across origins ([r223278](https://trac.webkit.org/changeset/223278/webkit/))
- Prevented exposing raw HTML in pasteboard to the web content ([r223678](https://trac.webkit.org/changeset/223678/webkit/))

### CSS

- Added support for `::before` and `::after` pseudo elements on elements with `display:contents` ([r223748](https://trac.webkit.org/changeset/223748/webkit/), [r223810](https://trac.webkit.org/changeset/223810/webkit/), [r223898](https://trac.webkit.org/changeset/223898/webkit/))
- Resolved `::before` and `::after` pseudo elements during style resolution ([r223604](https://trac.webkit.org/changeset/223604/webkit/))

### Rendering

- Fixed overlapping text on all CSS fonts specifications ([r223688](https://trac.webkit.org/changeset/223688/webkit/))
- Avoided triggering layout from a style change ([r223210](https://trac.webkit.org/changeset/223210/webkit/))
- Fixed fonts that are erroneously invisible when the policy says they should be visible ([r223576](https://trac.webkit.org/changeset/223576/webkit/))
- Fixed UTF-8 decoding to produce one replacement character per illegal sequence instead of per byte ([r223329](https://trac.webkit.org/changeset/223329/webkit/))
- Fixed corrupted image after looping movie-backed `<img>` ([r223564](https://trac.webkit.org/changeset/223564/webkit/))

### WebGL

- Added WebGL2 `texImage3D` overloads ([r223501](https://trac.webkit.org/changeset/223501/webkit/))
- Avoided duplicate multisample resolve before WebGL compositing ([r223707](https://trac.webkit.org/changeset/223707/webkit/))
- Removed proprietary constants from WebGL2RenderingContext ([r223743](https://trac.webkit.org/changeset/223743/webkit/))
- Improved performance by performing pixel conformance and texturing in a single step ([r223280](https://trac.webkit.org/changeset/223280/webkit/))
- Improved performance by skipping texture upload if the source image and destination texture haven’t changed ([r223315](https://trac.webkit.org/changeset/223315/webkit/))
- Updated the signatures of `texSubImage3D` ([r223602](https://trac.webkit.org/changeset/223602/webkit/))
- WebGL clamps `drawingBufferWidth` to 4096 pixels on a 5120 monitor or canvas ([r223567](https://trac.webkit.org/changeset/223567/webkit/))

### Bug Fixes

- Fixed an issue where the Delete button didn’t fully delete certain emoji ([r223578](https://trac.webkit.org/changeset/223578/webkit/))
- Updated cookie partition to add and remove accordingly in intermediary redirect requests ([r223565](https://trac.webkit.org/changeset/223565/webkit/))

### JavaScript

- Optimized `__proto__` getter to be faster ([r223594](https://trac.webkit.org/changeset/223594/webkit/))

### Web Inspector

The redesigned styles sidebar can be enabled in the Web Inspector Settings tab under Experimental.

- Turned on the new Network Tab by default ([r223778](https://trac.webkit.org/changeset/223778/webkit/))
- Turned on the Canvas Tab by default ([r223920](https://trac.webkit.org/changeset/223920/webkit/))
- Added support for HAR Export in the Network Tab ([r223856](https://trac.webkit.org/changeset/223856/webkit/))
- Enabled a JSON tree view for JSON content ([r223806](https://trac.webkit.org/changeset/223806/webkit/))
- Fixed resizing the Console drawer to match the cursor position ([r223931](https://trac.webkit.org/changeset/223931/webkit/))
- Enabled up and down arrows to modify CSS number values in the redesigned styles sidebar ([r223336](https://trac.webkit.org/changeset/223336/webkit/))
- Added color picker inline widget to the redesigned styles sidebar ([r223575](https://trac.webkit.org/changeset/223575/webkit/))
- Applied syntax highlighting to property values in the redesigned styles sidebar ([r223453](https://trac.webkit.org/changeset/223453/webkit/))
- Enabled autocompletion to property names and values in the redesigned styles sidebar ([r223283](https://trac.webkit.org/changeset/223283/webkit/))
- Enabled the go-to arrow in the Computed Tab of the redesigned styles sidebar ([r223333](https://trac.webkit.org/changeset/223333/webkit/))
- Fixed Layers Tab mistakenly throwing out the root element’s layer ([r223428](https://trac.webkit.org/changeset/223428/webkit/))
- Made 3D objects selectable in the Layers Tab visualization ([r223209](https://trac.webkit.org/changeset/223209/webkit/))
- Changed the split console to use the full width of the tab view ([r223310](https://trac.webkit.org/changeset/223310/webkit/))
- Changed Clear button back to the Trash icon in all tabs ([r223268](https://trac.webkit.org/changeset/223268/webkit/))
- Prevented popovers when scrolling the editor while debugging ([r223807](https://trac.webkit.org/changeset/223807/webkit/))

### Web API

- Prevented detection of HTML or XML when an XMLHttpRequest `responseType` is set to “text” ([r223217](https://trac.webkit.org/changeset/223217/webkit/))
- Prevented `DOMTokenList` from adding empty attributes ([r223306](https://trac.webkit.org/changeset/223306/webkit/))
- Stopped key events from updating `Document.lastHandledUserGestureTimestamp` unless a key event is handled ([r223626](https://trac.webkit.org/changeset/223626/webkit/))
- Added support for `MouseEvent.buttons` ([r223264](https://trac.webkit.org/changeset/223264/webkit/))
- Removed Fetch `Request.type` getter ([r223441](https://trac.webkit.org/changeset/223441/webkit/))

### Web Driver

- Fixed handling of keyboard shortcut for “Select All” (⌃A) ([r223869](https://trac.webkit.org/changeset/223869/webkit/))
- Simulating keyboard shortcuts for disallowed actions no longer triggers the glass pane dialog

### Payment Request

- Implemented the “PaymentRequest updated” algorithm ([r223910](https://trac.webkit.org/changeset/223910/webkit/))
- Implemented a `paymentmethodselected` event for PaymentRequest ([r223945](https://trac.webkit.org/changeset/223945/webkit/))
- Changed processing shipping options only if shipping is requested, and throw an exception on duplicate shipping option IDs ([r223701](https://trac.webkit.org/changeset/223701/webkit/))
- Changed to resolve the accept promise for `PaymentRequest.show()` when a payment is authorized ([r223855](https://trac.webkit.org/changeset/223855/webkit/))

### Subresource Integrity

- Added support for `integrity=""` on module scripts ([r223237](https://trac.webkit.org/changeset/223237/webkit/))

### Accessibility

- Exposed explicitly-set `aria-sort` value of `"none"` as an object attribute ([r223522](https://trac.webkit.org/changeset/223522/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)