Nuvola 4.11.0 Released

Nuvola 4.11.0 was released. It is mostly meaningless for users of the genuine flatpak builds of Nuvola (they receive improvements, bug fixes and new features continuously), but packagers of third-party builds may find it helpful to get a fixed release that summarizes recent changes.

To install Nuvola, follow installation instructions at the Nuvola Apps Repository Index. To update Nuvola, run flatpak update --system && flatpak update --user in terminal (as a regular user, not root/sudo) or use a package manager which supports Flatpak (e.g., a recent GNOME Software application with the Flatpak plugin).

Nuvola 4.11.0 welcome screen.

Already Announced Changes

Since the genuine flatpak builds of Nuvola are updated continuously, we also announce user-visible changes more often:

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.

Nuvola Contributes to Good Angel Foundation

Jiri Janousek, the core developer of Nuvola Apps project, is glad to contribute a part of the project’s revenue to the Good Angel foundation. This way, he can regularly help families with children, which face financial distress as a result of severe illness. Even small monetary donations can help these families overcome a tough period.

Nuvola contributes to Good Angel Foundation.

Thank You for Your Support

At the time of writing, the awesome people listed bellow and a few others are Nuvola Patrons, who support the development of Nuvola Apps Runtime. Thank you all!

Christian Dannie Storgaard, José Antonio Rey, Ryan Wagner, Simon Law, Bart Libert, Chris Beeley, Andrew Azores, Bryan Wyatt, Balázs, Denton Davenport, Ben MacLeod, Duco van Amstel, David Wiczer, Andrew Allen, Nathan Warkentin, Chuck Talk.

If you are a Nuvola Patron but your name is not listed, you have to enable the “Show my name and a link to my external profile page in a list of Patrons.” option in your profile settings. Obviously, it is not enabled by default to protect privacy of our patrons.