Safari Technology Preview Release 133 is now available for download for macOS Big Sur and betas of macOS Monterey. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.
This release covers WebKit revisions 281797-282760.
Note: Tab Groups do not sync in this release.
CSS
- Added support for the
x resolution unit (r282396)
- Added support for
self-start, self-end, start, end, left, and right values in positional alignment (r282267, r282078, r281840)
- Added support for percentages in the
scale() transform functions, and the scale property (r282144)
- Added support for
sin(), cos(), tan(), e, and pi in calc() (r282162)
- Added support for
text-decoration-skip-ink (r282397)
- Added support for
input-security (r282750)
- Changed URLs in CSS variables to be resolved against the base URL of the stylesheet, not the document (r282403)
- Fixed incorrect stacking order with an absolutely positioned and negative
z-index <div> with a canvas child (r281913)
- Fixed absolute positioning with orthogonal writing modes (r281995)
- Fixed right-relative and bottom-relative values in
background-position-x and background-position-y (r282234)
- Fixed computed style for
transform-origin on SVG boxes (r282379)
- Fixed incorrect vertical position in table layout when the inline level box has
0px height (r282256)
- Fixed changing the border size on rows with
border-collapse not redrawing (r282266)
- Fixed
position: sticky used within table cells (r282201)
- Fixed incorrectly calculated
position: sticky constraints when the scrolling container has padding and borders (r282138)
- Fixed overflow to be computed with the actual logical bottom in CSS Grid (r282463)
- Fixed RTL for an out of flow child in CSS Grid (r282340)
- Fixed an interoperability issue in margin collapsing with
overflow: hidden elements (r282085)
- Fixed linear gradient getting drawn incorrectly sometimes (r282443)
- Updated
transform-origin to not accept four lengths (r282359)
CSS Cascade Layers
- Added initial support for CSS Cascade Layers available in the Experimental Features menu:
- Added support for computing the order correctly for late added sublayers (r281798)
- Supported layer argument in
@import rules (r281928)
CSS Font Loading API
- Updated the implementation of the CSS Font Loading API to be closer to the spec and other browsers:
- Fixed
CSSFontFaceSrcValue.cssText to be quoted consistently with other browsers (r282442)
- Fixed
CSSFontFaceSet.clear() to not clear CSS-connected members (r281842)
- Updated FontFaceSet methods that need to react to style changes (r282016, r282015, r282015, r282261, r282204)
- Updated
FontFaceSet.add() to throw when called on a CSS-connected font (r281951)
Accessibility
- Fixed blank braille display in
contenteditable elements when the field is followed by another element (r281920)
- Made PDFs loaded via
<embed> accessible (r282358)
JavaScript
- Enabled
Object.hasOwn (r281835)
- Implemented
Temporal.PlainTime behind the flag --useTemporal=1 (r282125)
- Implemented
Temporal.TimeZone behind the flag --useTemporal=1 (r282018)
- Implemented
Temporal.Duration behind the flag --useTemporal=1 (r281838)
- Implemented
self.structuredClone() (r281808)
- Implemented
Object.hasOwn() (r281799)
- Updated
Intl.Locale weekendInfo to list all weekend days instead of range to follow to the latest spec change (r282257)
- Optimized
JSON.stringify for objects (r282707)
- Optimized
JSON.parse object creation (r282468)
Web API
- Added basic support for Storage API (r282130)
- Added support for
ServiceWorkerGlobalScope.serviceWorker (r281854)
- Added handling for non-fully active documents in
navigator.share() / navigator.canShare() (r282282)
- Enabled BroadcastChannel (r282426)
- Enabled Cross-Origin-Opener-Policy / Cross-Origin-EmbedderPolicy headers support (r282105, r282246)
- Enabled SharedArrayBuffer support when COOP/COEP headers are used (r281832)
- Fixed scrollbars on
pointer-events: none element still intercepting events (r281991)
- Implemented top-origin and frame-origin partitioning for BroadcastChannel (r282105, r282366)
- Implemented the
borderBoxSize and contentBoxSize parts of ResizeObserver (r282441)
- Implemented navigation reporting for Cross-Origin-Opener-Policy (r282305)
- Implemented
getClientRects() for SVG elements (r282316)
- Updated to always fetch the first manifest if provided (r282026)
- Updated to preserve color space when creating ImageBuffers for ImageBitmaps (r282696)
WebRTC
- Added support for RTCError and RTCErrorEvent (r282199)
- Added support for RTCDataChannel closing event (r282198)
- Added support for RTCSctpTransport (r282197)
- Updated timing of RTCPeerConnection descriptions update to align with the WebRTC spec (r282217)
- Updated signaling state check when applying a local or remote description to align with the WebRTC spec (r281985)
- Updated
getDisplayMedia to capture at the constrained size if possible (r281880)
Media
- Fixed the progress bar moving when playback stops (r282374)
- Fixed an incorrect number of frames returned if the decoding frame rate doesn’t match the original in WebM (r282196)
- Removed Web Audio
canPlayType() workaround that made it reports false negatives (r282137)
WebGL
- Fixed
image-rendering: crisp-edges for WebGL canvases (r282335)
Web and App Extensions
- Added the extension’s icon to extension URL tabs for both app and web extensions
- Added the extension name as the title of tabs when an app extension page and does not specify a title