NW.js v0.29.0 Released with Chromium 65 Upgrade, Capturing and Offscreen Support
2018/03/07
We're excited to announce NW.js 0.29.0 with Chromium 65 stable upgrade, 45 security updates within it and Node.js 9.7.1. The new feature included in this release is tab capture, offscreen rendering and experimental Widevine CDM support.
New Features: Tab Capture, Offscreen Rendering, Widevine CDM
The new supported API captures visible area of web contents, or creates a off-screen web contents with a given URL. Once the capture is started, it returns a Media Stream object which you can view live in a video element, make a screenshot with the MediaStream Image Capture API, or send it over the network through WebRTC.
2 simple demos are created for this: tab capture demo and off-screen demo. In the off-screen demo, the MediaStream object is used as a source of WebGL texture.
In terms of performance the solution in NW should be superior than many other (OnPaint based) solutions as we're using the latest architecture inside Chromium. It's also supports more usage scenarios such as accelerated graphics/video and plugins elements etc.
To enable the Widevine CDM support, just put the plugin ('WidevineCdm' directory of Chrome) in the directory of NW. This feature is still experimental. There is ongoing discussion here.
What's New in Chromium 65
Chromium 65 contains usual under-the-hood performance and stability tweaks, but there are also some cool new features to explore. It supports CSS Paint API, the ServerTiming API, CSS display: contents
property and many more. Please check upstream information for details. For a complete list of all features (including experimental features) in this release, see the Chrome 65 milestone hotlist.
We've made the 0.29 branch ready soon after Chromium beta bumps to 65. Please try it and give your valuable feedback. We've been working on 2 branches simultaneously: a released branch on current Chromium stable and a beta branch on Chromium beta.
ChangeLog
- Update Chromium to 65.0.3325.146
- Update Node.js to v9.7.1
- Enable chrome.tabCapture API
- Enable Widevine support in NW.js (#6425)
- Grant content settings permissions in nwjs app (#6492)
Full ChangeLog: https://github.com/nwjs/nw.js/blob/nw29/CHANGELOG.md
Download
- https://dl.nwjs.io/v0.29.0/nwjs-v0.29.0-win-x64.zip
- https://dl.nwjs.io/v0.29.0/nwjs-v0.29.0-osx-x64.zip
- https://dl.nwjs.io/v0.29.0/nwjs-v0.29.0-linux-x64.tar.gz
SDK build:
- https://dl.nwjs.io/v0.29.0/nwjs-sdk-v0.29.0-win-x64.zip
- https://dl.nwjs.io/v0.29.0/nwjs-sdk-v0.29.0-osx-x64.zip
- https://dl.nwjs.io/v0.29.0/nwjs-sdk-v0.29.0-linux-x64.tar.gz
Binary for other platforms: https://dl.nwjs.io/v0.29.0/
There are 2 builds for each platform - normal build, and SDK build. Normal build doesn't have devtools, only SDK build does. lt can be opened by pressing F12 (Cmd-Alt-I on OSX). SDK packages also have more development tools to be exposed in the following releases, as well as the NaCl support.
Our build infrastructure enables live binary build from git tip so you can access to the latest binary from https://dl.nwjs.io/live-build/
Known issues
http://docs.nwjs.io/en/latest/For%20Users/Migration/From%200.12%20to%200.13/#known-issues
Discussion
See our mailing list to discuss on this release: https://groups.google.com/d/msg/nwjs-general/qF_KPEvzG5A/wNBUeYNxCAAJ