Contents Menu Expand

What’s new for developers

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

GTK

GNOME 49 is accompanied by the new GTK 4.20. GTK saw several notable improvements in this new version.

Glib

The latest stable GLib is version 2.86.0. It comes with several enhancements:

Libadwaita

GNOME 49 comes with Libadwaita 1.8, the latest release of GNOME’s dedicated UI platform library. The new release includes several notable new features and improvements.

AdwShortcutsDialog provides a modern replacement for the now deprecated GtkShortcutsWindow, and is the recommended method for apps to document their keyboard shortcuts. The new widget is adaptive and benefits from integrated search. Additionally, AdwShortcutLabel has been introduced as a replacement for GtkShortcutLabel, which can be used to show keyboard shortcuts in other interfaces.

A new .document style class has been introduced, to provide a typography option that is more suitable to large blocks of document text.

Finally, the new release contains a number of other enhancements, including new capabilities in AdwPreferencesGroup and AdwPreferencesPage. Check out the Libadwaita 1.8 blog post for more details.

Builder

GNOME Builder has gained several new features to make coding more productive and enjoyable in this new release:

Mutter Development Kit

Mutter and GNOME Shell come with a new development tool in GNOME 49. Called the Mutter Development Kit, this replaces the previous nested method of running development versions of GNOME Shell.

Mutter Development Kit uses Toolbx to reliably and easily build Mutter and GNOME Shell in isolation from the host system. It comes with a number of significant improvements over the old nested method, including not relying on X11, improved HiDPI handling, and the ability to emulate touch input.

Tutorials for how to use the tool are available for both Mutter and GNOME Shell.

Sysprof

Sysprof comes with two enhancements in the new version. First, it is now possible to filter by marks, which is a helpful way to analyze large sets of profiling data. Second, Sysprof now has richer marks instrumentation, with the ability to capture DR M vblank, compositor, GTK rendering, WebKit, Mesa, and full frame-cycle marks throughout the stack.

Manuals

Manuals is a new integrated reference and documentation tool that replaces Devhelp. Designed to provide a modern and unified developer experience, Manuals offers access to API references, guides, and other documentation in a streamlined interface.

Manuals is available via Flathub and is now the recommended solution for browsing developer documentation within GNOME.

For Distributions

There are several important changes in GNOME 49 for distributions.

Disabled X11 Session

Support for a dedicated X11 session has been disabled by default in GNOME 49. This change applies to gnome-session, gdm, mutter, and gnome-shell. X11 support can still be enabled as a build option for each of these modules, though distributions should be aware that this may not be possible in future GNOME versions.

This change is part of GNOME’s long-running migration to Wayland. Apps which depend on X11 continue to be supported via xwayland.

More details about this change can be found in Jordan Petridis’s blog post.

Stronger systemd dependencies

A number of GNOME modules have increased their dependencies on systemd in GNOME 49:

These changes allow significant cleanups and modernization in these modules, as well as new features. Adrian Vovk has provided a detailed blog post on this topic, which provides guidance for distributions.