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
ArrayandTypedArray(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.compileto properly return the regular expression (r202770) - Improved
Stringto better match specs (r202916, r202956) - Fixed cyclic prototypes to throw the right error type according to specs (r202832)
- Implemented
HasRestrictedGlobalPropertywhen 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 stricthandling when parsing functions that includeuse strictafter other non-strict statements (r202828)
Web APIs
- Changed
FontFaceSet.loadandFontFaceSet.checkto honor the second argument (r203092) - Moved
assignedSlotfrom CharacterData to Text to match the latest Shadow DOM specs (r202873) - Replaced
Event.prototype.scopedbyEvent.prototype.composedto reflect the latest Shadow DOM spec (r202953) - Aligned
document.bodysetter with the HTML specification (r202893) - Fixed
document.bodyto return the first child of the HTML element that is either abodyorframesetelement (r202881) - Fixed
document.titlesetter for SVG documents (r202895) - Fixed an issue that prevented calling the
document.fonts.readycallback (r202945) - Added support for unprefixed version of the CSS
image-set()function (r202765) - Setting
table.tFootor callingtable.createTFoot()should append HTML<tfoot>element to the end of the table (r203011) - Exposed
<td>and<th>elements asHTMLTableCellElementobjects (r202937) - Prevented
tbody.deleteRow(–1)andtr.deleteCell(–1)from throwing an error when there are no rows or cells (r202952)
MathML
- Added support for
hrefattribute 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
addressFieldstocontactFields(r202644) - Added
typeandpaymentPassproperties 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
springtotransition-timing-functionvalue 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)