Contents Menu Expand

What’s new for developers

GNOME 48 brings a host of improvements for developers, including enhanced developer tools, refined libraries, and updated language bindings. Read on to learn what’s new.

For a full rundown of GNOME’s development platform, you can also visit the GNOME Developer website. Dive in and start building the next generation of GNOME experiences!

Portals Enhancements

GNOME 48 comes with support for two major enhancements to desktop portals: global shortcuts, and the introduction of the USB portal.

Global Shortcuts

With GNOME 48, it is now possible for apps to register system-wide global shortcuts. This allows apps to setup keyboard shortcuts which can be used while the app does not have focus. This feature is fully supported by GNOME 48, and API reference documentation is available.

USB Portal

The second major portals enhancement is the introduction of the USB portal. This allows apps to monitor and request access to USB devices. This is primarily intended for apps which require access to specialist USB devices like joysticks and controllers. For more more generic devices, dedicated portals already exist, such as the camera portal.

Using the new USB portal provides an alternative to the less secure --device=all sandbox hole. See the API reference documentation for more information.

The USB portal is possible thanks to the latest Flatpak 1.16 release, which includes various other enhancements which are worth checking out. Details can be found in Georges Stavracas’s blog post.

GTK

GNOME 48 comes with a new version of the GTK toolkit, which contains a number of notable enhancements.

Libadwaita

GNOME 48 comes with Libadwaita 1.7. This latest version comes with significant new features for those developing GNOME apps. These include:

There are also a number of smaller API changes which might be of interest:

Sysprof

GNOME’s profiling tool has been significantly updated and includes many improvements in GNOME 48. The most notable changes are:

This release also includes a number of bug fixes and stability improvements, ensuring a more robust and reliable profiling experience. If you’ve never used Sysprof before, GNOME’s developer docs include a getting started tutorial.

GJS

GNOME’s JavaScript runtime has received various improvements and fixes since the last major GNOME release. These include:

Other

Many other smaller developer enhancements accompany GNOME 48. Here are just some of them: