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

# Safari Technology Preview 67 Release Notes

Preview the latest web technology updates including: Pointer Events, WebRTC, Media, CSS, JavaScript, Web Animations, Shadow DOM, Web API, Apple Pay, Web Inspector, Web Driver, and Storage.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 67 is now [available for download](https://webkit.org/downloads/) for macOS Mojave and macOS High Sierra. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS Mojave and from the Mac App Store’s Updates tab on macOS High Sierra. After updating to macOS Mojave, you may have to reinstall Safari Technology Preview.

This release covers WebKit revisions [236195-236793](https://trac.webkit.org/log?stop_rev=236195&rev=236793&limit=999).

### Pointer Events

- Added PointerEvent in the Experimental Features menu ([r236378](https://trac.webkit.org/changeset/236378/webkit/))
- Ensured PointerEvent is not visible when disabled ([r236410](https://trac.webkit.org/changeset/236410/webkit/))

### WebRTC

- Added RTCCodecStats support ([r236346](https://trac.webkit.org/changeset/236346/webkit/))
- Changed to allow IP mismatch for local connections on localhost ([r236316](https://trac.webkit.org/changeset/236316/webkit/))
- Cleaned up change handling for RealtimeMediaSource settings  ([r236646](https://trac.webkit.org/changeset/236646/webkit/))
- Fixed video track clone to preserve original property ([r236536](https://trac.webkit.org/changeset/236536/webkit/))
- Implemented sender and receiver getStats ([r236207](https://trac.webkit.org/changeset/236207/webkit/))
- Updated constraints supported by `getDisplayMedia` ([r236476](https://trac.webkit.org/changeset/236476/webkit/))

### Media

- Enabled H.264 Simulcast ([r236792](https://trac.webkit.org/changeset/236792/webkit/))
- Enabled Modern Encrypted Media API by default in the Experimental Features menu ([r236281](https://trac.webkit.org/changeset/236281/webkit/))
- Added WebM sanitization in EME ([r236256](https://trac.webkit.org/changeset/236256/webkit/), [r236307](https://trac.webkit.org/changeset/236307/webkit/))
- Introduced the concept of CDMInstanceSession for EME ([r236317](https://trac.webkit.org/changeset/236317/webkit/))
- Changed to use some tolerance when deciding whether a frame should be appended to the decode queue in MSE ([r236258](https://trac.webkit.org/changeset/236258/webkit/))
- Fixed a comparison with an uninitialized `greatestDecodeDuration` in MSE ([r236314](https://trac.webkit.org/changeset/236314/webkit/))
- Fixed an unwanted erased sample from the decode queue in MSE ([r236566](https://trac.webkit.org/changeset/236566/webkit/))
- Fixed WebVTT cue alignment ([r236531](https://trac.webkit.org/changeset/236531/webkit/))
- Updated the WebVTT parser according to new region syntax ([r236265](https://trac.webkit.org/changeset/236265/webkit/))

### CSS

- Fixed item alignment next to collapsed tracks with gutters in CSS Grid ([r236643](https://trac.webkit.org/changeset/236643/webkit/))
- Restricted the total combined size of backdrop filters ([r236306](https://trac.webkit.org/changeset/236306/webkit/))
- Fixed CSS reference filter with `feDisplacementMap` buffer corruption on Retina displays ([r236415](https://trac.webkit.org/changeset/236415/webkit/))
- Fixed updating `feMorphology` filter in CSS when the element moves ([r236416](https://trac.webkit.org/changeset/236416/webkit/))
- Fixed a garbled rendering of an image when `feConvolveMatrix` is applied to it on a Retina display ([r236412](https://trac.webkit.org/changeset/236412/webkit/))
- Started implementing CSS Custom Properties and Values ([r236273](https://trac.webkit.org/changeset/236273/webkit/))
- Implemented `initialValue` support for CSS Custom Properties and Values API ([r236379](https://trac.webkit.org/changeset/236379/webkit/))
- Made `overflow:overlay` a synonym for `overflow:auto` ([r236341](https://trac.webkit.org/changeset/236341/webkit/))
- Fixed `<form>` in quirks mode to have `margin-block-end:1em` ([r236673](https://trac.webkit.org/changeset/236673/webkit/))

### JavaScript

- Implemented BigInt support for bitwise `&` operation ([r236637](https://trac.webkit.org/changeset/236637/webkit/))
- Optimized `Array#indexOf` in the C++ runtime ([r236240](https://trac.webkit.org/changeset/236240/webkit/))
- Optimized `Array#lastIndexOf` in the C++ runtime ([r236496](https://trac.webkit.org/changeset/236496/webkit/))

### Web Animations

- Fixed accelerated animations to get suspended ([r236312](https://trac.webkit.org/changeset/236312/webkit/), [r236313](https://trac.webkit.org/changeset/236313/webkit/))
- Fixed endlessly calling `DocumentTimeline::updateAnimations()`  ([r236308](https://trac.webkit.org/changeset/236308/webkit/))
- Ensured renderers with accelerated animations have layers ([r236501](https://trac.webkit.org/changeset/236501/webkit/), [r236670](https://trac.webkit.org/changeset/236670/webkit/))

### Shadow DOM

- Added the support for users to select content across shadow boundaries ([r236519](https://trac.webkit.org/changeset/236519/webkit))
- Added the support for copying content across shadow boundaries ([r236785](https://trac.webkit.org/changeset/236785/webkit/))

### Web API

- Fixed custom elements in a reaction queue losing its JavaScript wrapper and becoming an HTMLUnknownElement ([r236376](https://trac.webkit.org/changeset/236376/webkit/))
- Fixed elements enqueued in mutation observers losing its JavaScript wrappers ([r236519](https://trac.webkit.org/changeset/236519/webkit))
- Changed `Image.proto` to be a `Function.prototype` not an `HTMLElement.prototype` ([r236769](https://trac.webkit.org/changeset/236769/webkit/))
- Fixed radio inputs and checkbox inputs to fire “click”, “input”, and “change” events in order when clicked ([r236779](https://trac.webkit.org/changeset/236779/webkit/))
- Simplified authentication code ([r236344](https://trac.webkit.org/changeset/236344/webkit/))
- Changed `document.open()` to not propagate URLs to non-fully active documents ([r236550](https://trac.webkit.org/changeset/236550/webkit/))
- Changed `document.open()` to throw errors for cross-origin calls ([r236613](https://trac.webkit.org/changeset/236613/webkit/))
- Changed to strip the fragment from the document URL during `document.open()` URL propagation ([r236560](https://trac.webkit.org/changeset/236560/webkit/))
- Fixed no-op `document.open()` calls to ensure no side effects ([r236433](https://trac.webkit.org/changeset/236433/webkit/))
- Dropped support for the `cross-origin-window-policy` header ([r236623](https://trac.webkit.org/changeset/236623/webkit/))

### Apple Pay

- Added support for granular errors in PaymentDetailsUpdate ([r236552](https://trac.webkit.org/changeset/236552/webkit/))
- Removed the “in-store” button type ([r236615](https://trac.webkit.org/changeset/236615/webkit/))

### Web Inspector

- Fixed an issue that caused Web Inspector’s tabs to be hidden when docked to the side ([r236411](https://trac.webkit.org/changeset/236411/webkit/))
- Fixed an issue that caused dock buttons to disappear when Web Inspector goes fullscreen ([r236375](https://trac.webkit.org/changeset/236375/webkit/))
- The Debugger tab now has one unified section for all breakpoint types ([r236540](https://trac.webkit.org/changeset/236540/webkit/))
- Fixed the light background on new watch expression popover in Dark Mode ([r236532](https://trac.webkit.org/changeset/236532/webkit/))
- Fixed image resources without content getting shown when the Images folder is selected ([r236596](https://trac.webkit.org/changeset/236596/webkit/))
- Removed the Legacy Style Editor ([r236336](https://trac.webkit.org/changeset/236336/webkit/))
- Removed the Visual Style CSS details sidebar panel ([r236298](https://trac.webkit.org/changeset/236298/webkit/))
- Reworked the Computed panel in the Styles sidebar panel to match the styles of the Rules panel ([r236297](https://trac.webkit.org/changeset/236297/webkit/))
- Added an experimental setting for multi-property selection ([r236706](https://trac.webkit.org/changeset/236706/webkit/))
- Changed to start editing property names and values on `mouseup` instead of `mousedown` in the Styles sidebar ([r236780](https://trac.webkit.org/changeset/236780/webkit/))

### Web Driver

- Fixed an issue wherein sending a Tab key press could sometimes shift focus out of web content and hang the WebDriver session ([r236774](https://trac.webkit.org/changeset/236774/webkit/))
- Fixed an issue that caused safaridriver to immediately abort on launch
- Fixed an issue where the Perform Actions command failed if a keyboard input source specified a tick containing a “pause” value without a “key” value

### Storage

- Fixed an WebSQL issue preventing the user from granting a quota increase if the JavaScript provides an expected usage value that is too low ([r236348](https://trac.webkit.org/changeset/236348/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)