Nuvola 4 has new documentationVisit new Nuvola Apps 4.x documentation.
About Nuvola Apps
Nuvola Apps is a runtime for web-based music streaming services providing more native userexperience and integration with Linux desktop environments than usual web browsers can offer. Ittries to feel and look like a native application as possible. However, it cannot overcome commondrawbacks of web-based music streaming: some music streaming services require Flash plugin and webapps usually have higher memory usage than native apps.
Spotify On Nuvola Player. Accessing Spotify with Nuvola Player is much different from the Clementine app. There are no integrations or anything like that. Instead, users that choose to load up Nuvola are getting the Spotify web player in desktop form, complete with tweaks like desktop notifications, and a system tray icon. Go to www.spotify.com/download. If your download doesn't start within seconds, click restart the download. Look for the app in your Downloads folder and double-click it. Continue through the installation steps. Log in and enjoy the music! If you're unable to download the app, you can play music from your browser using our web player. Mobile and tablet. The feature is free to use, available through Anchor, the roll-your-own-podcast company Spotify acquired last year.The creation tool is available now for Anchor users in the U.S., U.K., Canada. Nuvola for mobile devices Empower your team to resolve incidents in real-time from any mobile device. Create, review and assign service requests remotely Enable your team to view and resolve hotel activities while mobile.
What's New
Nuvola 4 is constantly evolving, to stay in touch
- Follow Nuvola Player on Facebook, Google+ or Twitter.
- Subscribe to the Nuvola Player Newsletter: weekly or monthly.
Release 4.12.0
Nuvola 4.12 was released on July 21st, 2018.
What’s New for Users
Nuvola 4.12 gathers all goodies that were continuously released tothe genuine flatpak builds of Nuvola since May 8th, 2018:
- Nuvola Adds Three New Scripts: Brain.fm, Focus@Will, and NPR One (May 20th, 2018): Three new scripts were added to the stable Flatpak repository: Brain.fm, Focus@Will, and NPR One.
- Nuvola Adds Pandora Radio, Updates Sound Cloud & Sirius XM (June 3rd, 2018): A new script was added to the stable Flatpak repository: Pandora Radio. Sound Cloud got a new maintainer and was significantly improved. Sirius XM was adjusted to recent changes in its web interface. Finally, Nuvola Runtime received a few tweaks.
- Nuvola Adds Qobuz, Updates KEXP Radio and Yandex Music (June 17th, 2018): A new script was added to the stable Flatpak repository: Qobuz. KEXP Radio got a new maintainer and was adjusted to new player interface. Yandex Music was ported to Chromium-based backend for audio playback without Flash plugin. Finally, Nuvola Runtime received a few tweaks.
- Nuvola Adds YouTube Music, Updates Jango & Tune In, Drops Logitech Media Server (June 30th, 2018): A new script was added to the stable Flatpak repository: YouTube Music. Jango & Tune In integrations got a new maintainer, were ported to the Chromium-based backend for audio playback without Flash plugin and updated to the latest Nuvola standards. Logitech Media Server script is now unsupported until a new maintainer is found. Finally, Nuvola Runtime received a few tweaks.
- Nuvola Brings Redesigned Preferences Dialog, More Appearance Settings, and Bug Fixes (July 14th, 2018): The latest flatpak builds of Nuvola Apps bring redesigned Preferences dialog with expanded Appearance section as well as a few bug fixes.
What’s New for Script Maintainers
- Commands
nuvolasdk new-project
,nuvolasdk convert-project
andnuvolasdk check-project
were updated to follow the latest Nuvola standards: two space indentations and no trailing whitespace are used formetadata.in.json
and Standard JS code style is enforced forintegrate.js
. - The
README.md
template was updated and the commandnuvolasdk convert-project
createstemplate--README.md
&template--README.md.diff
files to help with the update of yourREADME.md
file. - Nuvola SDK build system: If
src/webview.png
image is found, it is used to generate screenshots combining that web view snapshot image with base Nuvola screenshots. The resulting images can be found in the screenshots subdirectory. More screenshot types will be added in the next development cycle. [GitHub ticket] - Changes in guidelines: Web view snapshots are mandatory, Standard JS coding style for
integrate.json
is mandatory, the minimal API level was raised to 4.11. - Nuvola.Core::NavigationRequest: You can overwrite
request.url
field to force redirect during URL filtering. - Nuvola.queryAttribute: You can specify a parent element and a relative selector as an array of [parent element, selector].
- Nuvola.queryText: You can specify a parent element and a relative selector as an array of [parent element, selector].
- Nuvola.setInputValueWithEvent: The change event is emitted as well.
- Nuvola ADK is no longer built with the WebKitGTK+ backend.
- The default web app requirements
Feature[Flash] Codec[MP3]
were dropped. - An issue with radio actions in developer sidebar toggling themselves without user interaction was fixed. [GitHub ticket]
- Service Integrations Tutorial and Media Player Integration pages were updated to use a new demo player.
What’s New for Third-Party Packagers
- A build error with
--no-cef
flag was fixed and a continuous integration task was set up to test a build configuration with this flag after each commit. [GitHub ticket] - Since the genuine flatpak builds of Nuvola no longer use WebKitGTK+ backend, all scripts are tested only with the Chromium backend and specify
Chromium[X.Y.Z]
requirement for that reason. If you are stuck with the WebKitGTK backend, you may removeChromium[X.Y.Z] Feature[MSE]
requirements to make the script run with the WebKitGTK+ backend and addFeature[Flash]
to use Flash plugin for audio playback. However, this should be done on a case-by-case basis and after careful testing. - Nuvola SDK build system: New dependency for building Nuvola scripts: Pillow ≥ 4.3.
- Nuvola SDK build system: If
src/webview.png
image is found, it is used to generate screenshots combining that web view snapshot image with base Nuvola screenshots. The resulting images can be found in the screenshots subdirectory. More screenshot types will be added in the next development cycle. [GitHub ticket]
Release 4.11
Nuvola 4.11 was released on May 8th, 2018.
Changes for Users
- Nuvola Adds Detection of Headphones and Changes Approach to GTK Theming: Nuvola can detect when headphones are (un)plugged and mute, pause or resume playback accordingly. Theming has changed: Greybird is used as a fallback theme instead of Adwaita, and Nuvola no longer bundles other GTK+ themes but embraces Flatpak GTK+ theme extensions instead.
- Nuvola Updates 8tracks, Bandcamp, Google Play Music, and Google Calendar: Flatpaks of 8tracks, Bandcamp, and Google Play Musicwere updated to use Chromium-based backend for music playback without Flash plugin. Google Calendar also uses Chromium engine for better performance and desktop notifications instead of web app alerts.
- Nuvola Supports Ubuntu 18.04; Updates OwnCloud Music, Plex Music, Pocket Casts, and SiriusXM: Flatpaks of OwnCloud Music, Plex Music, Pocket Casts, and SiriusXM were updated to use Chromium-based backend for music playback without Flash plugin and to improve desktop integration features such as a track progress bar and volume slider. Installation instructions were updated for Ubuntu 18.04 LTS.
- Nuvola Updates Amazon Cloud Player, BBC iPlayer & Jupiter Broadcasting; Supports Fedora 28: Flatpaks of Amazon Cloud Player, BBC iPlayer & Jupiter Broadcasting — all maintained by Andrew Stubbs — were updated to use Chromium-based backend for music playback without Flash plugin whenever possible. Installation instructions were updated for Fedora 28, and Nuvola Runtime received a few tweaks.
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 ofblob://
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 usestandard --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 a
BUILD.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 addFeature[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.
Release 4.10
Nuvola 4.10 was released on March 4th, 2018. Ubuntu best spotify app.
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
- 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
. Usenuvolaruntime
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.
Release 4.9
Nuvola 4.9 was released on December 17th, 2017. It is mostly a maintenance release as most of energy is invested in theChromium port of Nuvola and the development of other features has slowed down. The current status of this ambitiouseffort will be described in a separate announcement.
Enhancements
- URL entry widget was added: Press Ctrl+L or click the gear menu button → Load URL to display/change the current URL.
- Updated script: Yandex Music 1.5 was adopted by Aleksey Zhidkov and enhanced with an integrated Like button. An album art fix by Alexander Konarev has been also incorporated. Issue: tiliado/nuvola-app-yandex-music#2, tiliado/nuvola-app-yandex-music#10.
- Updated script: SiriusXM 1.4 by Jiří Janoušek. Metadata parsing adapted to recent SiriusXM changes.
- Updated script: BBC iPlayer 1.3 by Andrew Stubbs. Fixed integration of radio shows, added integration of progress bar, volume bar and skip action.
- Page loading indicator was added. Issue: tiliado/nuvolaruntime#229
- If Bumblebeed is detected, Nuvola assumes that the integrated Intel graphics card is the primary and skips unnecessary checks for an NVidia flatpak driver. Issue: tiliado/nuvolaruntime#380
- Various fixes regarding VDPAU & VA-API drivers. Issue: tiliado/nuvolaruntime#380
Under the hood
- WebKitGTK >= 2.18.0 is required.
- If Nuvola is told that WebKitGTK supports MSE, it checks whether it is so and aborts otherwise. Don't use
--webkitgtk-supports-mse
if it isn't true. - Fixed various memory leaks.
- Ongoing optimizations to replace synchronous IPC calls with asynchronous variants.
- ValaCEF project has been created to provide Nuvola with Vala bindings for Chromium Embedded Framework (CEF).
Nuvola SDK 4.9.0
- Default API version is 4.9.
Diorite 4.9.0
- New widget: Drtgtk.Entry - an enhanced version og Gtk.Entry.
- Fixed parsing of RPC notifications. Issue: tiliado/nuvolaruntime#385
- New widget: Drtgtk.HeaderBarTitle - a custom title widget for Gtk.HeaderBar.
- New utility function: System.cmdline_for_pid - Get command line of a process with given PID.
- Better debugging: Distinguish between socket creation errors. Issue: tiliado/nuvolaruntime#378
- New namespace: Drt.Dbus - DBus introspection and service activation.
- New utility method: Drt.Flatpak.check_desktop_portal_available - to check whether a proper XDG Desktop Portal DBus interface is present.
- New functionality: Functions to get, set and look up GTK+ 3 themes - see Drtgtk.DesktopShell.
- New widget: Drtgtk.GtkThemeSelector - a selector to list and change a GTK+ theme.
Release 4.8
Nuvola 4.8 was released on September 29th, 2017.
New Features
- New script: Pocket Casts by Jiří Janoušek. Pocket Casts is the only podcatcher you’ll ever need. Listen to your favorite shows in one place, keep in sync progress across various devices, find great new content with curated featured podcasts, currently trending podcasts and much more. Now also with desktop integration provided by Nuvola.
- Updated script: Groove Music script 2.0 by Joel Cumberland works again in Nuvola after being ported to use Media Source Extension instead of Flash plugin.
- Updated script: Amazon Cloud Player script 5.5 by Andrew Stubbs integrates a track progress bar and volume controls.
- Updated script: Google Play Music script 6.0 by Jiří Janoušek uses new asynchronous API to improve responsiveness and reduce lags, but also drops support for Nuvola 4.7 and older.
Discontinued Features
- Spotify script is temporarily unsupported until Nuvola is ported to Chromium Embedded framework because Spotify dropped support for WebKit browsers (including Nuvola and Safari).
- Yandex Music script is currently orphaned and needs a new maintainer. The script is still shipped with Nuvola 4.8 but may be removed in the future unless somebody adopts it. If anyone is interested, please get in touch with me at Nuvola Devel mailing list.
News for Script Maintainers
- Asynchronous variants of various JavaScript API calls were introduced deprecating original synchronous methods. The async methods return a Promise object, which is used to resolve the result of the async operation.
- List of async methods: Notifications.isPersistenceSupportedAsync, Actions.isEnabledAsync, Actions.getStateAsync, Core.getComponentInfoAsync, Core.isComponentLoadedAsync, Core.isComponentActiveAsync, KeyValueStorage.setDefaultAsync, KeyValueStorage.hasKeyAsync, KeyValueStorage.getAsync and KeyValueStorage.setAsync.
- New function: Nuvola.logException to log exceptions to terminal. JavaScript API reference now supports new annotations such as 'Deprecated since', 'Available since' and 'asynchronous' function.
Under the Hood
- Nuvola uses new IPC API from Diorite 4.8 and replaced a lot of synchronous IPC calls between WebWorker and AppRunner processes with asynchronous variants. This should improve the performance of the WebKit WebProcess, reduce lags and prevent occasional deadlocks. However, scripts must use the newly-introduced async JavaScript API to reach the full potential. Google Play Music is the first one.
Diorite 4.8.0
- Various IPC classes were refactored and united into new API (Rpc prefix) and it is possible to respond to IPC messages asynchronously.
- KeyValueStorage got async equivalents of non-void methods.
Release 4.7
Nuvola 4.7 was released on September 1st, 2017.
New Features
- New web app: Jupiter Broadcasting by Andrew Stubbs.
- The genuine flatpak builds offers free trial and $1/month subscription.
- For sake of transparency, preferences dialog shows placeholders for features which were disabled by a distributor.
Bug Fixes:
- VAAPI/VDPAU checks are not run under Wayland. Issue: tiliado/nuvolaruntime#280 Issue: tiliado/nuvolaruntime#359
- URL sandbox was not honoured properly: Issue: tiliado/nuvolaruntime#367
News for Script Maintainers:
- API 4.6 is required for new scripts.
Under the Hood:
- Nuvola no longer bundles
*.vapi
files but depends on those of Valac 0.36.3. However, glib-2.0.vapi and webkit2gtk-web-extension-4.0.vapi must be patched to work properly (seevapi/*.patch
). You may need to modify wscript if you don't use Valac 0.36. Issue: tiliado/nuvolaruntime#369 - Valac and GLib dependencies were raised to 0.36.3 and 2.52. Issue: tiliado/nuvolaruntime#369
- GIR XML and typelib files are generated. Introduces new dependency on g-ir-compiler.
- There was a lot of refactoring to allow usage of Python-GObject and to support multiple web engines in future.
- Future warning: Nuvola is likely to introduce dependency on Python 3.6.
Nuvola SDK 4.7.0
- desktop launcher: Spaces around the equals sign were removed because they confuse kbuildsycoca5. Issue: tiliado/nuvolaruntime#365Upstream ticket
- Added individual version info properties -
nuvolasdk.VERSION_MAJOR/MINOR/MICRO
. - new-project: New
metadata.in.json
files use the latest Nuvola SDK version.
Diorite 4.7.0
- Diorite no longer bundles *.vapi files and depends on those of Vala 0.36.3.
- GLib dependency has been raised to 2.52.0 to make use of Valac's GTask support.
- Diorite GTK namespace was changed to Drtgtk.
- GIR XML and typelib files are generated. Introduces new dependency on g-ir-compiler.
Release 4.6
Nuvola 4.6 was released on July 29, 2017.
Get Spotify Premium for CheapDid you know that students can score Spotify Premium for only $4.99/month via for up to 12 consecutive months? Is it illegal to get spotify premium for free. This 60-day trial only works for users who’ve never had Spotify Premium before and are willing to enter their credit card info to get the free trial started. So don’t redeem via mobile.ever.Instead, start your trial via your desktop or laptop and take advantage of. Share a Premium AccountDid you know that you can share a Premium account with others and split the monthly cost?Get 3 friends or family members on a with you and each will only pay $3.75/month.Make it easy: Have one person pay the monthly bill, then just collect money from the others every 6 months or so.
Gallery
New Features
- Start-up system checks run in parallel to decrease start-up time. In case of any problem, only a single dialog is shown instead of multiple error dialogs or info bars.
- WebKitGTK+ was upgraded to 2.16.6 fixing many security vulnerabilities and rendering issue.
- Media Source Extension (MSE) is enabled in WebKitGTK as well as in Nuvola itself. This applies only to the genuine flatpak builds of Nuvola. MSE is required by some web apps for Flash-free audio/video playback.
- New web app: BBC iPlayer by Andrew Stubbs. Note that this script requires MSE and may not work with third-party builds of Nuvola. Issue: tiliado/nuvolaruntime#321
Bug fixes
- Graphics.dri2_get_driver_name() now throws error instead of an uncaught critical warning if it cannot connect to X Server. Issue: tiliado/nuvolaruntime#359
- Fixed typo in Nuvola.parseTimeUsec. Issue: tiliado/nuvolaruntime#357
- int64 is used for track position to avoid integer overflow. Issue: tiliado/nuvolaruntime#358
News for Script Maintainers
- Developer sidebar can now change track rating.
- Media player API documentation was updated with track rating.
Under the Hood
- New dependency: unit.js 2.0.0 (installed as /usr/share/javascript/unitjs/unit.js) is used for JavaScript unit tests (included in the test service
- web_apps/test subdirectory).
- Added support for org.gnome.SettingsDaemon.MediaKeys D-Bus name. Upstream ticket.
- The content of format support dialog was moved to Preferences dialog and various toggles were removed.
- The content of bindings, models and interfaces directories was merged into components directory.
Nuvola SDK 4.6.0
- genmakefile: Add
-link
suffix to compat symlinks to workaround Debian not being able to replace a directory with a symlink. Issue: tiliado/nuvolaruntime#362 - dbus launcher: Rename Diorite to Drt.
- Added version info - nuvolasdk.VERSION.
- genmakefile: It is possible to specify required Nuvola SDK version.
Diorite 4.6.0
- Namespaces have been united: Drt for Diorite and Drtdb for Diorite DB.
- Added utils to interact with GLib event loop (Drt.EventLoop).
- Added workaround for extra Variant unref in ApiNotifications (Drt.ApiChannel.(un)subscribe).
- Added methods to (un)subscribe for ApiNotifications.
- Added CSS style classes for badges (Drt.Css.BADGE_*).
- Added various utility functions (Drt.Time.get_unix_time_now_utc, Drt.String.concat, Drt.String.append, Drt.variant_dump, Drt.variant_ref, Drt.variant_unref).
- ApplicationWindow.app field is now protected (private previously).
Milestone 4.5
Nuvola 4.5 was released on June 24th, 2017.
Gallery
Nuvola Login
New Features
- Nuvola Apps Runtime supports the integration of a progress bar and volume management. Web app scripts which use this feature can not only provide track length & position and current volume but also allow a user to change that remotely, e.g. from Media Player GNOME Shell extension. At present, only Deezer and Google Play Music scripts use these features, but others will follow. Issue: tiliado/nuvolaruntime#22 Issue: tiliado/nuvolaruntime#155
- If Nuvola Apps Runtime detects a Nvidia graphics card, it checks whether the flatpak extension with corresponding graphics driver is installed. If it isn't, e.g. because of a bug in GNOME Software, an error message is shown to provide the user with installation instructions. Issue: tiliado/nuvolaruntime#342
- After a lot of effort, a workaround for the instability of Flash plugin was found out and is used until WebKitGTK developers find a proper fix. However, it is applied only in flatpak builds because it may have a negative impact on other WebKitGTK applications otherwise. Issue: tiliado/nuvolaruntime#354
Bug fixes
- A wrong command in desktop launcher was fixed. Issue: tiliado/nuvolaruntime#348
- Fix wscript for non-git builds. Issue: tiliado/diorite#16
News for Script Maintainers
Nuvola.VERSION_MICRO
contains micro version of Nuvola Runtime.Nuvola.API_VERSION_MAJOR
andNuvola.API_VERSION_MINOR
are now deprecated aliases ofNuvola.VERSION_MAJOR
andNuvola.VERSION_MINOR
.- The tutorial was updated to use Nuvola ADK 4.4.
- Added documentation of web app requirement flags.
- Added documentation of user agent quirks.
- New API for progress bar integration.
- New API for volume management integration.
- New utility functions
Nuvola.encodeVersion
andNuvola.checkVersion
. Nuvola.triggerMouseEvent
andclickOnElement
support relative x & y coordinates, which is useful for clicking on a progress bar or a volume bar.
Under the Hood
- New dependencies: libdrm >= 2.2 and libdri2 >= 1.0
- Nuvola checks whether VDPAU and VA-API drivers are installed and prints debugging information to console. It will show error dialog in the future though, so make sure the drivers are installed. Issue: tiliado/nuvolaruntime#280
- Internal icon loading code was refactored. Legacy icon.png and nuvolaplayer3_XXX icons are no longer supported. eu.tiliado.NuvolaAppXxx is used everywhere. Issue: tiliado/nuvolaruntime#353
Nuvola SDK 4.5
- new-project, convert-project: An user is asked for a git name and a git email if they are not set.
- Happy Songs demo was updated to include a progress bar and a volume level.
- genmakefile: A wrong dbus launcher command in a desktop file was fixed. Issue: tiliado/nuvolaruntime#348
- genmakefile: Legacy nuvolaplayer3_xxx icon symlinks are created only in Nuvola 3.0.x compat mode. Issue: tiliado/nuvolasdk#3
- Fixed compatibility with Nuvola 4.5.0.
Diorite 4.5
- Fix wscript for non-git builds. Issue: tiliado/diorite#16
- Dioritedb has been refactored significantly.
- Bundled glib.vapi is no longer used.
- Various utility functions were added, see git log for details.
Milestone 4.4
The milestone 4.4 was released on May 27, 2017.
Gallery
New Features
- Tray icon feature can now use AppIndicator library instead of obsolete X11 tray icons. Although app indicators are mostly known from Ubuntu's Unity desktop, they also work in elementaryOS and GNOME Shell (with AppIndicator extension) and provide superior user experience. Issue: tiliado/nuvolaplayer#45
- Users can easily clear cookies, cache and temporary files, IndexedDB and WebSQL databases and local storage from the Preferences dialog → tab Website Data. Issue: tiliado/nuvolaplayer#331
Enhancements
- Versioning scheme was changed to be more compact, e.g. 4.4.1 instead of 3.1.4-1.gabcd. Nuvola 4.0 was re-targeted as Nuvola 5.0.
- Nuvola can do its own user agent quirks (i.e. to disguise itself as a different web browser) in order to work around web pages that doesn't work with the WebKit's user agent string. Issue: tiliado/nuvolaplayer#336
- Flatpak builds use the latest stable WebKitGTK+ 2.16.3 bringing fixes for three security vulnerabilities as well as several crashes and rendering issues.
Web App Scripts
- Google Play Music script uses own user agent quirks to work around the malfunctioning Google sign-in web page. Issue: tiliado/nuvolaplayer#336
Bug fixes
- The build script now raises error if it is ran with Python < 3.4.
- Fixed a bug when the menus of tray icons and dock items were not updated.
- Nuvola now aborts when required data files are not found (e.g. in incomplete installation) rather they running with errors in the background.
- Obsolete test suite has been removed. A new one will be created during ongoing modernization. Issue: tiliado/nuvolaplayer#335
- Broken -L/--log-file options were removed. Issue: tiliado/nuvolaplayer#338
- Various fixes of HTTP Remote Control feature.
Under the Hood
- Nuvola's filesystem namespace was changed from
nuvolaplayer3
tonuvolaruntime
. The data dir is installed at PREFIX/share/nuvolaruntime, libraries were renamed tolibnuvolaruntime-*.so
and binaries tonuvola(ctl)
. Users' configuration, data and cache is migrated automatically. - Nuvola's git repository was moved to https://github.com/tiliado/nuvolaruntime.
- WebKitGTK+ >= 2.16.0 is required as all new API is now used unconditionally to make maintenance easier.
- Added optional dependency on appindicator3-0.1 >= 0.4. Use
./waf configure --noappindicator
to disable this dependency and related functionality (Tray icon feature). - Nuvola no longer bundles Engine.io-client JavaScript library but expect version 3.1.0 of it located at the JSDIR/engine.io-client/engine.io.js (JSDIR is DATADIR/javascript unless changed with --jsdir). Issue: tiliado/nuvolaplayer#341
- Nuvola no longer supports web app scripts without a desktop file.
- Test suite was reintroduced (build/run-nuvolaruntime-tests). Issue: tiliado/nuvolaplayer#335
- A lot of refactoring and removal of obsolete code and other improvements.
Nuvola SDK 4.4.0
- Versioning scheme is synchronized with Nuvola Apps Runtime.
- DBus Launcher has been ported to use the high level Start-up API of Nuvola and a data service have been removed because it is no longer used.
- Compatibility with Nuvola Player 3.0.x must be enabled with the --compat flag passed to ./configure.
- Web apps scripts are installed into the PREFIX/share/nuvolaruntime/web_apps directory used by Nuvola 4.4+ but legacy symlinks in the PREFIX/share/nuvolaplayer3/web_apps directory are also provided for Nuvola 3.x.
Diorite 4.4.0
- Versioning scheme is synchronized with Nuvola Apps 4.4. Library names have been changed accordingly: dioriteglib-0.3 → dioriteglib4 and dioritegtk-0.3 → dioritegtk4.
- Vala documentation is built by default. Requires valadoc >= 0.36 but can be disabled with --novaladoc flag.
- Various utility functions were added. See git log for details.
Milestone 3.1.3
The milestone 3.1.3 was released on April 30, 2017.
New Features
- elementaryOS Loki has been added among officially supported distributions. Nuvola flatpaks contain a work-in-progress GTK+ 3.22 port of the elementary theme to provide elementaryOS users with a native look. Installation instructions and documentation have been updated accordingly. Issue: tiliado/nuvolaplayer#4
- All three variants of the Arc theme have been added to Nuvola flatpaks. Issue: tiliado/nuvolaplayer/issues/318
Enhancements
- Ubuntu themes have been updated. Issue: tiliado/nuvolaplayer#324
- Initial start-up of flatpak builds is faster.
- The text of Welcome dialog was moved to the first tab of the main window because it may contain useful information.
- WebKitGTK+ 2.16 API to set network proxy is used replacing previous legacy hacks.
- The official builds of Nuvola are marked as 'genuine flatpak builds'
Bug fixes
- Apps that are not media players no longer steal media keys. Issue: tiliado/nuvolaplayer#230
- Fixed activation for Premium users. Issue: tiliado/nuvolaplayer#325
- App menu, toolbar & menu bar handling was refactored and double app menus fixed. Issue: tiliado/diorite#4
Under the Hood
- Build script of Nuvola was reworked, ported to Waf 1.9.10 and supports branding. See Readme.md for more information.
- Build script of Diorite was reworked and ported to Waf 1.9.10. See Diorite's Readme.md for more information.
- Modernisation has begun. Dependencies were raised and legacy code is being removed.
- All Python scripts require Python >= 3.4.
- Code has been ported to Valac 0.36.
Milestone 3.1.2
The milestone 3.1.2 was released on March 26, 2017 (123 commit since the 3.1.1 milestone).
New Features
- Nuvola Player was renamed to Nuvola Apps as non-media player apps (Google Calendar) were enabled and should be fully supported in the 4.0 release.
- Nuvola Apps are distributed as cross-distribution flatpak builds. There have been a lot of changes under the hood to support this transition.
- The
nuvolaplayer3
andnuvolaplayer3ctl
commands are deprecated in favor ofnuvola
andnuvolactl
. - WebApp scripts provide own desktop files so the unnecessary create/delete desktop launchers actions were removed.
Enhancements
- Enhanced support of HTML5 Audio and Media Source Extension (MSE), which is currently enabled only in the BBC iPlayer script with a custom WebKitGTK+ build.
- Album art is downloaded with WebKit's NetworkProcess to access images that are otherwise restricted. Issue: tiliado/nuvolaplayer#76
- Preferences dialog: Components tab was renamed to Features as it is more user-friendly.
Under the Hood
- Inter-process communication has been reworked for greater flexibility as required by the HTTP Remote Control feature.
- Nuvola and individual apps are DBus-activatable.
- The unique name has been changed to
eu.tiliado.Nuvola
and most of the resources (e.g. icons) use this name. - AppData/AppStream metadata have been updated.
- The build script now honors the VAPIDIR env variable.
- Added a script to set up Nuvola CDK environment (
setup_nuvolacdk.sh
).
Bug Fixes
- 'Too many flash plugins' false positives. Resolve symlinks and track final paths not to count duplicates. Issue: tiliado/nuvolaplayer#159
- Repeated Runner: prefix in debugging output. Issue: tiliado/nuvolaplayer#265
- Disable LIBGL_DRI3_DISABLE workaround with WebKitGTK 2.14+ to fix performance issues. Issue: tiliado/nuvolaplayer#260
News for Script Maintainers
- Documentation has been updated and Mantainer's Guide merged into the tutorial.
- Format requirements flag were implemented but not yet documented.
- Web app scripts are built with Nuvola SDK.
Milestone 3.1.1
The milestone 3.1.1 was released on October 2016.
New Features
- Ability to both display and set track rating in Media Player Indicator GNOME Shell extension
- Providing a streaming service supports it, Nuvola Player 4 exports track rating in MPRISinterface and a custom method to set rating of a track. Note that as of October 30th 2016,Player Indicator git master version is required.
- HTTP Remote Control interface
- This interface allows creation of client apps to control Nuvola Player over network via an Engine.io socket.
- Media Player Controller web page
- This page is an example of a client using the HTTP Remote Control interface. It allows you to control Nuvola Playerfrom any device with a web browser (e.g. a phone).
- Nuvola Controller Pebble Watchapp
- This app for Pebble watches is another example of a client using the HTTP Remote Control interface. It allows you to control Nuvola Playerfrom your wrist.
- Password Manager
- With the Password Manager, you can store passwords from login forms in a secure keyring.
Enhancements:
- An option to always run in background regardless a song is playing or not. See in action in Unity or GNOME.
- Better support of HTML5 Audio. It is sufficient for ownCloud Music web app but more work is still necessary to support Google Play Music. Issue: tiliado/nuvolaplayer#52
- Pop-up windows are allowed to pop up a new window, which is required by the SoundCloud's log-in-via-Google feature. Issue: tiliado/nuvola-app-soundcloud#3
- A hint how to edit or remove a keyboard shortcut. Issue: tiliado/nuvolaplayer#217
- Users can disable media keys bindings in the Preferences dialog. Issue: tiliado/nuvolaplayer#237
- Inter process communication backed has been rewritten.
- All web app scripts have been ported to comply with the latest guidelines.
- Packaging improvements: support of independent installation of individual scripts and correct package metadata (e.g. license and homepage).
Bug Fixes
- Remove config option
--with-appindicator
as the AppIndicator integration is currently unmaintained. Issue: tiliado/nuvolaplayer#201, tiliado/nuvolaplayer#45 - Add missing
-a/--app-id
command-line argument to the--help
screen. Issue: tiliado/nuvolaplayer#147 - MPRIS implementation of CanPlay and CanPause flags has been fixed. Issue: tiliado/nuvolaplayer#224
- Warnings when Notifications is being disabled has been removed. Issue: tiliado/nuvolaplayer#227
- Don't use notifications API if disabled as it produces critical warnings. Issue: tiliado/nuvolaplayer#227
- Set GDK_BACKEND to x11 not to crash under Wayland. Issue: tiliado/nuvolaplayer#181
- Disable compositing mode in WebKitGTK < 2.13.4 as it may crash some websites. Issue: tiliado/nuvolaplayer#245
News for Script Maintainers:
- Web app integration template has been moved to its own repository.
- Added information about Format Requirements Flags. Issue: tiliado/nuvolaplayer#158
Nuvola.VERSION
property contains Nuvola version encoded as single integer, e.g. e.g. 30105 for 3.1.5.Nuvola.API_VERSION
property contains Nuvola API version encoded as single integer, e.g. e.g. 301 for 3.1.Nuvola.WEBKITGTK_{VERSION,MAJOR,MINOR,MICRO}
properties contain version information about WebKitGTK+ library.Nuvola.LIBSOUP_{VERSION,MAJOR,MINOR,MICRO}
properties contain version information about Soup library.- New API to set rating.
- It is possible to set a user agent string via the
user_agent
field of metadata.json. Issue: tiliado/nuvolaplayer#91 - It is possible to enable access to insecure content. This happens when a web page loaded over HTTPS protocol loads any content over HTTP protocol.
- Developer documentation and guidelines have been updated.
Changes in Dependencies
- Increased: WebKitGTK >= 2.6.2, Valac >= 0.26.1, GLib >= 2.42.1 and GTK+ >= 3.14.5.
- New: libuuid and libnm-(util/glib)
Install Nuvola
Nuvola project provides cross-distribution flatpak packages of Nuvola 4, which contain allrequires dependencies. In order to install a particular Nuvola app, follow steps in theNuvola Apps Repository Index portal according to your distribution:
Questions? Feedback?
Having trouble? We'd like to help! Search for information in the archives of the Nuvola Player Users mailing list, or post a question.
November 2, 2020
Advertisement
Spotify Premium APK is a highly popular app that has millions of users. It provides a huge collection of songs and other audio files for free. You can listen to songs online and offline too. Spotify Android Apk latest version gives you unlimited skips, and the user can randomly play any song of their choice. Also, users can listen to music in high quality.
Last Updated | 1 day ago |
Type | Free |
Supported Android Version | Android 4.1 & Higher |
App Version | Latest |
App Size | 23 MB |
Advertisement
The Latest version of Spotify premium modded Apk allows its users to create a playlist, download music, provide unlimited shuffle, and allows users to share it with their friends. You can get free unlimited music from Spotify free app premium mod, it also allows you to download and listen to music songs easily.
Contents
Spotify Premium APK 2020
Advertisement
Furthermore, Spotify Premium Android APK gives you all the Premium features, also it has a vast range of audio files such as English songs, Hindi songs, podcasts, and much more. You can get full art pieces of artists from diverse backgrounds. The modded version of Spotify mod 2020 gives more openness to the listeners and presents new surprises. It provides the services of all such plans and packages of the original apps.
Advertisement
Features
- Download unlimited music and other audio files.
- Music without Annoying audio Ads.
- Play any song independently and no shuffle.
- Offers the Best sound Quality.
- Offers perfect recommendations.
- Store music for offline listening.
- No Need To have the Root access.
- Accessible From Any Corner Of The World.
Before we begin
- Enable the download from unknown sources.
- Uninstall the original Spotify app.
Pre-Requirements
- Minimum 1 GB RAM.
- Minimum 4GB Internal Storage.
- Good Internet Connectivity.
Download Spotify APK & Get Unlimited Music
The unlocked can be easily downloaded. However, you need to enable ‘Unknown Sources’ under the settings of your Android device for getting this app.
- Click here to download Spotify Premium APK.
- Wait till it gets downloaded.
- Launch the Premium APK Mod file.
- Now you will be directed to an installation screen.
- When installed, open Spotify mod version Application.
- Create a Spotify account and register yourself.
- You’re all set to download music and enjoy music.
Useful Guide To Download Music on Spotify
The Latest version of Spotify premium mod 2020 is the best destination for music lovers to enjoy their favorite music offline and online with unlimited free new music shuffle mode.
- Open the Premium Spotify Music App.
- Log in to the account or you can make a new account.
- Upon login, you’ll be landed on the home page of the app.
- You will get 5 options on the bottom panel (Home, Browse, Search, Library, Radio).
- You need to go to the library.
- Out of the further available options, tap on ‘Playlists’.
- All the playlists saved on your account will appear instantly.
- Open your favorite song/music playlist on the Spotify music app.
- At the top of the list, the ‘Download’ option can be seen.
- Slide it to start downloading all the new music on that particular list.
The downloaded songs have a green arrow below them indicating that you can listen offline as well on Spotify Premium APK 2020.
Premium Subscription of Spotify
Spotify Premium provides its services as per the subscription plan, but you can independently access all the services on the modded Apk version.
- Individual Plan: It cost $9.99 / month.
- Duo Plan: It cost $12.99 / month.
- Family Plan: It cost $14.99 / month.
Spotify Premium APK – Legal or Illegal?
The cracked version of Spotify Premium Apk is illegal, as it offers all the paid services at no cost, it is not authorized. If Spotify caught you accessing this version then they may block your account permanently. So it is better to uninstall the Spotify Original before downloading a Spotify modded Apk.
Moreover, Spotify premium mod Apk does not have any virus and malware, so it is safe to use this APK as it does not harm your device.
The Spotify Premium APK is the perfect music streaming service provider as it has an extensive collection of audio files. It might be possible that it is not working on your device, as Spotify premium is available in some specific countries, but users can access the Premium APK version from any part of the World.
Spotify bans the user’s accounts if they caught you accessing the Spotify mod version. So it’s better to uninstall the original app before downloading the Apk version.
Common Errors & Easy Solutions
Not able to skip songs: If you’re unable to skip songs. Then the only solution is to uninstall the official Application and opt for a new application download.
Automatically Log out from the App: The hacked version automatically logs out their account. Possibly it’s due to some safety concerns.
Incorrect Username & Password: This might happen because you are accessing the app through a VPN connection.
Is Spotify Mod Apk safe?
It is totally safe and secure to download and get the full audio stuff of music for free. Also, Spotify premium unlocked version does not have any advertisement and is totally free from viruses and malware.
Conclusion
No doubt that Spotify Premium APK is counted among the topmost music streaming services, you can get a lot of features for comfortable listening and downloading of the music. Also, you can get a good quality of audio files, and it allows you to get unlimited audio files. It never lags behind in offering the best user experience. Furthermore, this modded version is not only limited to the Android device but you can also get it on the PC.
The Above given content is solely for the educational purpose, we don’t take any responsibility for any damage due to the improper usage of the information provided on the website.
Average rating 3.3 / 5. Vote count: 7
Nuvola App Spotify Account
No votes so far! Be the first to rate this post.