Nuvola 4.10

Nuvola 4.10 was released on March 4th, 2018.

Note that Nuvola versioning has changed after Nuvola 3.1.3 and version 3.1.x became 4.x (3 + 1 = 4).

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.


  • Amazon Cloud Player 5.6 by Andrew Stubbs: Updated album name extraction, added thumbs up/down actions and fixed compatibility with CEF backend.
  • BBC iPlayer 1.4 by Andrew Stubbs: Update live TV & radio integration; fixed compatibility with CEF backend.
  • Deezer 3.0 by Jiří Janoušek: Switched to HTML5 Audio playback instead of the Flash plugin; fixed "Add to Favorite tracks" action.
  • Micxloud 4.1 adopted by Jiří Janoušek: Ported to support the new interface and added CEF backend requirement.
  • Spotify 3.0 adopted by Jiří Janoušek: Updated to support new Spotify web player. Requires CEF backend.
  • YouTube 2.0 adopted by Jiří Janoušek: Fixed metadata parsing and ported to use HTML5 Audio/Video. Requires CEF backend.

Under the hood

  • Nuvola.parseTimeUsec now supports negative time specs.
  • Increased requirements: Vala >= 0.38.4.
  • New mandatory dependency: libarchive >= 3.2
  • New optional dependencies: ValaCEF (--no-cef), Vala linter (--no-vala-lint).
  • Source code was refactored to use a united coding style which is checked with Vala linter.
  • Some configure options were renamed (e.g. --noxxx--no-xxx)
  • GIR generation is now optional, you can pass --no-gir to disable it.
  • Welcome screen is now shown from App Runner process instead of the Nuvola Service process, which makes start-up faster.
  • App Runner is now installed as 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 Service lost most of command line parameters and cannot be used to launch scripts with nuvola -a ID. Use nuvolaruntime instead.
  • The default unique id is now eu.tiliado.WebRuntime, which is used consistently.
  • Test scripts from web_apps directory are no longer installed. You may install them manually if you deem it necessary.

Nuvola SDK 4.10.0

  • Nuvola 3.0 compatibility mode was removed.
  • The 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.
  • Individual apps now use the eu.tiliado.WebRuntimeApp... unique id.
  • AppStream Addon XML metadata are generated. Issue: tiliado/nuvolasdk#1

Diorite 4.10.0

  • Increased requirements: Vala >= 0.38.4.
  • The VAPIDIR environment variable is supported to set extra Vala API directories.
  • GIR generation is now optional, you can pass --no-gir to disable it.
  • Fixed bug in Entry widget that prevented user input.
  • Fixed bug when XDG Desktop Portal web browser selector was shown under a dialog window instead of above it.
  • RequirementsParser supports 4 states:
  • New utility functions: Drt.print_variant()
  • Added Drt.Event thread synchronization primitive.

Questions? Feedback? Found Bug?

Having trouble? We'd like to help! But you need to tell us. I'd like to ...