Release Notes for Safari Technology Preview 9
Safari Technology Preview Release 9 is now available for download for both macOS Sierra betas and OS X El Capitan. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 202612–203152.
JavaScript
- Improved spec compliance for
Array
andTypedArray
(r202631, r202943, r202926, r203147, r203101, r203107, r203037) - Improved the performance of
%TypedArray%.prototype.subarray
(r203076) - Fixed
Date.setYear()
to be more spec compliant (r202683) - Fixed
Date.toGMTString()
to be theDate.toUTCString()
function (r202752) - Fixed a successful
RegExp.compile
to properly return the regular expression (r202770) - Improved
String
to better match specs (r202916, r202956) - Fixed cyclic prototypes to throw the right error type according to specs (r202832)
- Implemented
HasRestrictedGlobalProperty
when checking for global lexical tier conflicts (r202734) - Fixed an unexpected “Out of memory” error for
String.prototype.repeat()
with a negative value argument (r202954) - Fixed
use strict
handling when parsing functions that includeuse strict
after other non-strict statements (r202828)
Web APIs
- Changed
FontFaceSet.load
andFontFaceSet.check
to honor the second argument (r203092) - Moved
assignedSlot
from CharacterData to Text to match the latest Shadow DOM specs (r202873) - Replaced
Event.prototype.scoped
byEvent.prototype.composed
to reflect the latest Shadow DOM spec (r202953) - Aligned
document.body
setter with the HTML specification (r202893) - Fixed
document.body
to return the first child of the HTML element that is either abody
orframeset
element (r202881) - Fixed
document.title
setter for SVG documents (r202895) - Fixed an issue that prevented calling the
document.fonts.ready
callback (r202945) - Added support for unprefixed version of the CSS
image-set()
function (r202765) - Setting
table.tFoot
or callingtable.createTFoot()
should append HTML<tfoot>
element to the end of the table (r203011) - Exposed
<td>
and<th>
elements asHTMLTableCellElement
objects (r202937) - Prevented
tbody.deleteRow(–1)
andtr.deleteCell(–1)
from throwing an error when there are no rows or cells (r202952)
MathML
- Added support for
href
attribute in MathML (r203104) - Improved the layout of
<munderover>
using parameters from the OpenType MATH table (r203074) - Added support for mathvariants that cannot be emulated via CSS. (r203072)
- Refactored MathML layout functions to avoid using flexbox (r202934)
Apple Pay
- Fixed a bug allowing multiple payment sheets in Safari to be open at the same time (r203084)
- Renamed
addressFields
tocontactFields
(r202644) - Added
type
andpaymentPass
properties inPaymentMethod
(r202655)
Web Inspector
- Added “Copy as cURL” feature for resource requests in the timeline (r203132)
- Fixed an issue causing Top Functions data to show even when disabled (r203102)
- Improved JSON pretty printing in more scenarios (r202933)
- Added
spring
totransition-timing-function
value auto-completion (r202702) - Added pixel area column to the Layout timeline view (r202713)
- Improved the API view of native DOM APIs (r202666)
- Fixed ⌘⇧S in the Styles sidebar to always show the save dialog (r203017)
- Fixed an issue causing a scrolled JavaScript Snapshot list to be drawn blank when switching back from a comparison view (r202932)
- Fixed an issue that caused a UTF8-encoded XHR to show garbled data in the Resource sidebar (r202843)
- Added Shadow Content type to DOM tree in the Elements tab (r202634)
- Fixed an issue preventing the last normal tab from being closed with the “Close Tab” context menu item (r202711)
- Fixed an issue causing the wrong function name to show in the Scope Chain sidebar of the Debugger tab (r202717)
Media
- Pause small video elements when returning to inline when they are too small (r203066)
- Changed the picture-in-picture control glyph (r202880)
- Changed fullscreen and picture-in-picture to not animate when navigating away from the host page (r202872)
- Fixed WebAudio convolver channels to throw exceptions for an invalid number of channels (r202617)
- Fixed clearing of MSE buffers by switching to MediaTime (r202641)
- Fixed an issue where Facebook videos without audio tracks will sometimes cause playback controls to appear (r202918)
Rendering
- Fixed rendering an
<img>
element with a wide gamut PDF (r202927) - Fixed drawing an SVG image into a
<canvas>
that is not in the DOM (r202712)