Safari Technology Preview release 7 now available for download

Apple has made available the seventh release of the Safari Technology Preview for developers. As with previous releases, this latest contains a slew of new tweaks and changes for developers to check out.

Here's the full breakdown of what's new in Safari Technology Preview release 7:


  • Implemented options argument to addEventListener
  • Updated JSON.stringify to correctly transform numeric array indices
  • Improved the performance of Encode operations
  • Addressed issues with Date setters for years outside of 1900-2100
  • Fixed an issue where reusing a function name as a parameter name threw a syntax error
  • Added the error argument for window.onerror event handlers
  • Improved performance for accessing dictionary properties
  • Updated Proxy.ownKeys to match recent changes to the spec
  • Prevented RegExp unicode parsing from reading an extra character before failing
  • Updated SVGs to report their memory cost to the JavaScript garbage collector
  • 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
  • Fixed global lexical environment variables scope for functions created using the Function constructor
  • Fixed parsing super when the default parameter is an arrow function
  • Added support for trailing commas in function parameters and arguments


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

Web APIs

  • Changed CanvasRenderingContext2D.createPattern() and CanvasRenderingContext2D.putImageData() to throw the correct exception type and align with the specification
  • Fixed a number of issues with Web Workers

Web Inspector

  • Added ⌘T keyboard shortcut to open the New Tab tab
  • Added the ability to show and hide columns in data grid tables
  • Fixed an error when trying to delete nodes with children
  • Added a Top Functions view for Call Trees in the JavaScript & Events timeline
  • Added gaps to the overview and category graphs in the Memory timeline where discontinuities exist in the recording
  • Improved the performance of DOM tree views
  • Fixed filtering to apply to new records added to the data grid
  • Improved snapshot comparisons to always compare the later snapshot to the earlier snapshot no matter what order they were selected
  • Improved performance when processing many DOM.attributeModified messages
  • Fixed the 60fps guideline for the Rendering Frames timeline when switching timeline modes
  • Included the exception stack when showing internal errors in Web Inspector
  • Added ⌘P keyboard shortcut for quick open
  • Removed Text → Content subsection from the Visual Styles Sidebar when not necessary
  • Show
  • Fixed elements in the Elements tab losing focus when selected by the up or down key
  • Enabled combining diacritic marks in input fields in Web Inspector Enabled combining diacritic marks in input fields in Web Inspector


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


  • Fixed a repaint issue with vertical text in an out-of-flow container
  • Show text in a placeholder font while downloading the specified font
  • 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
  • Fixed blending of inline SVG elements with transparency layers
  • Fixed display of hairline borders on 3x displays
  • Prevented flickering and rendering artifacts when resizing the web view
  • Fixed logic to trigger new layout after changing canvas height immediately after page load

Bug Fixes

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

If you're a developer interested in experimenting with new changes to the browser before they hit the general release, you can download the latest release (opens in new tab) directly from Apple.

Dan Thorp-Lancaster