GNOME Software and automatic updates

For GNOME 3.30 we’ve enabled something that people have been asking for since at least the birth of the gnome-software project: automatically installing updates.

This of course comes with some caveats. Since it’s still not safe to auto-update packages (trust me, I triaged the hundreds of bugs) we will restrict automatic updates to Flatpaks. Although we do automatically download things like firmware updates, ostree content, and package updates by default they’re deployed manually like before. I guess it’s important to say that the auto-update of Flatpaks is optional and can easily be turned off in the GUI, and that you’ll be notified when applications have been auto-updated and need restarting.

Another common complaint with gnome-software was that it didn’t show the same list of updates as command line tools like dnf. The internal refactoring required for auto-deploying updates also allows us to show updates that are available, but not yet downloaded. We’ll still try and auto-download them ahead of time if possible, but won’t hide them until that. This does mean that “new” updates could take some time to download in the updates panel before either the firmware update is performed or the offline update is scheduled.

This also means we can add some additional UI controlling whether updates should be downloaded and deployed automatically. This doesn’t override the existing logic regarding metered connections or available battery power, but does give the user some more control without resorting to using gsettings invocation on the command line.

Also notable for GNOME 3.30 is that we’ve switched to the new libflatpak transaction API, which both simplifies the flatpak plugin considerably, and it means we install the same runtimes and extensions as the flatpak CLI. This was another common source of frustration as anyone trying to install from a flatpakref with RuntimeRepo set will testify.

With these changes we’ve also bumped the plugin interface version, so if you have out-of-tree plugins they’ll need recompiling before they work again. After a little more polish, the new GNOME Software 2.29.90 will soon be available in Fedora Rawhide, and will thus be available in Fedora 29. If 3.30 is as popular as I think it might be, we might even backport gnome-software 3.30.1 into Fedora 28 like we did for 3.28 and Fedora 27 all those moons ago.

Comments welcome.

Published by

hughsie

Richard has over 10 years of experience developing open source software. He is the maintainer of GNOME Software, PackageKit, GNOME Packagekit, GNOME Power Manager, GNOME Color Manager, colord, and UPower and also contributes to many other projects and opensource standards. Richard has three main areas of interest on the free desktop, color management, package management, and power management. Richard graduated a few years ago from the University of Surrey with a Masters in Electronics Engineering. He now works for Red Hat in the desktop group, and also manages a company selling open source calibration equipment. Richard's outside interests include taking photos and eating good food.

16 thoughts on “GNOME Software and automatic updates”

  1. Cool!

    P.S. Related refs with GTK/QT themes are still not installed for some reason when using the new FlatpakTransaction API, but except that everything seems to work great. Good work!

  2. As a user of Flatpak and cellular broadband, outside home, this a very expensive “feature”. Make sure you take care about this use cases, because on Debian 9 I had to uninstall GNOME Software, because I didn’t know how to disable this feature, but not before to have expenses due to data consume, after Flatpak download all updates. This updates are huge.

    1. That first screenshot above says “disabled when on mobile or metered connection”.

    2. The UI in the first screenshot notes directly on the description of the setting, that it tries to discover mobile and metered connections and delay the downloads.

  3. Can the setting for ‘automatic updates’ integrated into the initial setup wizard? I think the best approach for GNU/Linux and GNOME is offering freedom to choose from the very beginning, so we don’t enforce the wrong default on the users.

  4. When I was downloading a 700MB Linux distro on my Windows 10 Laptop using a 1.5GB/day 4G network setup as hotspot (Wi-Fi), I suddenly found the ever intelligent M$ WINDOWS started downloading it’s big very very important update. And I have to stop myself as I am yet to find how to stop that intelligent creature.

    Let’s come to the point. I am already avoiding GNOME for several reasons, please don’t make it more horrible. And please don’t think about polluting KDE, my ultimate safe place in the GNU Linux world.

      1. No No No!!
        Please do something about my use case. I don’t want to leave GNU Linux world.

        If Microsoft is right, I’m better with Windows, after all majority of laptops are coming with Windows preinstalled.
        Then WHAT I AM DOING IN GNU LINUX WORLD?? This is the big question, please keep this in mind while thinking about implementing a new feature.

        1. What you’re doing in GNU/Linux world is a question only you can answer. It’s free, you’re free to do whatever you want with it.

          Also, had you read the article, you’d have noticed the automatic updates can be disabled.

          1. As far as I can understand, no where it’s mentioned that autodownload can be disabled for Wi-Fi or Ethernet network.
            I expect some assurance from Richard sir.

            And regarding your first point, I must say, FREE doesn’t necessarily mean useless. Windows is not the only competitor to GNU Linux, there are Chrome OS, Android and they are free.

    1. As you can see in the first screenshot you need to explicitly download updates on mobile or metered connections, you can define when a connection is metered in the WiFi configuration so that should cover your use case nicelly, hence don’t panic :)

Comments are closed.