Megjelent a Servo 0.1.0 böngészőmotor-verzió és a hozzá fejlesztett ServoShell bemutató böngésző, melyek Rust nyelven íródtak. A kész összeállítások Linuxra, Androidra, macOS-ra és Windowsra készültek. A Servo mostantól crate-csomag formájában is elérhető, amely lehetővé teszi, hogy a motort könyvtárként használjuk.
A Servo 0.1.0 az első kiadás, amely hosszú távú támogatási ciklust (LTS) kapott. Az új LTS ágakat 6 hónaponként fogják kiadni a következő előzetes verzió alapján. Az LTS kiadások támogatása 9 hónapig tart (3 hónap a váltásra az új LTS ágra). Az LTS ág a megszokott verzióktól abban tér el, hogy a servo könyvtárban, a JavaScript motorban és a függőségekben talált sebezhetőségek javításait tartalmazó frissítéseket publikál. Az LTS ág hasznos lesz a fejlesztők számára, akik a Servot integrálják projektjeikbe, és nem akarnak havi rendszerességgel váltani egy újabb előzetes kiadásra, amely potenciális API-változásokat hozhat.
A Servo 0.1.0 LTS verzió egy pár nappal ezelőtt kiadott 0.0.6 előzetes változatra épül, amely az alábbi új funkciókat valósította meg:
- A HTML «button» elemben megvalósult a «command» és «commandfor» attribútum, amelyeket a gombokban használhatunk a «popovertargetaction» és «popovertarget» attribútumok helyett a gombnyomáskor megjelenő menü interakciójának deklaratív beállításához.
- Új CSS-szelektor, a «:modal» került bevezetésre, amely lehetővé teszi, hogy meghatározzuk, hogy a <dialog> elemmel létrehozott párbeszédmodul az egy modális.
- Megvalósult a @property CSS-szabály, amely lehetővé teszi saját CSS-tulajdonságok regisztrálását.
- Új CSS-tulajdonságok, mint az «alignment-baseline» és a «baseline-shift» kerültek megjelenítésre a szöveg függőleges igazításához.
- Bevezetésre került a «Content-Security-Policy: base-uri» fejléc támogatása, amely korlátozza azokat az URL-eket, amelyeket a HTML <base> elemben lehet használni.
- Részleges támogatást kaptak az iframe blokkok késleltetett betöltéséhez, amely lehetővé teszi, hogy a látható területen kívüli tartalom ne töltődjön be, amíg a felhasználó nem görget a dokumentumban az elem közvetlen előtti helyre. A késleltetett betöltés engedélyezése az iframe tagben a «loading=lazy» attribútummal történik (<iframe loading=lazy>).
- Részleges támogatás került bevezetésre a CSS «transform-style: preserve-3d» tulajdonsághoz, amely lehetővé teszi a gyermek elemek 3D térben való pozicionálását.
- Megvalósultak a pointermove, pointerdown, pointerup és pointercancel események.
- A képek elforgatását az EXIF metaadatok alapján biztosították.
- Megvalósították a LANG környezeti változó használatát az alapértelmezett nyelv kiválasztásához az «Accept-Language» fejléc és a navigator.language tulajdonság esetében.
- Hozzáadták a Pointer Events és a UserActivation API-kat.
- Megvalósították az import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() és index() metódusokat.
- A servoshell demó böngészőben a beállítások módosításához megvalósították a servo:preferences (GUI konfigurátor) és a servo:config (egyedi paraméterek módosítása az about:config stílusában) oldalakat. Hozzáadták a frissítés támogatását az F5 megnyomásakor.

- A webfejlesztői eszközökben az inspekciós módban hozzáadták a DOM attribútumok szerkesztésének támogatását, a webkonzolában előnézeti lehetőséget biztosítanak a console.log() által továbbított objektumokhoz, a hibakeresőben pedig lehetőség nyílik a script végrehajtásának felfüggesztésére és folytatására.
- Az API kibővült a böngészőmotor alkalmazásokba való beágyazásához.
A Servo motort eredetileg a Mozilla fejlesztette, de később a Linux Foundation támogatásába került. A Servo a weboldalak több szálú renderelésének támogatásával, a DOM (Document Object Model) műveletek párhuzamosításával és a Rust nyelv által biztosított biztonságos programozási mechanizmusok kihasználásával jött létre. A Servo elsődlegesen a DOM kódok felosztására és a renderelés kisebb feladatokra bontására lett tervezve, amelyek párhuzamosan futtathatók, így hatékonyabban használják a többmagos CPU-k erőforrásait. A Firefoxban már integrálva vannak a Servo egyes részei, mint például a több szálú CSS-motor és a WebRender rajzolási rendszer.
Forrás: opennet.ru

