Nuvola 4.18 brings Apple Music and Gaana, resumes Qobuz support, and more
Nuvola 4.18 was released. It brings two new services (Apple Music and Gaana), an updated Qobuz script adopted by Romain Berger, and lots of improvements under the hood.
To install Nuvola, follow installation instructions at the Nuvola Apps Repository. To update Nuvola, run flatpak update --system && flatpak update --user
in terminal (as a regular user, not root/sudo), or use a package manager that supports Flatpak (e.g., a recent GNOME Software application with the Flatpak plugin. KDE Discover or elementaryOS AppCenter).
What’s New for Users
New script: Apple Music
Maintainer: Jiří Janoušek • Flatpak package • Source code
Apple Music is a music and video streaming service developed by Apple Inc. Users select music to stream to their device on-demand, or they can listen to existing, expertly curated playlists. The service also includes the Internet radio station Apple Music 1, Apple Music Hits, and Apple Music Country, which broadcasts live to over 200 countries 24 hours a day. The service was announced on June 8, 2015, and launched on June 30, 2015. [Source: Wikipedia]
New script: Gaana
Maintainer: Jiří Janoušek • Flatpak package • Source code
Gaana.com is India’s largest commercial music streaming service with over 150 million monthly users. It was launched in April 2010 by Times Internet and provides both Indian and international music content. The entire Indian music catalog is available to users worldwide. Gaana.com features music from 21 languages including the major languages such as Assamese, Bengali, English, Gujarati, Hindi, Kannada, Urdu, Odia, Marathi, Punjabi, Tamil, Telugu, Maithili, Malayalam and other Indian regional languages. [Source: Wikipedia]
Qobuz script adopted by a new maintainer
Maintainer: Romain Berger • Flatpak package • Source code
- New maintainer: Romain Berger [GitHub Ticket]. Many thanks for adopting the script. Welcome aboard!
- Integration was adjusted to the new design.
Pocket Casts script 1.4
Maintainer: Jiří Janoušek • Flatpak package • Source code
- Fix integration of play/pause buttons and volume management [GitHub Ticket].
Google Play Music is shutting down
Since Google Play Music is shutting down, the integration script in Nuvola is deprecated and will be eventually removed. [GitHub Ticket]
Users with Tilado account migrated to license keys
Before Nuvola adopted Gumroad license keys, users had to link their Nuvola purchases to their Tiliado account ad user it to activate premium features in Nuvola applications. However, the process is quite complicated, so I’m going to remove this option in preparation for the next generation of Nuvola — Nuvola Player 5. Instead, I’m going to migrate all users with a Tiliado account to license keys [GitHub Ticket].
The migration should be seamless and start in the background automatically once the users upgrade to Nuvola 4.18. I’ve also sent the new license keys via e-mail, so if you use a Tiliado account to activate Nuvola and haven’t received the e-mail with a license key, please get in touch here. The activation via a Tiliado account will be removed in Nuvola 4.20 at the end of December 2020. (Yes, you guessed correctly that Nuvola 4.19 arrives at the end of November.)
Widevine plugin is mandatory
We used to let individual apps specify whether they require the Widevine plugin for audio playback or not and relied on script maintainers to update the script when this requirement changes. However, it may happen that an app starts silently using Widevine for better audio quality and falls back to lower quality if Widewine is not present, so Nuvola would provide a worse user experience than it could. That’s why we decided to make the Widevine plugin mandatory [GitHub Ticket]. The Widevine installation process is automatic once the user agrees to proceed.
We still maintain two deprecated apps for Google Calendar and Google Keep, which don’t need the Widevine plugin at all, but their users will be asked to agree with its automatic installation too. We apologize for this inconvenience, but we believe it doesn’t outweigh the benefits of the global decision.
Other changes
- Nuvola now persists session cookies, which prevents Jamendo from forgetting an already logged-in user [GitHub Ticket].
Status of QtWebEngine Port
Nuvola is going to change its web rendering engine once again for various reasons [GitHub Ticket]. Although the new engine is QtWebEngine based on Qt widget toolkit, Nuvola will still remain a GTK application with the same user interface as nowadays. How is that possible? QtWebEngine will be running in a separate process and communicate with the main Nuvola process via a custom Wayland protocol.
Two key components of the integration have been published. Plenty of work ahead but it looks promising :-)
- Wayland Embedded View Framework Server written in Vala + GTK will be used in the main Nuvola process. It acts as an embedded Wayland compositor.
- Wayland Embedded View Framework Client written in Python + QT will run QtWebEngine in a separate process. It acts as a Wayland client.
Under the hood
Flatpak manifest refactoring
Flatpak manifests are recipes used to build Flatpak packages. Nuvola manifests weren’t publicly available, but that has changed: Manifests were cleaned-up, ported from JSON to YAML, and published to the tiliado/nuvola-flatpaks repository on GitHub. We also upgraded GNOME SDK to the latest version 3.38 [GitHub ticket].
In addition, the manifests are checked with our new flatpak-manifest-update tool each day to keep our dependencies up-to-date. Whenever a new version of a dependency is released, the check fails and we are instantly notified by e-mail. [GitHub Ticket]
Compiler warnings are history
Following Diorite library, Nuvola now builds without compiler warnings except for a few deprecations (e. g. a legacy tray icon widget) [GitHub Ticket].
Reorganization of git branches
Nuvola and Diorite used to have the master branch for releases and devel branch for development, but the stable release branch is now called release-4.x and branch master is used for development. [GitHub Ticket]
Nuvola Contributes to Good Angel Foundation
Jiri Janousek, the core developer of the 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.
Thank You for Your Support
At the time of writing, the awesome people listed below 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.