Byl vydán release browserového enginu Servo 0.1.0 a s ním vyvíjeného demonstračního prohlížeče ServoShell, napsaného v jazyce Rust. Hotové sestavy byly vytvořeny pro Linux, Android, macOS a Windows. Kromě jednotlivých sestav je Servo nyní dostupné i ve formě crate balíčku, který umožňuje používat engine ve formě knihovny.
Servo 0.1.0 se stal prvním vydáním, pro které je zajištěn dlouhodobý cyklus podpory (LTS). Nové LTS větve budou zveřejňovány každých 6 měsíců na základě dalšího meziversionního vydání. Podpora LTS vydání bude trvat 9 měsíců (3 měsíce jsou určeny pro přechod na novou LTS větev). Oproti běžným vydáním se LTS větev odlišuje zveřejňováním aktualizací s opravami zranitelností v knihovně servo, JavaScriptovém enginu a závislostech. Předpokládá se, že LTS větev bude užitečná pro vývojáře, kteří integrují Servo do svých projektů a nechtějí měsíčně přecházet na nové meziversionní vydání s možnými změnami v API.
Vydání Servo 0.1.0 LTS bylo postaveno na základě nedávno sestavené meziversionní verze 0.0.6, ve které byly implementovány následující nové funkce:
- V HTML elementu „button“ byly zavedeny atributy „command“ a „commandfor“, které lze použít v tlačítkách místo atributů „popovertargetaction“ a „popovertarget“ pro deklarativní nastavení interakce s nabídkou vyvolanou při stisknutí tlačítka.
- Byl přidán CSS selektor „:modal“, který umožňuje určit, že dialog vytvořený pomocí elementu
- Bylo implementováno CSS pravidlo @property, které umožňuje registrovat vlastní CSS vlastnosti.
- Přidány CSS vlastnosti „alignment-baseline“ a „baseline-shift“ pro vertikální zarovnání textu.
- Přidána podpora hlavičky „Content-Security-Policy: base-uri“, která omezuje URL, které mohou být použity v HTML elementu .
- Byla přidána částečná podpora pro odložené načítání iframe bloků, při které obsah nacházející se mimo viditelnou oblast není načítán, dokud uživatel neposune stránku na místo přímo před element. Aktivace odloženého načítání stránek se provádí prostřednictvím atributu „loading=lazy“ v tagu iframe ().
- Byla přidána částečná podpora CSS vlastnosti „transform-style: preserve-3d“ pro umístění potomků v 3D prostoru.
- Byly implementovány události pointermove, pointerdown, pointerup a pointercancel.
- Byla zajištěna rotace obrázků na základě metadat EXIF.
- Bylo zajištěno použití proměnné prostředí LANG pro výběr jazyka podle výchozího nastavení pro hlavičku "Accept-Language" a vlastnost navigator.language.
- Byly přidány API Pointer Events a UserActivation.
- Byly implementovány metody import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() a index().
- V demonstračním prohlížeči servoshell byly realizovány stránky servo:preferences (GUI konfigurační nástroj) a servo:config (změna jednotlivých parametrů ve stylu about:config). Byla přidána podpora pro obnovení stránky po stisknutí F5.

- Ve vývojářských nástrojích v režimu inspekce byla přidána podpora pro úpravu atributů DOM, v webové konzoli byl zajištěn náhled objektů přenášených přes console.log(), v ladicím programu byla přidána možnost pozastavení a obnovení provádění skriptů.
- API pro integraci prohlížečového enginu do aplikací bylo rozšířeno.
Engin Servo byl původně vyvinut společností Mozilla, ale poté přešel pod ochranu organizace Linux Foundation. Servo se vyznačuje podporou vícerozměrného vykreslování webových stránek, paralelizací operací s DOM (Document Object Model) a využíváním mechanismů bezpečného programování poskytovaných jazykem Rust. Servo bylo původně vytvořeno s podporou rozdělení kódu DOM a vykreslování na menší podúkoly, které mohou být vykonávány paralelně a efektivněji využívat zdroje vícejádrových CPU. Některé části Servo, jako je vícerozměrný CSS engine a systém vykreslování WebRender, jsou již integrovány do Firefoxu.
Zdroj: opennet.ru

