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.
It will be annoying for a minute but this change is good: it will help developers ship extensions faster and with fewer bugs by using standard JavaScript modules and IDE support. As mentioned in the blog: modules were standardized in 2015! At what point does it become acceptable to drop non-standard features?
Until they break it.
Which they need to adress the regular breakages.
If I wanted to suffer web technologies, I’d develop content targeting web browsers, not a DE. JavaScript does a lot of things, being conducive to bug free code is not one of them.
I really admire the pain tolerance and endurance of devs developing and maintaining extensions for gnome. At what point does it become acceptable for them to drop that garbage DE? Rhetoric question: always has been.
This. There’s a reason I don’t run gnome. It’s not because I don’t like it overall. It’s fine. Though as others have said it needs extensions. But simply because with every major version every extension breaks. It’s slight hyperbole, but only just. Fucking maddening.
You know Plasma makes use of JS too right?
You know that that is only an option and not a forced replacement for the “proper” API, right? Nobody is stopping you/me from writing plasmoid logic in C++.