Byly vydány prohlížečový engine Servo 0.1.0 a doprovodný demo prohlížeč ServoShell, oba napsané v Rustu. Byly vytvořeny verze připravené k použití pro... Linux, Android, macOS и WindowsKromě jednotlivých sestavení je Servo nyní k dispozici také jako crate package, což umožňuje použití enginu jako knihovny.
Servo 0.1.0 je první verzí, která obdržela cyklus dlouhodobé podpory (LTS). Nové větve LTS budou publikovány každých šest měsíců, na základě další menší verze. Podpora pro verze LTS bude trvat devět měsíců, přičemž tři měsíce budou vyhrazeny pro upgrade na novou větev LTS. Větev LTS se od běžných verzí liší tím, že publikuje aktualizace s opravami zranitelností pro knihovnu Servo, JavaScriptový engine a závislosti. Větev LTS by měla být užitečná pro vývojáře, kteří integrují Servo do svých projektů a nechtějí každý měsíc upgradovat na další menší verzi s jejími potenciálními změnami API.
Verze Servo 0.1.0 LTS navazuje na prozatímní verzi 0.0.6 vydanou před několika dny, která přinesla následující nové funkce:
- HTML element „button“ implementuje atributy „command“ a „commandfor“, které lze použít v tlačítkách namísto atributů „popovertargetaction“ a „popovertarget“ k deklarativnímu přizpůsobení interakce s nabídkou, která se vyvolá po kliknutí na tlačítko.
- Přidán CSS selektor ":modal", který umožňuje definovat dialog vytvořený pomocí elementu , je modální.
- Bylo implementováno pravidlo CSS @property, které umožňuje registrovat vlastní vlastnosti CSS.
- Přidány vlastnosti CSS „alignment-baseline“ a „baseline-shift“ pro vertikální zarovnání textu.
- Přidána podpora pro záhlaví „Content-Security-Policy: base-uri“, které omezuje adresy URL, jež lze použít v elementu HTML. .
- Přidali jsme částečnou podporu pro líné načítání prvků iframe, což znamená, že obsah mimo viditelnou oblast se nenačte, dokud uživatel nepřejde na místo bezprostředně předcházející danému prvku. Líné načítání je povoleno pomocí atributu „loading=lazy“ v tagu iframe ( ).
- Přidána částečná podpora pro vlastnost CSS „transform-style: preserve-3d“ pro umisťování podřízených prvků v 3D prostoru.
- Byly implementovány události pointermove, pointerdown, pointerup a pointercancel.
- Umožňuje rotaci obrazu na základě metadat EXIF.
- Povoleno použití proměnné prostředí LANG k výběru výchozího jazyka pro záhlaví „Accept-Language“ a vlastnost navigator.language.
- Přidány události ukazatelů API a aktivace uživatele.
- Jsou implementovány metody import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() a index().
- Demo prohlížeč servoshellu nyní obsahuje stránky servo:preferences (konfigurátor GUI) a servo:config (nastavení jednotlivých parametrů ve stylu about:config) pro změnu nastavení. Byla přidána podpora pro opětovné načtení stránky stisknutím klávesy F5.

- V nástrojích pro webové vývojáře byla přidána podpora pro úpravu atributů DOM v režimu inspekce, webová konzole nyní poskytuje náhled objektů předávaných prostřednictvím console.log() a debugger nyní umožňuje pozastavit a obnovit provádění skriptů.
- Rozšířeno bylo API pro vkládání prohlížečového enginu do aplikací.
Servo engine byl původně vyvinut společností Mozilla, ale později jej tato organizace převzala. Linux Foundation. Servo nabízí podporu pro vícevláknové vykreslování webových stránek, paralelizaci operací DOM (Document Object Model) a použití bezpečných programovacích mechanismů poskytovaných jazykem Rust. Servo bylo od základu vytvořeno tak, aby podporovalo rozdělení kódu DOM a vykreslování na menší dílčí úkoly, které lze provádět paralelně a efektivněji využívat vícejádrové zdroje CPU. Firefox již integruje některé části Serva, jako je vícevláknový CSS engine a vykreslovací systém WebRender.
Zdroj: opennet.ru

