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:

JavaScript

  • 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

CSS

  • 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

Media

  • Prevented double-painting the outline of a replaced video element
  • Properly prevented video.play() 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 theverge.com
  • Fixed inline media controls to show PiP and fullscreen buttons

Rendering

  • 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 directly from Apple.

Dan Thorp-Lancaster