Apple has released Safari Technology Preview 152, 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.
The current Safari Technology Preview release is built on the Safari 16 update and it includes features coming in macOS Ventura. It adds support for Live Text in videos and images, new web technologies, web push Passkeys, improved Safari Web Extensions, and more.
The preview is available for both macOS Monterey and macOS Ventura. It is no longer available for macOS Big Sur.
Release 153
Note: Shared Tab Groups and syncing for Tab Groups, Website Settings, and Web Extensions are not enabled in this release.
Web Inspector
- Sources Tab
- Added support for Symbolic Breakpoints (253374@main, 253791@main)
- Elements Tab
- Added a way to control what badges are shown in the main DOM tree (253579@main)
- Added Event badges for nodes that directly have event listeners in the main DOM tree (253727@main)
- Changed the Computed panel to no longer show the Variables section when the selected element has no CSS variables (253562@main)
- Changed the Computed panel to sort prefixed properties below non-prefixed properties (253789@main)
- Changed the Computed panel to only show inline swatches that actually preview the value (253214@main)
- Network Tab
- Fixed highlighting only the initiated resources when a row is hovered (253476@main)
CSS
- Added support for background images on ::first-line (253553@main)
- Added right-to-left direction support for text-overflow: ellipsis (253689@main)
- Implemented forced-colors media query (253290@main)
- Fixed text-decoration location for superscripts when the text string contains both superscript and regular text (253406@main)
- Fixed handling of layout and paint containment with internal ruby boxes (253354@main)
- Fixed :has(:lang(~)) invalidation with dynamic changes (253764@main)
- Fixed @supports to not work if “not”, “or”, or “and” isn’t follow by a space (253194@main)
- Fixed handling of font-variant: normal and font-variant: none shorthand (253731@main)
- Fixed behavior of cursor: auto over links (253685@main)
- Fixed color-scheme to not propagate to the viewport background if set on the <body> (253565@main)
- Fixed tiled layer flicker when an animation ends (253549@main)
- Fixed the transferred min and max sizes to be constrained by defined sizes (253262@main)
- Fixed pseudo-elements not treated as ASCII case-insensitive (253631@main)
- Fixed the title of non-CSS stylesheets to be not preferred (253632@main)
- Fixed input[type=search] to hide icons when appearance: textfield is set (253691@main)
- Included aspect-ratio when calculating inline min-content size and add min-content block computation (253740@main)
- Renamed initial value of color-scheme from auto to normal (253659@main)
- Used align-content when calculating the static position of absolutely-positioned flexbox children (253389@main)
- Used logical top, bottom, and height when computing the available height for an out-of-flow block (253312@main)
JavaScript
- Implemented import-assertion and JSON module (253234@main)
- Implemented Temporal.PlainDateTime to the extent of the current PlainDate implementation (Behind the –useTemporal flag) (253623@main)
- Fixed not generating import.meta object if it is not referenced (253636@main)
- Optimized async and await and microtask queue (253651@main)
- Optimized Promise.all (253716@main)
- Added support for WebAssembly GC recursion groups (253491@main)
Rendering
- Changed to not generate text runs for empty text content (253569@main)
- Fixed text-overflow: ellipsis to change the text content to render (253607@main)
- Fixed text-overflow: ellipsis to not affect geometries (253650@main)
- Fixed underline thickness to align with device pixels (253182@main)
- Stopped propagating scroll-snap style from <body> to viewport (253430@main)
Screen Capture
- Changed to reject the getDisplayMedia prompt if the system picker times out (253260@main)
Media
- Included explicit !important min, max properties, and explicit width and height for full-screen elements (253790@main)
- Fixed MediaRecorder.stop() firing an additional dataavailable event with bytes after MediaRecorder.pause() (253529@main)
- Fixed audio pitch changes on enabling or disabling the mic capture (253673@main)
- Fixed screen recording in a background tab working for only about a minute (253769@main)
WebGL2
- Stopped applying the buffer offset twice in getBufferSubData (253175@main)
Web API
- Implemented the Imperative Slot API (253187@main, 253198@main, 253199@main, 253202@main, 253266@main, 253320@main, 253359@main, 253365@main, 253392@main, 253396@main, 253402@main)
- Implemented full search for text directives for Scroll to Text Fragment spec (253383@main)
- Added Set-Cookie as a forbidden header name (253325@main)
- Added generic media query parser and evaluator (253298@main)
- Added support to the Permissions API for dedicated workers (253447@main)
- Added support to the Permissions API for Service Workers and Shared Workers (253752@main)
- Added way to get parent inline box to the inline iterator (253304@main)
- Added box-sizing: border-box to table in the User-Agent stylesheet (253581@main)
- Fixed blob URLs with a fragment from opaque origins cannot be loaded (253498@main)
- Fixed ignored charset of blobs (253458@main)
- Fixed composited canvas element to update the layer configuration after creating a WebGL context (253231@main)
- Fixed position elements should layout relative to transformed container (253809@main)
- Fixed Navigator.share() rejecting with the wrong exception when called multiple times (253419@main)
- Fixed iframe srcdoc with a quirky doctype to use no-quirks mode (253326@main)
- Fixed input[type=search] preferred content width to not include decorations (253595@main)
- Fixed Permissions.query to return “prompt“ for opaque origins (253785@main)
- Fixed scheduling a navigation to a Blob URL to keep the URL alive until the navigation actually occurs (253435@main)
- Fixed forms with a disabled submit button from being posted with the Enter key (253228@main)
- Fixed the HTML parser to ignore starting <head> tags in the “in head noscript” state (253489@main)
- Fixed the HTML parser’s foster-parenting algorithm to not require foster parents to be elements (253504@main)
- Fixed the HTML parser’s adoption agency algorithm to not reverse the order of nodes (253505@main)
- Fixed an issue where data-x-2=”” is not included in the dataset if it’s the only data attribute (253625@main)
Accessibility
- Added support for the ARIA 1.3 property aria-description (253184@main)
- Fixed updating accessibility objects role after a dynamic contenteditable change (253630@main)
WebDriver
- Added support for Wheel input source and actions (253578@main)
- Added support for “Get Computed Role” and “Get Computed Label” commands (253732@main)
- Fixed automation hanging indefinitely when dismissing alerts
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.