Néhány napja bejelentették változásról szóló információk ami nem biztos, hogy minden Gnome felhasználónak tetszik, és ez a GNOME 45 új verziójában Néhány változtatás történt, amelyek hatással vannak a környezeti beépülő modulokra.
Konkrétan azt említik Módosította a modulok betöltésének szervezetét a GNOME Shell bővítményeiben, ami a visszafelé kompatibilitás megsértését okozza, és változtatásokat igényel a bővítményeken.
Megemlítik, hogy:
A JavaScript a webböngészőkből származik, hogy egy kis interaktivitást adjon az egyébként statikus oldalaknak. A kis kódrészleteket nem kellett több fájlra felosztani, így a nyelv nem adott erre mechanizmust.
Ez akkor vált problémává, amikor az emberek nagyobb programokat kezdtek írni JavaScriptben, így az olyan környezetek, mint a node.js és a GJS, hozzáadták saját importáló rendszereiket, hogy több fájlba rendezzék a kódot. Ennek eredményeként a fejlesztők és az eszközök nehezen tudtak áttérni egyik környezetből a másikba.
Mint olyan, a pluginek problémája a GNOME korábbi verzióihoz fejlesztették ki és azt Nem fognak tudni futni a GNOME 45 következő verziójában, Ennek oka egy kompatibilitási törés, amely a GJS JavaScript futtatókörnyezetére jellemző saját modulimportáló rendszerről (a Mozilla projekt SpiderMonkey motorján alapuló GNOME JavaScript) a szabványos JavaScript modul (ESM) importálási mechanizmusra vált.
A régebbi importálást továbbra is támogatja az extensions.gnome.org, de be kell töltenie a GNOME 45 előtti és utáni támogatást az LTS és a normál disztribúciók támogatásához.
Ezen kívül megemlítik, hogy A különbségek a tényből fakadnak hogy korábban a GNOME Shell mellett az "import" objektumot használták» JavaScript modulok és GObject hivatkozások összekapcsolásához, de most az "import" operátort kell használni.
Másrészt azt is megemlítik, hogy a GNOME 45-ön való futtatásra adaptált beépülő modulokat nem lehet majd telepíteni a GNOME régebbi verzióira, és hogy a GNOME különböző verzióival való kompatibilitás fenntartása érdekében a bővítmények fejlesztőinek két bővítményváltozatot kell feltölteniük a bővítményekbe. gnome .org – egy a GNOME 45 és újabb verziókhoz, egy pedig a GNOME régebbi verzióihoz.
Nos, van egy kis bökkenő: a modulok és az örökölt importok a gyakorlatban nem kompatibilisek.
A modulok másképpen töltődnek be, mint a szkriptek, és egyes utasítások, nevezetesen az import és export, csak a modulokban érvényesek. Ez azt jelenti, hogy a régi rendszerrel egy modul importálása szintaktikai hibát eredményez, ha a modul az egyik ilyen deklarációt használja (kb. olyan valószínű, hogy a pápa katolikus).
A modulok azt is elrejtik kívülről, ami nincs kifejezetten exportálva. Tehát bár technikailag lehetséges egy szkriptet modulként importálni, ez nagyjából olyan hasznos, mint egy üres fájl importálása.
Végül A fejlesztők megemlítik, hogy a GNOME 45-ön dolgoznak és újabb verziók, a bővítményeknek módosítaniuk kell a könyvtárak betöltéséhez társított kódot, győződjön meg arról, hogy az extension.js fájl az alapértelmezett osztályban tartalmazza az enable()/disable() metódusokat, és a prefs.js használatakor adja meg az ExtensionPreferences beállítást. alosztály egy fillPreferencesWindow metódussal.
A beépülő modul módosított verzióját a metadata.json fájl '»shell-version»: [ «45» ]' paraméterén keresztül az új GNOME Shell-verziókhoz kell kapcsolni. A 45-ös verziónál régebbi GNOME esetében létrehozhat különálló beépülő modulokat, biztosítva azt is, hogy a metadata.json shell-version paraméterén keresztül hivatkozzanak a régebbi verziókra. A módosított kiegészítéseket GNOME OS buildekkel tesztelheti.
Hasonlóképpen egy hordozhatósági útmutatót is megosztanak, amely a következő oldalon tekinthető meg alábbi linkre. Végül, de nem utolsósorban érdemes megemlíteni, hogy az új verzió elindítása A Gnome 45 a tervek szerint szeptember 20-án jelenik meg (holnapra).
Ha szeretne többet megtudni róla, a részleteket a következő link.