Apple on Wednesday released Safari Technology Preview 137, the latest version of their developer preview web browser. The preview version of Apple’s popular browser offers developers and other interested users the ability to try out features that may or may not, debut in future public release versions of Safari.
Safari Technology Preview release 137 includes bug fixes and performance improvements for Web Inspector, CSS, JavaScript, WebAssembly, Experimental Model Element, Accessibility, Web API, Content Security Policy, Media, Apple Pay, and Web Extensions.
Safari Technology Preview release 137 is built on the new Safari 15.4 update included in macOS Monterey, and as such, it includes several Safari 15 features.
The preview is available for both macOS Monterey and macOS Big Sur.
Release 137
Note: Tab Groups do not sync in this release.
Web Inspector
- Elements Tab
- Layers Tab
- Fixed the position of composited layers with a box-shadow (r285839)
- Console Prompt
- Fixed console script evaluation not working or being performed in an unexpected execution context after refresh or navigation (r286412)
- Web Inspector Interface
- Enabled left docking when in left-to-right and right docking when in right-to-left mode (r285974)
CSS
- Enabled support for :has() pseudo-class by default (r286495, r286135, r286302, r286180, r286226, r286494, r286433, r286188, r286169, r286365)
- Added support for new srgb-linear, xyz-d50 and xyz-d65 colorspaces (r286168)
- Added support for oklab() and oklch() colors (r286191)
- Added support for replaced elements with intrinsic ratio and no intrinsic size (r286206)
- Added support for *vi (inline) and *vb (block) viewport units (r286458)
- Added helper to add CSS property with implicit default (r285837)
- Changed to not shrink tables bellow their intrinsic sizes (r286207)
- Changed SVG images used as grid items to use the overriding logical width and height when defined to compute the logical dimensions (r286100)
- Changed dynamic dv* viewport units to ignore the page scale (r286350)
- Fixed :hover with descendant selector invalidating correctly in shadow trees (r286063)
- Fixed rem in media queries to be calculated using font-size: initial, not root element font-size (r286123)
- Fixed sticky th or td in table to stop at the specified top (r286417)
- Implemented parsing and animation support for ray() shape accepted by offset-path (r286086)
- Transferred size for grid item with an aspect-ratio and stretch alignment against the definite row (r285987)
- Updated color-mix() to the latest spec (r286196)
JavaScript
- Added Intl.NumberFormat.formatRangeToParts for ICU 69~ platforms (r286255)
- Implemented Date.prototype.toTemporalInstant() (r286149)
- Revised JSON.parse atomize policy for performance and compatibility with the other engines (r285955)
- Accelerated public class field initialization (r286251)
WebAssembly
- Fixed WebAssembly memory.fill out of bounds error message (r286092)
Experimental Model Element
- Added support for mouse-based manipulation of <model> on macOS (r285986)
- Added audio support (r286065)
- Added support for controlling looping animations (r286066)
- Added support for getting and setting the camera (r286019)
- Added support for pausing and resuming animations (r286048)
- Added support for seeking animations (r286068)
Accessibility
- Added accessibility attributes for <model> (r286406)
Web API
- Added initial implementation for the Web Lock API (r286284)
- Fixed Cross-Origin-Embedder-Policy: require-corp to not prevent loading of data-URL images (r285823)
- Fixed empty <input type=file> controls not showing up in the urlencoded and text/plain enctypes (r285808)
- Fixed empty <input type=file> represented incorrectly in FormData (r285861)
- Fixed modal dialogs to make the root element unfocusable (r285791)
- Fixed validity.valueMissing to not rely on the element’s disabled state for inputs of type radio, file, or checkbox (r286413)
- Fixed file inputs in non-multipart form submissions showing up as string values in the formdata event (r286427)
- Implemented FileSystemFileHandle.getFile() (r285912)
Content Security Policy
- Fixed missing lineNumber and columnNumber in inline violation reports (r285800)
- Implemented submitting samples in violation reports (r286150)
- Fixed CSP DOM reporting which always used the document as the target (r286136)
Media
- Added support for more requestVideoFrameCallback metadata (r285984)
- Fixed audio rate issues in WebRTC audio rendering when switching audio output (r285985)
- Fixed video encoding and decoding for h.264 (r285928)
Apple Pay
- Changed PaymentRequest to validate payment method data on construction (r286452)
- This can (and should) now be used instead of ApplePaySession.supportsVersion.
Web Extensions
- Added support for special matching characters (*, |, ||, and ^) in urlFilter of declarativeNetRequest rules instead of treating them as regex patterns
- Added permission prompting inside Web Inspector for devtools extension tabs
- Added support for CSS injections and removals of more than one file with browser.scripting
While the preview is intended for use by developers and advanced users, in order to provide Apple with feedback on the development of the Safari browser, it can be run side-by-side with the release version of Safari. The app doesn’t require a developer account to download and install. For more information, visit the Safari Technology Preview website.