Which API versions (Clutter, Meta, Shell, St) should I use for GNOME Shell 48 when reading gjs-docs.gnome.org?

I’m updating my GNOME Shell extension to GNOME Shell 48, and I’m trying to figure out which versions of the API to look at when using https://gjs-docs.gnome.org

For example, on the site I can see multiple API versions available for each library:

Clutter → 3 API to 16 API

Meta → 3 API to 16 API

Shell → 9 API to 16 API

St → 9 API to 16 API

Questions:

  1. Which versions of these APIs should I look at when developing an extension for GNOME Shell 48 (on Debian 13)?

  2. How can I find out these version numbers myself for future GNOME Shell releases — so I don’t have to ask again each year?

16

It’s exposed in the Config module as LIBMUTTER_API_VERSION, so you can get it from looking glass with something like

(await import('../misc/config.js')).LIBMUTTER_API_VERSION

Or you can look at meson.build in the corresponding git branch.

1 Like

Where is the config file normally located (in Debian)?

Did you mean the following when you said meson.build.

config_h = configure_file(
input: ‘config.h.meson’,
output: ‘config.h’,
configuration: cdata
)

It is embedded inside the libshell library, so I wouldn’t recommend looking up the API version like that.

If you want to go through the file system, just look at the version in /usr/lib/gnome-shell/St-*.typelib.

No, I meant meson.build · gnome-48 · GNOME / gnome-shell · GitLab.

1 Like