The GNOME desktop environment has long been a choice for Linux users. It is known for its elegant design, user-friendly interface, and vibrant ecosystem of extensions that allow users to customize their desktop experience. However, as technology evolves, so must the software that relies on it.
In a significant shift, the upcoming release of GNOME 45, slated for release on September 20, is set to bring a substantial change that will affect the compatibility of extensions with earlier versions of GNOME.
The driving force behind this shift is the adoption of standard JavaScript modules, also known as ECMAScript Modules (ESM), as the primary mechanism for managing and organizing code.
While this change promises several benefits, it raises concerns about the compatibility of extensions created for older GNOME versions.
In other words, all GNOME extensions created for versions before 45 will not work with the new one. Likewise, extensions for GNOME 45 will be incompatible with older versions.
What is the solution? If developers of GNOME extensions want to cover the entire range of GNOME releases, they must publish separate builds, specifically targeting GNOME 45 and one for previous releases.
This will undoubtedly lead to complications for both sides, for developers who will have to do double development and will more likely focus only on compatibility with the latest version and for the countless GNOME users who rely on extensions to tailor the functionality of the desktop environment to their personal needs.
But these are the facts – GNOME’s moves from the custom import system from GJS to the industry standard ECMAScript 6 will cause every extension written for the previous version to break. So, the only thing to do is to wait and see which direction the GNOME extension developers will take.
You can visit the announcement on the GNOME’s blog for more information.