- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
By now it is probably no longer news to many: GNOME Shell moved from GJS’ own custom imports system to standard JavaScript modules (ESM).
Extensions that target older GNOME versions will not work in GNOME 45. Likewise, extensions that are adapted to work with GNOME 45 will not work in older versions.
You can still support more than one GNOME version, but you will have to upload different versions to extensions.gnome.org for pre- and post-45 support.
Please file bugs with your favorite extensions or have a friendly conversation with your extension writers so that we can help minimize the impact of this change. Ideally, you could help with the port and provide a pull or merge request to help maintainers.
So basically it’s just another GNOME release gotcha.
Seriously though, a stable API is not the GTK/GNOME developers’ agenda here. Nobody wanting a stable API should write software with this toolkit. That said, if you’re a true front end aficionado and you’re looking to make your software look awesome every six months, GNOME has got you so covered like the chocolate on a peanut M&M.
For those wanting to write software that won’t magically kerslode without yet another recompile (or heavily relying on your distro to do that dirty work) stick with KDE/Qt group. They tend to be less breaky each release.
AFAIK, the extension developer needs to explicitly set each version of Gnome they support. Even when the Gnome version doesn’t have any breaking changes, the extension developer still needs to update their extension to enable their extension for the new Gnome version.