Safari Technology Preview 4 Release Notes
Preview the latest web technology updates including: Networking, Media, JavaScript, CSS, Web APIs, Web Inspector, Rendering, Accessibility, and bug fixes.
Overview
Safari Technology Preview Release 4 is now available for download. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. Release 4 of Safari Technology Preview covers WebKit revisions 199865–200417.
Networking
Allow non-standard HTTP headers in WebSocket handshakes, which makes the 1Password extension work again (r200120, r200219)
Media
Fixed Netflix video playback (r200172)
JavaScript
Disabled
Symbol.isConcatSpreadabledue to performance concerns; is expected to return in the next release (r200149)Made
super()available to object literals, not just ES6 classes (r199927)Sped up calling bound functions with no bound arguments by 4x (r199946)
Implemented
String.prototype.localeComparefrom ECMA-402 (r199967)Optimized
JSON.parsefor a 1–2.5% improvement in Kraken json-parse-financial (r199968)Implemented
RegExp.prototype.@@replaceand use it forString.prototype.replace(r200117)Implemented spec changes for
String.prototype.padStartandString.prototype.padEnd(r200194, r200210)Unified how
Math.pow()is optimized across all JIT tiers (r200208)Made
Reflect.toString()be[object Object]not[object Reflect](r200355)
CSS
Made
-webkit-image-setwork inside CSS variables (r199884)Changed transitions to no longer animate to/from
autovalues (r200360)Implemented proper handling of
animation-delaywith a negative delay (r200042)Started parsing play-state as part of the
animationshorthand (r200043)Made toggling
animation-play-statenot restart a finished animation (r200047)Fixed a regression which caused
position: absolutepseudo elements to inherittext-decoration(r200302)Moved CSS Grid behind a runtime switch that is currently enabled by default (r200215, r200389)
Started implementation of
auto-fillandauto-fitfor CSS Grid (r200182, r200368)Fixed computed style of
grid-template-columnsandgrid-template-rowsproperties (r199981)Fixed a bug with positioned grid items in vertical writing mode (r199874)
Fixed alignment with CSS Grid content distribution (r200181)
Improved user agent styles for
<math>elements (r199869)
Web APIs
Fixed wheel events so they fire with
body, html { height: 100% }(r200247)Marked IndexedDB constructors as hidden on the worker global object until it is supported (r199889)
Made
pingattribute for anchor elements only work for http/https URLs (r199900)Renamed Shadow DOM’s
getAssignedNodestoassignedNodesand support flattened option (r200285)Removed Shadow DOM’s
Node.prototype.rootNodebecause it was not compatible with existing websites (r200297)Made
document.currentScriptreturnnullwhen executing a script inside a shadow tree (r200327)Fixed clicks sometimes being ignored inside button elements when the mouse moves (r200414)
Web Inspector
Made
consolea namespace object (likeMathandJSON), allowing functions to be called unbound (r200350, r200373)Fixed an issue where scripts would not load due to Esprima.js not being found (r200229)
Started showing dynamically added
<script>// <![CDATA[elements added to a frame as resources (r200065)Made
sourceURLandsourceMappingURLalways work when using theFunctionconstructor (r199939)Restored filtering to the Timelines tab (r200067)
Added column number info to event listener locations (r199940)
Fixed profiles missing from records in JavaScript & Events timeline (r199979)
Fixed selecting a bar in the Frames timeline mode (r199972)
Made sorting by name or location columns work as expected (r199974)
Fixed the line error widget showing up on the wrong resource (r200064)
Clarified Retained Size in heap snapshots by hiding retained size of non-dominated children (r200086)
Made the
debuggerstatements evaluated in the console properly show the source code (r199897)Made jump to line work correctly the first time in pretty-printed JavaScript (r200262)
Improved scrolling performance in Timelines tab (r200270)
Improved performance of rendering many console messages (r200401)
Changed
console.assertandconsole.traceto allow format specifiers (r200370)Improved performance of
console.assertby 10x when the assertion istrue(r200371)Changed
console.timeandconsole.timeEndto use a default label when none if specified, and warn when attempting to start an already started timer (r200400)Added CSS autocompletion suggestions for
-webkit-user-select(r200154)
Rendering
Made non-accelerated CSS and SVG animations run at 60fps (r200164, r200171)
Made
<select multiple>padding consistent with other browsers (r200265)Fixed blur filter escaping an enclosing
overflow: hidden(r200283)Fixed a regression with
min-contentandbox-sizing: border-boxthat affected Facebook’s messenger.com (r199895)
Accessibility
Made VoiceOver properly speak superscript content (r200214)
Fixed navigation around composed emoji characters and content with multiple whitespace sequences (r200258)
Made
aria-labelattribute work on<label>elements (r200290)Made
regiona landmark and `
Bug Fixes
Corrected how WebKit determines the user’s preferred region from the system language setting. (r200105)
See Also
2016
Safari Technology Preview 20 Release NotesSafari Technology Preview 19 Release NotesSafari Technology Preview 18 Release NotesSafari Technology Preview 17 Release NotesSafari Technology Preview 16 Release NotesSafari Technology Preview 15 Release NotesSafari Technology Preview 14 Release NotesSafari Technology Preview 13 Release NotesSafari Technology Preview 12 Release NotesSafari Technology Preview 11 Release NotesSafari Technology Preview 10 Release NotesSafari Technology Preview 9 Release NotesSafari Technology Preview 8 Release NotesSafari Technology Preview 7 Release NotesSafari Technology Preview 6 Release Notes