Release Notes for Safari Technology Preview 7

Safari Technology Preview Release 7 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 7 of Safari Technology Preview covers WebKit revisions 201541–202085.


  • Implemented options argument to addEventListener (r201735, r201757)
  • Updated JSON.stringify to correctly transform numeric array indices (r201674)
  • Improved the performance of Encode operations (r201756)
  • Addressed issues with Date setters for years outside of 1900-2100 (r201586)
  • Fixed an issue where reusing a function name as a parameter name threw a syntax error (r201892)
  • Added the error argument for window.onerror event handlers (r202023)
  • Improved performance for accessing dictionary properties (r201562)
  • Updated Proxy.ownKeys to match recent changes to the spec (r201672)
  • Prevented RegExp unicode parsing from reading an extra character before failing (r201714)
  • Updated SVGs to report their memory cost to the JavaScript garbage collector (r201561)
  • Improved the sampling profiler to protect itself against certain forms of sampling bias that arise due to the sampling interval being in sync with some other system process (r202021)
  • Fixed global lexical environment variables scope for functions created using the Function constructor (r201628)
  • Fixed parsing super when the default parameter is an arrow function (r202074)
  • Added support for trailing commas in function parameters and arguments (r201725)


  • Added the unprefixed version of the pseudo element ::placeholder (r202066)
  • Fixed a crash when computing the style of a grid with only absolute-positioned children (r201919)
  • Fixed computing a grid container’s height by accounting for the horizontal scrollbar (r201709)
  • Fixed placing positioned items on the implicit grid (r201545)
  • Fixed rendering for the text-decoration-style values: dashed and dotted (r201777)
  • Fixed support for using border-radius and backdrop-filter properties together (r201785)
  • Fixed clipping for border-radius with different width and height (r201868)
  • Fixed CSS reflections for elements with WebGL (r201639)
  • Fixed CSS reflections for elements with a backdrop-filter property (r201648)
  • Improved the Document’s font selection lifetime in preparation for the CSS Font Loading API (r201799)
  • Improved memory management for CSS value parsing (r201608)
  • Improved font face rule handling for style change calculations (r201971, r202085)
  • Fixed multiple selector rule behavior for keyframe animations (r201818)
  • Fixed applying CSS variables correctly for writing-mode properties (r201875)
  • Added experimental support for spring() based CSS animations (r201759)
  • Changed the initial value of background-color to transparent per specs (r201666)

Web APIs

Web Inspector

  • Added ⌘T keyboard shortcut to open the New Tab tab (r201692, r201762)
  • Added the ability to show and hide columns in data grid tables (r202009, r202081)
  • Fixed an error when trying to delete nodes with children (r201843)
  • Added a Top Functions view for Call Trees in the JavaScript & Events timeline (r202010, r202055)
  • Added gaps to the overview and category graphs in the Memory timeline where discontinuities exist in the recording (r201686)
  • Improved the performance of DOM tree views (r201840, r201833)
  • Fixed filtering to apply to new records added to the data grid (r202011)
  • Improved snapshot comparisons to always compare the later snapshot to the earlier snapshot no matter what order they were selected (r201949)
  • Improved performance when processing many DOM.attributeModified messages (r201778)
  • Fixed the 60fps guideline for the Rendering Frames timeline when switching timeline modes (r201937)
  • Included the exception stack when showing internal errors in Web Inspector (r202025)
  • Added ⌘P keyboard shortcut for quick open (r201891)
  • Removed Text → Content subsection from the Visual Styles Sidebar when not necessary (r202073)
  • Show <template> content that should not be hidden as Shadow Content (r201965)
  • Fixed elements in the Elements tab losing focus when selected by the up or down key (r201890)
  • Enabled combining diacritic marks in input fields in Web Inspector (r201592)


  • Prevented double-painting the outline of a replaced video element (r201752)
  • Properly prevented for video.src="file" with audio user gesture restrictions in place (r201841)
  • Prevented showing the caption menu if the video has no selectable text or audio tracks (r201883)
  • Improved performance of HTMLMediaElement.prototype.canPlayType that was accounting for 250–750ms first loading (r201831)
  • Fixed inline media controls to show PiP and fullscreen buttons (r202075)


  • Fixed a repaint issue with vertical text in an out-of-flow container (r201635)
  • Show text in a placeholder font while downloading the specified font (r201676)
  • Fixed rendering an SVG in the correct vertical position when no vertical padding is applied, and in the correct horizontal position when no horizontal padding is applied (r201604)
  • Fixed blending of inline SVG elements with transparency layers (r202022)
  • Fixed display of hairline borders on 3x displays (r201907)
  • Prevented flickering and rendering artifacts when resizing the web view (r202037)
  • Fixed logic to trigger new layout after changing canvas height immediately after page load (r201889)

Bug Fixes

  • Fixed an issue where Find on Page would show too many matches (r201701)
  • Exposed static text if form label text only contains static text (r202063)
  • Added Origin header for CORS requests on preloaded cross-origin resources (r201930)
  • Added support for the upgrade-insecure-requests (UIR) directive of Content Security Policy (r201679, r201753)
  • Added proper element focus and caret destination for keyboard users activating a fragment URL (r201832)
  • Increased disk cache capacity when there is lots of free space (r201857)
  • Prevented hangs during synchronous XHR requests if a network session doesn’t exist (r201593)
  • Fixed the response for a POST request on a blob resource to return a “network error” instead of HTTP 500 response (r201557)
  • Restricted HTTP/0.9 responses to default ports and cancelled HTTP/0.9 resource loads if the document was loaded with another HTTP protocol (r201895)
  • Fixed parsing URLs containing tabs or newlines (r201740)
  • Fixed cookie validation in private browsing (r201967)
  • Provided memory cache support for the Vary header (r201800, r201805)