A new stable release of Flatpak is out with a wealth of improvements in tow.
Flatpak 1.16.0 is the first stable release in the new 1.16.x series, coming more than two years after the Flatpak 1.14.x cycle began and containing features, fixes, and other work undertaken from the 1.15.x development releases.
Such as?
Well, the way that Flatpak apps access USB devices is improved in Flatpak 1.16.x thanks to a new input device permission.
Developer Georges Basile Stavracas notes that this is “technically still a sandbox hole that should be treated with caution” but enables apps to purposefully limit the scope of their access to just USB input devices (like controllers so ideal for games).
Flatpak 1.16.0 also introduces USB listing support which allows “Flatpak apps to list which USB devices they intend to use. This is stored as static metadata in the app, which is then used by XDG Desktop Portal to notify the app about plugs and unplugs, and eventually request the user for permission.”
Both additions offer obvious security and privacy benefits for users.
Getting Flatpak apps to explicitly list the USB devices they wish to access means vetted storefronts (like Flathub) is able to review requests prior to publishing, while users can now glean the level of USB access an app wants and allow/deny permissions at any time.
For edge-cases, development, and testing there are manual overrides — --usb and --nousb — which users/developers can make use of via the command-line to bypass the changes.
Flatpak 1.16: Other Changes
Getting spammed by notifications from your terminal when installing or updating Flatpak apps from the command-line?
Flatpak 1.16.x adds an opt-in environment variable which stops progress escape sequences from being emitted. This will stop terminals like Kitty, Foot, and Ptyxis from pinging you endlessly while Flatpak’s CLI progress bar shuffles along.
For now, the FLATPAK_TTY_PROGRESS option is opt-in, so has to be set manually. It’s hoped by the time Flatpak 1.18 goes stable it can be enabled by default (and the variable used to opt-out).
Elsewhere, Flatpak 1.16.x boosts Wayland integration through a private Wayland socket that lets the compositor “identify connections from sandboxed apps as belonging to the sandbox,” and improves screenreader support for WebKit-based Flatpak apps.
Bug fixes abound, including assorted small memory leaks and build warnings, support for Kerberos authentication in apps, easier language configuration, auto-removal of obsolete drivers and ref files to free up space, and more.
Install Flatpak 1.16 on Ubuntu
Ubuntu doesn’t ship with Flatpak preinstalled. As the package is in the Universe repository new stable releases do not get packaged and pushed out to users as updates (in-series security updates do).
However, you can install new Flatpak releases on Ubuntu long-term support builds using the Flatpak Stable Versions PPA, maintained by Flatpak devs “as a convenience for Ubuntu users, with no guarantee of support.”
The PPA supports Ubuntu 20.04 LTS and above, but the latest Flatpak 1.16.x release is only available for users of Ubuntu 22.04 or 24.04 (due to a Meson build bump).
To add the Flatpak PPA on Ubuntu 22.04 LTS or 24.04 LTS open Terminal and run:
sudo add-apt-repository ppa:flatpak/stable
APT will automatically refresh its list of software sources once you add the PPA. Once complete, install or upgrade Flatpak:
sudo apt install flatpak
It wouldn’t hurt to reboot once installed/upgraded to make sure everything clicks into place.