Release Notes for Safari Technology Preview 17
Safari Technology Preview Release 17 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 207669–208261.
Safari Extensions
- Removed NPAPI Plug-in support from
.safariextz
Safari Extensions
Custom Elements
- Enabled Custom Elements everywhere by default (r208201)
- Changed Custom Elements reactions to have a queue per element (r207810)
- Enqueued
attributeChanged
andconnected
callbacks when upgrading a custom element (r207710) - Custom Elements reactions are now enqueued for HTML API (r208082) and CSS OM APIs (r208176)
Web APIs
- Implemented
rel=noopener
(r207840) - Enabled stylesheets loading via a
link
element inside Shadow DOM subtrees (r208403) - Added support for HTML formatted content from
event.dataTransfer.getData('text/html')
andevent.clipboardData.getData('text/html')
inonpaste
orondrop
events (r207797)
Input Events
- Added support to fire
insertReplacementText
input events when holding down a key to choose an accented character (r208143) - Implemented
InputEvent.getTargetRanges()
(r207670) - Implemented support for
insertFromDrop
anddeleteByDrag
(r208014) - Implemented support for
insertFromComposition
,deleteByComposition
,insertCompositionText
, anddeleteCompositionText
input types for Input Events (r207698) - Implemented support for
InputEvent.dataTransfer
(r207841)
URL Parser
- Matched the behavior of the old URL parser when
%2E
is in the URL path (r207805) - Prevented interpreting host of URLs with unrecognized schemes as an IPv4 address (r208086)
Fetch API
- Ensured the redirection count is no more than 20 in case of cross origin requests (r208046)
- Ensured redirections are upgraded only if declared by CSP policy (r207752)
- Changed ReadableStream to only clone the second branch (r208039)
JavaScript
- Fixed arrow functions with concise bodies to be able to return regular expressions (r207798)
- Fixed
String.prototype.replace()
to throw anOutOfMemoryError
when using too much memory (r207861) - Enabled
JSON.stringify
to handle an ES6 Proxy that has an array element context (r208123)
Web Inspector
- Added support for Custom Elements in Web Inspector (r208218)
- Enabled showing Shadow DOM scoped styles in Web Inspector (r208199)
- Added a pinned tab for settings with various text editor preferences (r208091)
- Breakpoints not working in scripts with unicode characters (r208097)
- Fixed the alignment for arrows in the Styles scope bar item (r208190)
- Fixed the ⌘+ shortcut not increasing the size of Web Inspector’s user interface (r207850)
- Fixed Open Resource Dialog to jump to the last line when entering
:*n*
where “n” is greater than the number of lines in the file (r208188) - Improved the debugger highlight in some exception cases (r208260)
- Improved Quick Open sorting algorithm (r207782)
- Improved
console.log
support in Web Workers (r208010) - Included parameter strings for native
CustomElementRegistry
methods in the console (r208072) - Prevented showing empty Closure sections in the Scope chain (r207784)
CSS
- Avoided unnecessary full style resolution in
getComputedStyle
for non-inherited properties (r207755) - Fixed
backdrop-filter
to render properly when removed and then re-added (r207722) - Fixed rendering dynamically-added
backdrop-filter
to a clip-path’d element with 3D transform (r207723) - Changed behavior to create a stacking context while an animation is running when the animation keyframes affect stacking context properties (r208025)
- Prevented painting text selection within an SVG mask (r207692)
- Corrected the blur radius for
filter: drop-shadow()
(r208058) - Changed style resolver to be updated lazily (r207669)
Media
- Allowed multiple playing videos on a page with
autoplay
andplaysinline
attributes (r208149) - Fixed WebAudio to resume when moving from background to foreground tab (r208092)
- Fixed video playback stalls when seeking beyond the buffered range for some video sites (r207694)
- Added support for wide gamut in Quick Look image popovers (r208020)
Networking
- Changed the preloading behavior to match the behavior on iOS, where resources like images are loaded at a lower priority (r208049)
Indexed Database 2.0
- Support renaming IDBObjectStores (r207641) and IDBIndexes (r207761)
- Implemented
IDBTransaction.objectStoreNames()
(r207821) - Implemented
IDBObjectStore.openKeyCursor()
(r207845) - Implemented
IDBObjectStore.getAll()
andIDBObjectStore.getAllKeys()
(r208194) - Implemented
IDBIndex.getAll()
andIDBIndex.getAllKeys()
(r208261)
Bug Fixes
- Fixed an issue where JavaScript dialogs (
alert
,confirm
,prompt
) and Safari’s external navigation confirmation prompt showed empty messages