Hello, GNOME 47.beta is now available. It also marks the start of the UI, feature and API freezes (collectively known as The Freeze). If you’d like to target the GNOME 47 platform, this is the best time to start testing your apps or shell extensions. Download the GNOME 47.beta sources. Review the list of updated modules and changes . Use the official BuildStream project snapshot to compile GNOME 47.beta. You can use the 47beta branch of the flatpak runtimes, which is now available on Flathu...
They don’t actually “break”. Extensions have to report themselves what Gnome version they support. If they aren’t patched to reflect this, they will be marked as unsupported on that version of Gnome.
This makes sense from the perspective of making sure the extensions are actually tested on new versions of Gnome by the devs.
Gnome only really has two options here:
do what they currently do, with most extensions usually only needing a text file reporting that they support the new version. (Almost all extensions don’t have an issue with this and are updated long before stable release, btw)
assume everything works, possibly causing severe problems after an update if a change to the Gnome shell doesn’t play well with an extension.
People often say they should just have an extension API, but that would mean hindering the usefulness of extensions – they’d only be able to do what the API lets them, rather than having free rein over your system, which is currently what makes the extension system so powerful. They’d be almost entirely useless.
No, there is a third option: you freeze the API for the extensions. That way, nothing breaks. And if an app uses private APIs (or public APIs that are not meant for extensions’ use), then and only then you treat it as unsupported.
And yes, the constant breaking is a big, big problem. I use 6 extensions to make the desktop the way I want it to. In every release, I get at least 4 of them breaking for several weeks each time. The last time, the dock extension I used broke with the new Gnome version, but when it got disabled, the “favorite” icons on its dock did not reflect on the Gnome’s default dockbar. All that stuff, are unacceptable for a proper usage in 2024, especially for people coming from Windows that expect stability (no matter what people say, Windows IS stable). I use Linux since 1999, but it’s that kind of stuff that i can’t stand. I want stability. The days when I was hacking on Gentoo in 2003, are long gone. I’m now in my 50s and i don’t have time for that removed.
So, yeah, the third option.
I already mentioned in my comment why the “just have it as an API” point wouldn’t really work unless extensions became severely hampered in terms of what you can do with them.
That’s more acceptable than to have them break every 6 months.
No it isn’t.
And practically, they don’t break every 6 months. Almost all extensions are patched weeks before the new version is even released.
E: so people actively want extensions to be practically useless and barely be able to change anything? You are lying. If they implemented that all we’d here is “hur dur Gnome wants to lock the system down”
You actually want extensions to be useless. What’s the point of them if they can hardly do anything?
You’re fundamentally not understanding how extensions work. They cannot be even nearly as useful as they are now if they have to go through a standardised API. No docks, no window management, etc.
You can always provide them with enough standardized APIs that don’t break, to make them useful. The situation that’s right now is unacceptable.