OpenFin v7 Released to Stable

We are excited to announce that OpenFin version is ready for production and has been promoted to our stable channel.  This release brings a major upgrade to Chromium 53 for the OpenFin platform while keeping parity with the API features of the OpenFin 6.x releases.

Functionality of our core API stays the same as the latest version of 6.x (, while the updated Chromium version brings more functionality and performance to the table. Going forward, we’ve made big investments in the infrastructure of how we update Chromium and we expect to see great momentum as we move to v8 and beyond!

Details of OpenFin v7.53.20.20

New Chromium Feature Highlights
(compared to OpenFin 6.x) [sourced from the Chromium Blog]

Shadow DOM V1

Shadow DOM V1, allows an element to encapsulate its style and child DOM away from the main document. This improves the maintainability of large or composed sites. Shadow DOM V1 has some significant changes from the V0 version, and is broadly agreed-upon by major browser vendors.

CSS Containment

The CSS contain property allows developers to prevent an element’s children from displaying outside of its bounds. When an element updates, this guarantee allows Chromium to ignore any element outside the parent node during rendering, leading to faster rendering times.

Service Worker Responses Powered by ReadableStreams

Streaming HTTP responses allow browsers to progressively render earlier portions of a large HTML document before the entire response is available. This version improves service workers by adding streaming support. Sites can use the Streams API to construct streamable Response objects by passing a ReadableStream to the Response constructor.

Web Push Protocol and VAPID Support

The latest version allows sites to include notification data payloads with their push messages to eliminate the final server check. To protect user privacy, push notification payloads must be encrypted. Push notification payloads are part of the Push API spec.

VAPID is an open standard to authenticate a site’s server with a push service. When using VAPID, sites are given a Firebase Cloud Messaging endpoint, which supports the cross-browserweb push protocol.

ES6 & 2016 support

A V8 javascript engine upgrade means much greater coverage for the latest Javascript APIs.

Reducing the overhead of offscreen rendering

Chromium no longer runs the rendering pipeline or request AnimationFrame() reduces power consumption by up to 30% on several popular mobile sites without affecting the user experience.

Declarative preload

Sometimes there are resources needed to fully display a page that Chromium doesn’t know about until other resources are loaded. For example, a large JavaScript file may require a particular stylesheet, but Chromium doesn’t know to load the CSS until the JavaScript has run. The <link rel=’preload’> attribute is now supported,, allowing developers to specify resources that should be downloaded preemptively and reducing the time to get meaningful content in front of users.

New OpenFin Core Features

(compared to

  • Added a preload attribute to window options to indicate a URL that will be retrieved (and cached, if needed) and eval’ed before any other script
  • Added offlineAccess support in the application config. The OpenFin RVM will fallback to the cached config version to support offline apps (RVM required)
  • Updated debug.log to only retain 7 (instead of 20) of the most recent log files to mitigate impact on performance
  • Added ability to resize a window while the window is minimized or hidden
  • Reintroduced support for notifications to never timeout
  • Added the ability to remove pending notifications from the queue
  • Added backgroundThrottling as an inheritable window option
  • Added name as a requirement for fin.desktop.Window
  • Added error message to display when app (launched via manifest) fails to load; see documentation for more details
  • Added window.reload to the API so windows can refresh themselves
  • Added API to retrieve the location of an icon in the system tray
  • Added new tray icon hover event; added event.bounds to the “clicked” event as well as to this new “hovering” event
  • Added prevention of window message broadcasts from sending to windows in the sending process; also put a v8 lock in the entrance to the sendWindowByName message to prevent re-entrancy from JavaScript
  • Updated JavaScript API docs to ES6 class syntax, allowing for easier searchability