Safari Technology Preview 114 Release Notes
Preview the latest web technology updates including: Web Inspector, JavaScript, Date and Time Inputs, Web Audio, MediaRecorder, Paint Timing, WebGL, CSS, Web API, Lazy Loading, Media, WebRTC, Rendering, Text Rendering, Scrolling, Back-Forward Cache, and Storage Access API.
Overview
Safari Technology Preview Release 114 is now available for download for macOS Big Sur and macOS Catalina. 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 265893-267325.
Web Inspector
Elements Tab
Sources Tab
Changed to allow event breakpoints to be configured (r266074, r266480)
Changed to evaluate breakpoint conditions before incrementing the ignore count (r266138)
Changed to allow DOM breakpoints to be configured (r266669)
Changed to allow special JavaScript breakpoints to be configured (r266534)
Changed to allow URL breakpoints to be configured (r266538)
Network Tab
Timelines Tab
Fixed duplicate “Timeline Recording 1” on open (r266477)
Fixed re-enabling the JavaScript Allocations timeline to show previously captured heap snapshots in the table (r266463)
Fixed the record button disappearing when interface is narrow (r266537)
Fixed the Stop Recording button to actually stop the recording (r267038)
Audit Tab
Allow audits to be created and edited in Edit mode in Web Inspector (r266317)
Miscellaneous
Fixed issue where the docking buttons wouldn’t work when docked if the window is too small (r267031)
JavaScript
Added
Intl.DateTimeFormatdateStyleandtimeStyle(r266035)Added
Intl.Segmenter(r266032)Added a syntax error for
async functionin a single-statement context (r266340)Added
Object.getOwnPropertyNamescaching and acceleratedObject.getOwnPropertyDescriptor(r265934)Aligned legacy
Intlconstructor behavior to spec (r266655)Applied
Intl.DateTimeFormathour-cycle correctly whentimeStyleis used (r267108)Enabled
Intl.DisplayNames(r266029)Changed to not allow
let [sequence to appear in an ExpressionStatement context (r266327)Changed to allow
new super.propertysyntax (r266322)Changed to allow
new import.meta()syntax (r266318)Changed to use locale-sensitive grouping for grouping options in
IntlRelativeTimeFormat(r266341)Implemented
Intl.DateTimeFormatdayPeriod(r266323)Implemented Intl Language Tag Parser (r266039)
Implemented
Intl.DateTimeFormat.prototype.formatRange(r266033)Implemented unified
Intl.NumberFormat(r266031)Fixed an invalid early error for object literal method named
proto(r266117)Fixed implementation of the class “extends” clause incorrectly using
protofor setting prototypes (r266106)Fixed Performance and PerformanceNavigation interfaces missing
toJSONoperations (r267316)Updated
Intl.Collatorto take a collation option (r267102)Updated
Array.prototype.pushto always performSetin strict mode (r266581, r266641)Updated
Promise.prototype.finallyto performPromiseResolve(r266896)
Date and Time Inputs
Added editing to
<input type="datetime-local">(r266830)Updated date inputs to contain editable components (r266351)
Updated date picker appearance to match system date pickers (r267085)
Updated date picker when the inner control is edited (r266461)
Updated date pickers to respect the document’s color scheme (r267131)
Updated date/time inputs to focus the next editable component when entering a separator key (r267281)
Updated date/time inputs to preserve focus on value change (r266739)
Updated date/time inputs to not use user-specified formats to prevent fingerprinting (r267283)
Web Audio
Added
AudioParam.automationRateattribute (r265980)Added proper support for
AudioContextOptions.sampleRate(r267014)Allowed direct creation of replacement codec (r266466)
Changed
AudioParam.valuesetter to callsetValueAtTime(value, now)(r266293)Changed
AudioParam.linearRampToValueAtTime()formula to match specification (r266261)Changed
AudioBufferSourceNodeto usefinalvalues forplaybackRateanddetune(r265981)Fixed
AnalyserNode.getFloatFrequencyData()to fill array with-Infinitywhen input is silent (r267202)Fixed
AudioBufferSourceNode.start()behavior when the offset is past the end of the buffer (r267169)Fixed
AudioBufferSourceNode.start()ignoringwhenparameter when the pitch rate is 0 (r267170)Fixed AudioContext not rendering until an AudioNode is constructed (r266922)
Fixed
AudioDestinationNode.maxChannelCountalways returning 0 (r266559)Fixed
AudioParam.linearRampToValueAtTime()andexponentialRampToValueAtTime()having no effect when there is no preceding event (r266788)Fixed
BiquadFilterNode.getFrequencyResponse()to returnNaNfor out-of-bounds frequencies (r266541)Fixed the types of
Panner.setPosition()andsetOrientation()parameters to not be unrestricted float (r267071)Dropped non-standard
AudioBuffer.gain(r267065)Made
AudioParam.cancelScheduledValues()standards compliant (r266558)Improved interpolation algorithm in OscillatorNode (r266627)
Introduced StereoPannerNode Interface (r265962)
Stopped performing “de-zippering” when applying gain (r266794)
MediaRecorder
Enabled MediaRecorder by default on macOS (r267225)
End of media capture should not be reported before 3 seconds of the start of capture (r267081)
MediaRecorder timeslice parameter causing internal error on longer videos (r266611)
Paint Timing
Enabled paint timing by default (r267235)
WebGL
Enabled WebGL2 by default (r267027)
Added WebGL and WebGL2 context support to OffscreenCanvas (r266275)
WebGL goes in a bad state where
glContext.createProgram()returns null (r266362)
CSS
Fixed
text-transforminheritance to::marker(r266288)Changed to set available column space before grid items prelayout (r266173)
Added support for
flow-relativeshorthand and offset properties (r266674)Changed to allow indefinite size flex items to be definite with respect to resolving percentages inside them (r266696)
Changed to not skip flexboxes with auto height for percentage computations in quirks mode (r266716)
Changed to use
min-contentsize for intrinsic maximums resolution (r266675)Fixed
min-height: autonot getting applied to nested flexboxes (r266695)Fixed
:visitedcolor taken on a non-visited link when using CSS variables (r266656)Fixed CSS
revertto serialize as “revert”, not “Revert” (r266660)Updated to safely handle overly-long CSS variable values (r266989)
Web API
Aligned
lengthproperties of function prototypes with specificcations (r266018)Updated
ReadableStream.pipeToimplementation to match specifications (r266129)Updated Web Share API to prevent non-HTTP(S) URLs (r266151)
Aligned ISO-8859-{3,6,7,8,8-I} and windows-{874,1253,1255,1257} encodings with specifications (r266527)
Changed XML documents in iframes to not inherit encoding from the parent frame (r266671)
Changed Element to not set an attribute inside its constructor (r267074)
Changed
new URL("#")to throw an error (r266748)Fixed consecutive
requestAnimationFramecallbacks that may get passed the same timestamp (r266526)Fixed
XHR.timeoutgetting affected by long tasks (r267227)Fixed taking too long to fetch images from memory cache (r266699)
Implemented
encodeInto()TextEncoder method (r266533)Updated the URL fragment percent encode set (r266399)
Lazy Loading
Media
Fixed the PiP window getting closed when the video element is removed from the DOM (r265904)
Fixed an HDCP error for all streams on Netflix (r266176)
Fixed
<video>element preventing screen from sleeping even after playback finishes (r266410)
WebRTC
Added
RTCRtpSynchronizationSource.rtpTimestamp(r266052)Exposed
RTCPeerConnection.restartIce(r266511)Safari is not able to hear audio when using WebRTC in multiple tabs (r266454)
Rendering
Fixed animations invalidating too often (r266229)
Fixed flickering on sedona.dev (r266189)
Fixed the cut off scrollbar on Facebook posts with lots of comments has cut off scrollbar that couldn’t scroll to the bottom (r266156)
Changed to handle fonts that lie about being monospaced (r266118)
Fixed programmatic selection of text in a text field that causes the highlight overlay to spill out (r266051)
Fixed
overflow: scrollrubber-banding getting interrupted by post-layout scrolling (r267002, r266337)Fixed a flash when closing a webpage (r267250)
Text Rendering
Changed
letter-spacingto disable ligatures (r266683)
Scrolling
Fixed vertical scrolling getting stuck when a horizontal scroller is under the mouse (r266292)
Fixed select element scrolling after scrolling the page (r266262)
Back-Forward Cache
Added support for third-party domains to get stored for back-forward navigations (r265916)
Storage Access API
Allowed requests for storage access from nested iframes (r266479)
See Also
2020
Safari Technology Preview 117 Release NotesSafari Technology Preview 116 Release NotesSafari Technology Preview 115 Release NotesSafari Technology Preview 113 Release NotesSafari Technology Preview 112 Release NotesSafari Technology Preview 111 Release NotesSafari Technology Preview 110 Release NotesSafari Technology Preview 109 Release NotesSafari Technology Preview 108 Release NotesSafari Technology Preview 107 Release NotesSafari Technology Preview 106 Release NotesSafari Technology Preview 105 Release NotesSafari Technology Preview 104 Release NotesSafari Technology Preview 103 Release NotesSafari Technology Preview 102 Release Notes