Release Notes for Safari Technology Preview 85

Safari Technology Preview Release 85 is now available for download for macOS Catalina betas and macOS Mojave. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.

This release covers WebKit revisions 245618-246093.

Web Authentication

  • Added support for Attestation Conveyance Preference (r245638)

Pointer Events

  • Updated to ensure that capturing data managed by the PointerCaptureController gets cleared upon navigation (r245809, r246031)
  • Changed compatibility mouse events to be able to be prevented while the pointer is pressed (r245699)
  • Exposed navigator.maxTouchPoints (r246070)
  • Changed to only allow pointer capture if the pointer is in the active buttons state (r246074)
  • Changed to not prevent mouseover, mouseout, mouseenter, and mouseleave events while the pointer is down (r245695)
  • Changed toElement and fromElement on PointerEvent to be null (r245867)
  • Changed mouseenter and pointerenter events to be fired from the bottom up (r246061)


  • Fixed inserting a newline in contenteditable add one character, not two (r245912, r245980)


  • Added an option to mute audio capture automatically when page is not visible (r246002)
  • Allowed for resizing camera video feeds to very small resolutions (r246049)
  • Fixed createAnswer() SDP Rejected by setLocalDescription() (r245829)
  • Fixed playing one video at a time for multiple videos with audio, and the autoplay and playinline attributes (r245712)
  • Changed to hide MediaCapabilities.encodingInfo() when the platform does not support it. (r245636)


  • Changed precedence for min-width to always win over max-width (r245966)
  • Fixed font-optical-sizing to apply the correct variation value (r245672)
  • Updated to include searching sub-selectors when determining the property whitelist for selector (r245664)
  • Updated to preserve CSS Grid repeat() notation when serializing declared values (r245798)


  • Fixed bounding client rect for an inline element in Intersection Observer (r245642)
  • Implemented feature policy self, none, and * parsing (r245625)
  • Implemented imagesrcset and imagesizes attributes on link rel=preload (r246045)
  • Implemented Promise.allSettled (r245869)
  • Fixed programmatic scroll in right-to-left overflow with async scrolling enabled (r245771)
  • Added support for preferred presentation size when pasting an image (r245637)
  • Made the computed width of non-replaced inline return computed style (r245768)


  • Implemented support for Numeric Separators (r245655)
  • Implemented opwide16 and opwide32 and introduced 16-bit version bytecode (r245906)
  • Fixed InferredValue to not be a JSCell (r246073)
  • Reduced metadata footprint (r245658)
  • Changed createListFromArrayLike to throw a type error if the value is not an object (r245675)


  • Added support for anyref in globals (r245765)


  • Updated vertex buffers and Input State API (r245905)


  • Enforced variable lifetimes (r245945)
  • Implemented property resolver (r245680, r245722)
  • Improved the speed of parsing and lexing the standard library (r246052)

Web Inspector

  • Exposed a way to get the current Audit version from within an Audit (r245909)
  • Allowed arbitrary JSON data to be returned as part of the result of an Audit (r245914)
  • Changed CSS modifications to be shared for rules that match multiple elements (r245991)
  • Updated the debugger navigation sidebar to always reveal the active call frame when hitting a breakpoint (r246026)
  • Moved the overlay rulers to the opposite vertical or horizontal side if they intersect the highlighted nodes so that no content is obstructed (r245728)
  • Added a setting to show overlay rulers and guides whenever element selection is enabled (r245730)