- cross-posted to:
- gnome@discuss.tchncs.de
- cross-posted to:
- gnome@discuss.tchncs.de
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.
The only real alternative to an embedded scripting language is lua, and too few prefer it over js. Lots of internals in gnome-shell is also written in js, allowing the scripting language to hook straight into the api and data structures without a plugin interface.
In a distant future everything is we assembly, with typed stable interfaces for plugins. But the might happen in gnome 8
The day it has a stable API is the day everyone’s favorite extension dies. The powerful part of it is that they are monkey patched in.