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.isConcatSpreadable
per the ES6 spec (r199397) - Made
RegExp
constructor get theSymbol.match
property to decide if an object should be constructed like aRegExp
object per the ES6 spec (r199106) - Changed
String.match
andString.search
to useRegExp
constructor 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.split
use it per the ES6 spec (r199731) - Added
RegExp.prototype[@@search]
(r199748) - Updated the treatment of invoking methods on
RegExp.prototype
per the ES6 spec (r199545) - Made more test cases pass with ES6
RegExp
unicode flag (r199523) - Added support for caching accesses to
arguments.length
for 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-columns
repeat(auto-fill, …)
andrepeat(auto-fit, …)
(r199343) - Fixed positioned items with content alignment in CSS Grids (r199657)
- Started using
grid-template-areas
to 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
Blob
values in IndexedDB (r199120, r199230, r199499, r199524, r199708, r199730) - Corrected
MessageEvent.source
result oncewindow
has been fully created (r199087) - Improved stability when the first child of a shadow root is a comment node (r199097)
- Made
CSS
be a proper constructor on thewindow
object with static functions (r199112) - Exposed the
Crypto
constructor on thewindow
object (r199159) - Added support for
display: contents
on<slot>
elements (r199151) - Fixed
FontFace
so it will be properly reject the returned promise if Content Security Policy blocks all the URLs (r199611) - Made
FontFaceSet
handle null correctly (r199216) - Corrected
DOMTokenList.contains()
so it does not throw an exception (r199296) - Made
Selection.deleteFromDocument
not 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.buffer
nullable (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
sourceMappingURL
not being used whensourceURL
was also set (r199688) - Started localizing sizes and times by using
Number.prototype.toLocaleString
(r199635) - Made
sourceMappingURL
work 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: 0
render as 0 width whentext-rendering: optimizeLegibility
is used (r199150) - Corrected focus ring drawing at incorrect location on image map with a CSS transform (r199247)
- Made negative
letter-spacing
affect 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: collapse
on 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-src
directive (r199527) - Started ignoring Content Security Policy meta tags if it is not a descendent of
<head>
per the spec (r199163) - Started ignoring
report-only
Content 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-Options
in<meta>
per the spec (r199696)
Networking
- Stopped speculatively revalidating cached redirects (r199521)
- Stopped cacheing responses with
Content-Range
headers to avoid serving incorrect results (r199090) - Fixed clearing the application cache when removing website data in Privacy preferences (r199204)
Accessibility
- Changed the
application
role description to “web application” to avoid confusion with the top-level system application description (r199260) - Made
presentation
role 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.