Release Notes for Safari Technology Preview 3
Safari Technology Preview Release 3 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 3 of Safari Technology Preview covers WebKit revisions 199086–199865.
JavaScript
- Added support for
Symbol.isConcatSpreadableper the ES6 spec (r199397) - Made
RegExpconstructor get theSymbol.matchproperty to decide if an object should be constructed like aRegExpobject per the ES6 spec (r199106) - Changed
String.matchandString.searchto useRegExpconstructor per the ES6 spec (r199144) - Corrected how function declarations are hoisted per the ES6 spec (r199179)
- Improved parsing of ES6 arrow functions (r199352)
- Added
RegExp.prototype[@@split]and madeString.prototype.splituse it per the ES6 spec (r199731) - Added
RegExp.prototype[@@search](r199748) - Updated the treatment of invoking methods on
RegExp.prototypeper the ES6 spec (r199545) - Made more test cases pass with ES6
RegExpunicode flag (r199523) - Added support for caching accesses to
arguments.lengthfor a performance speed-up (r199240) - Corrected the behavior of
throw()for generators yielding to an inner generator per draft ECMAScript spec (r199652)
CSS
- Implemented the functional
:host()pseudo class (r199291) - Improved support for SVG cursor images (r199625)
- Started using OpenType math fonts by default for MathML (r199773)
- Fixed measurement of hanging punctuation (r199777)
- Improved hyphenation when the last line in a paragraph only contains one syllable of a word (r199818)
- Fixed a layout problem affecting CSS Grid items without a static inline position in RTL languages (r199098)
- Fixed positioned items with gaps for CSS Grid (r199223)
- Added support for CSS Grid
grid-template-columnsrepeat(auto-fill, …)andrepeat(auto-fit, …)(r199343) - Fixed positioned items with content alignment in CSS Grids (r199657)
- Started using
grid-template-areasto determine the explicit grid (r199661) - Corrected CSS Grid layout by using the margin box for non-auto minimum sizes (r199728)
Web APIs
- Added support setting and retrieving
Blobvalues in IndexedDB (r199120, r199230, r199499, r199524, r199708, r199730) - Corrected
MessageEvent.sourceresult oncewindowhas been fully created (r199087) - Improved stability when the first child of a shadow root is a comment node (r199097)
- Made
CSSbe a proper constructor on thewindowobject with static functions (r199112) - Exposed the
Cryptoconstructor on thewindowobject (r199159) - Added support for
display: contentson<slot>elements (r199151) - Fixed
FontFaceso it will be properly reject the returned promise if Content Security Policy blocks all the URLs (r199611) - Made
FontFaceSethandle null correctly (r199216) - Corrected
DOMTokenList.contains()so it does not throw an exception (r199296) - Made
Selection.deleteFromDocumentnot delete a character when the selection is a caret per the spec (r199585) - Improved the IndexedDB bindings to better match the spec (r199750, r199774)
- Made
AudioBufferSourceNode.buffernullable (r199751) - Improved stability handling a wheel event that closes a frame (r199181)
Web Inspector
- Made it possible to expand objects in the Instances heap snapshot view to see what it retains (r199379)
- Improved performance dramatically in the Timelines tab when recording pages with a lot of rapid activity and for long recordings (r199747)
- Improved JavaScript pretty printing performance by using Esprima and by no longer blocking the main thread (r199168, r199169)
- Improved the profiler’s sampling rate to get closer to a 1ms sample frequency (r199092)
- Improved filtering in Open Quickly dialog (r199143, r199226)
- Made the Open Quickly dialog keep its resource list up to date (r199207)
- Stopped trying to match color patterns in JavaScript source code to improve performance of large resources (r199095)
- Changed take snapshot navigation button to a camera glyph (r199177)
- Corrected source code location links in the JavaScript profile Call Trees view (r199201)
- Made XHRs and Web Workers full-text searchable (r199263)
- Improved the appearance of DOM nodes in object previews (r199322)
- Improved the tab bar rendering when the tabs are small (r199325)
- Corrected dock controls disappearing from the toolbar after leaving fullscreen (r199395)
- Started remembering the zoom factor as a persistent setting across sessions (r199396)
- Corrected
sourceMappingURLnot being used whensourceURLwas also set (r199688) - Started localizing sizes and times by using
Number.prototype.toLocaleString(r199635) - Made
sourceMappingURLwork more reliably across reloads (r199852)
Rendering
- Improved the time to display for some pages — allowing a short page header to render immediately before other content populates later (r199155)
- Fixed page tile layers disappearing when graphics acceleration is unavailable (r199130)
- Made
font-size: 0render as 0 width whentext-rendering: optimizeLegibilityis used (r199150) - Corrected focus ring drawing at incorrect location on image map with a CSS transform (r199247)
- Made negative
letter-spacingaffect the right edge of the content’s visual overflow (r199516) - Corrected compositing for WebGL based canvases after they changed size (r199536)
- Started clearing the rendered icon on
<input type=file>when an empty files list is set (r199540) - Improved performance of
border-collapse: collapseon tables (r199552) - Improved rendering of
select[multiple]to better match other browsers (r199553) - Fixed backdrop filter so it honors
visibility: hidden(r199862)
Security
- Made nested browsing context created for
<object>or<embed>respect Content Security Policy’sobject-srcdirective (r199527) - Started ignoring Content Security Policy meta tags if it is not a descendent of
<head>per the spec (r199163) - Started ignoring
report-onlyContent Security Policy directives delivered via meta tag per the spec (r199538) - Started ignoring paths in Content Security Policy URL matching after redirects per spec (r199612)
- Removed support for
X-Frame-Optionsin<meta>per the spec (r199696)
Networking
- Stopped speculatively revalidating cached redirects (r199521)
- Stopped cacheing responses with
Content-Rangeheaders to avoid serving incorrect results (r199090) - Fixed clearing the application cache when removing website data in Privacy preferences (r199204)
Accessibility
- Changed the
applicationrole description to “web application” to avoid confusion with the top-level system application description (r199260) - Made
presentationrole be preferred over child<title>and<desc>elements in SVG content (r199588)
You can file bugs or feature requests at the WebKit bug tracker, or you can submit feedback or bugs to Apple on Apple’s bug reporting website. For other questions or feedback, feel free to reach us on Twitter at @webkit or Jonathan Davis at @jonathandavis.