Release Notes for Safari Technology Preview 12
Safari Technology Preview Release 12 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 204289–204876.
This release of Safari Technology Preview will be the last that will install and run on OS X El Capitan 10.11.4 and 10.11.5. To continue testing or living on the latest enhancements to WebKit, please upgrade to OS X El Capitan 10.11.6 or the macOS Sierra betas.
JavaScript
- Added checks for
TypedArray.prototype.slice
to ensure the source and destination have not been detached (r204868) - Added exception handling for
const
variables used in afor-in
orfor-of
loop (r204586) - Improved the performance of
Array.prototype.map
when used with Arrays (r204488) - Implemented
Object.entries
andObject.values
from the ES2017 specifications (r204419, r204358) - Changed the
line
,column
andsourceURL
properties ofError
to be configurable and writable (r204663)
Web APIs
- Fetch API is enabled by default (r204705)
- Updated Resource Timing implementation (r204736, r204641, r204429)
- Aligned
Range.surroundContents()
with the latest DOM specification (r204390) - Added support for
HTMLAreaElement.toString()
(r204871) - Changed the
prefix
properties ofAttr
andElement
to be read-only (r204648) - Changed
<command>
to anHTMLUnknownElement
and<basefont>
to anHTMLElement
(r204647) - Moved the
prefix
,namespaceURI
, andlocalName
attributes fromNode
toAttr
andElement
(r204624) - Aligned text encoding labels with the Encoding specification (r204605)
- Added
Animatable
,AnimationEffect
,KeyframeEffect
andAnimation
interfaces for Web Animations (r204594) - Aligned
isDefaultNamespace()
,lookupPrefix()
, andlookupNamespaceURI()
with the specification (r204536) - Changed
querySelector()
andquerySelectorAll()
to always throw aSyntaxError
when failing to parse a selector string (r204522) - Moved
embeds
,plugins
, andscripts
attributes fromHTMLDocument
toDocument
(r204450) - Moved the
compatMode
anddesignMode
properties fromHTMLDocument
toDocument
(r204451, r204449) - Updated
getElementsByTagName()
to take a qualified name parameter (r204441) - Exposed
crypto.getRandomValues
to Web Workers (r204481) - Added application/vnd.api+json as a valid JSON MIME-type (r204437)
Web Inspector
- Added Open in New Tab, Reveal in Resources Tab and Copy Link Address to the context menu of link attributes (r204846)
- Added Download File context menu item for resource tree elements (r204862)
- Added Copy Selected context menu item to the Console (r204511)
- Added a visual editor for the
spring()
timing-function (r204775) - Fixed an issue where “NaN x NaN” was shown for invisible elements in the Styles → Computed → Box Model section (r204759)
- Set Open Resource Dialog to jump to the last line when the specified line number (“:n”) is more than the total line count of the resource (r204755)
- Added an icon for selectors that only affect pseudo-elements (r204754)
- Fixed DOM nodes shifting when hovering over them in the Console (r204520)
- Fixed the alignment of the Close button of the selected item in the Network tab (r204491)
- Changed the Visual Styles Sidebar behavior for SVGs to show SVG specific sections (r204758)
- Changed the Visual Styles Sidebar Text → Content section to only be visible for a pseudo-element (r204757)
- Escaped Text → Content in the Visual Styles Sidebar (r204510)
- Addressed status icons flickering from rapid updates in the Visual Styles Sidebar (r204562)
- Fixed the placement of Error and Warning icons in the Visual Styles Sidebar (r204490)
- Fixed a hang when using Command-Shift-O (⌘⇧O) when the loaded web page has frames (r204428)
- Enabled editing node attributes, content, and styles for shadow DOM nodes (r204370)
- Improved the display of large numbers in the console log counter on the dashboard (r204642)
- Improved the display of large class lists and made the quick-toggle easier to discover (r204496)
MathML
- Improved the extraction of operator and token elements’ characters (r204830)
- Introduced a
MathMLRowElement
class formrow
-like elements (r204779) - Introduced a
MathMLAnnotationElement
class for the<annotation>
and<annotation-xml>
elements (r204692)
CSS
- Enabled the
:host
pseudo-class to style elements in the shadow tree (r204724) - Corrected the namespace prefix handling in front of element name CSS selectors (r204591)
Rendering
- Fixed SVG clip-path to work on a root SVG element (r204872)
- Fixed
ctx.drawImage
to clip the source rectangle if it is outside the source image (r204517)
Accessibility
- Labelled audio description tracks correctly to prevent user confusion (r204601)
- Added a percentage value description for the media control’s timeline slider (r204361)
Security
- Improved
URLParser
parsing IPv4 addresses and URLs without credentials (r204701, r204544) - Added support to handle cross-origin redirect requests while in CORS mode (r204693, r204795)
- Corrected the
Upgrade-Insecure-Request
state handling between navigations (r204521) - Added a sandbox for the Adobe Flash Player ESR plug-in used in enterprise environments (r204461)
- Changed instantiation of WebKit plug-ins to happen at layout time, instead of at style resolution time (r204320)