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.

  • _cnt0@lemmy.villa-straylight.social
    link
    fedilink
    arrow-up
    8
    arrow-down
    8
    ·
    1 year ago

    it will help developers

    Until they break it.

    ship extensions faster

    Which they need to adress the regular breakages.

    and with fewer bugs by using standard JavaScript modules and IDE support

    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.

    • Eldritch@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      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.

      • _cnt0@lemmy.villa-straylight.social
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        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++.