Nuvola 4.11

Nuvola 4.11 was released on May 8th, 2018.

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

Changes for Users

Changes for Script Maintainers

  • New utility function Nuvola.queryText() (doc) used to query an element by a CSS selector expression and return text content or null.
  • New utility function Nuvola.queryAttribute() (doc) used to query an element by a CSS selector expression and return its attribute or null.
  • New utility function Nuvola.setInputValueWithEvent() (doc) used to set the value of an input element and then emit aninput event.
  • New utility function Nuvola.exportImageAsBase64() (doc) used to load and export an image as base64 data URI, e.g., in the case of blob:// resources.
  • The Chromium-based backend now supports URL filtering for external links, which is more powerful than that of WebKitGTK backend, e.g., it can detect JavaScript redirects in initially empty pop-up windows.
  • Developer tools add the WebView sidebar to retrieve and change the dimensions of the web view or to take a snapshot. It will be used to provide AppStream metadata with per-app screenshots to be shown in GNOME Software, for example.
  • Nuvola ADK includes Standard JavaScript code style checker. You can use the standard command to check the style of your script or use standard --fix to convert it.
  • NuvolaKit JavaScript API Reference was updated with new symbols and changelogs were added to track changes more easily.
  • Nuvola SDK calculates a micro version number from git as the number of commits from the last tag and adds it to metadata.json. The micro version number is shown in the About dialog.
  • Nuvola SDK uses two spaces for the indentation of JSON files.

Changes for Third-Party Packagers

  • Nuvola can still be built without the Chromium-based backend. Please let us know whether you still need that possibility or the WebKitGTK-based backend can be removed.
  • Vala ≥ 0.40.4 is required and all compatibility issues with Valac 0.40 were fixed. [GitHub 1, GitHub 2]
  • New dependencies: libpulse and libpulse-mainloop-glib.
  • Canonical’s appindicator3 was replaced with a better maintained fork (libayatana-appindicator3) from Ayatana Indicators project.
  • The WebKitGTK+ VAPI patch was dropped.
  • WAF build system was upgraded to 2.0.6.
  • Build instructions were updated and moved to aBUILD.md file [GitHub].
  • Another batch of scripts was ported to use the Chromium-based backend: 8tracks, Bandcamp, Google Calendar, OwnCloud Music, Plex Music, Pocket Casts, SiriusXM, Amazon Cloud Player, BBC iPlayer, and Jupiter Broadcasting. If you still support only the WebKitGTK-based backend, you can try to remove Chromium[] Feature[MSE] flags from their requirements and add Feature[Flash] when necessary. However, this should be done on a case-by-case basis and only after careful testing. We do not test and support these modifications though.

Questions? Feedback? Found Bug?

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