News for script maintainers:
Nuvola has introduced new experimental web engine based on Chromium Embedded Framework. While the WebKitGTK engine is still the default one, I'd like to see all scripts ported to be compatible with the CEF backend. This way, we could finally achieve audio playback without Flash plugin, which is handy as more and more services are dropping Flash player anyway. More instructions will follow as I still need to update developer documentation and write a porting guide.
Nuvola.parseTimeUsec
now supports negative time specs.
News for packagers:
Nuvola has introduced a new optional experimental backend based on Chromium Embedded Framework. It depends on ValaCEF and can be disabled with--no-cef
configure option. However, bear in mind that some websites no longer work with the old WebKitGTK backend (Spotify, YouTube, Mixcloud) because they dropped Flash-based player and require HTML5 Audio with MSE or even Widevine DRM plugin. Although I tried hard to use experimental MSE support in WebKitGTK, I finally gave up in favor of CEF. To find out whether a particular script requires the CEF backend, look at the requirements
field of metadata.in.json
(e.g. Chromium[63] Feature[MSE]
). The goal of Nuvola is to switch all scripts from Flash to HTML5 Audio sooner then we are forced to by the websites dropping Flash player. That's why some scripts (e.g. Deezer) already depend on CEF while Flash-based playback is still possible. As a short-term workaround, you can set their requirement back to Feature[Flash]
and continue using WebKitGTK backend.
Both Nuvola and Diorite need Vala >= 0.38.4. Nuvola added a new mandatory dependency on libarchive >= 3.2 and an optional dependency on Vala linter (pass --no-vala-lint
to disable it).
Some configure options of Nuvola were renamed (e.g. --noxxx
→ --no-xxx
).
It is no longer possible to launch scripts with nuvola -a ID
, so you need to rebuild scripts with Nuvola SDK 4.10, which uses nuvolaruntime
command instead.
Diorite supports the VAPIDIR environment variable to set extra Vala API directories.
Nuvola SDK generates AppStream Addon XML metadata and a nuvola-app-xxx
launcher.
The default unique id is now eu.tiliado.WebRuntime
, which is used consistently instead of the two previous ids (eu.tiliado.Nuvola
and eu.tiliado.NuvolaOse
).
Test scripts from web_apps
directory are no longer installed. You may install them manually if you deem it necessary.
Nuvola Runtime 4.10.0
New features:
Nuvola introduces a new experimental backend based on Chromium Embedded Framework, which facilitates a switch to audio playback without Flash plugin. At present, only Spotify, Deezer, YouTube, Mixcloud, and BBC iPlayer use the new engine, mostly because these scripts simply does not work with the old WebKitGTK backend. The goal of the project is to eventually port all scripts from Flash plugin to HTML5-Audio-based playback.
Enhancements:
Under the hood:
Nuvola.parseTimeUsec
now supports negative time specs.--no-cef
), Vala linter (--no-vala-lint
).--noxxx
→ --no-xxx
)--no-gir
to disable it.bin/nuvolaruntime
and can be invoked independently on Nuvola Service. However, some features are not available if the service cannot be launched via DBus activation.nuvola -a ID
. Use nuvolaruntime
instead.eu.tiliado.WebRuntime
, which is used consistently.web_apps
directory are no longer installed. You may install them manually if you deem it necessary.Nuvola SDK 4.10.0
nuvola-app-xxx
binary launcher was replaced with a shell script, which is now always included. It requires Nuvola 4.10. Consequently, --with-dbus-launcher
configure option was removed.eu.tiliado.WebRuntimeApp...
unique id.Diorite 4.10.0
--no-gir
to disable it.