Väljaanne avalikustatud Servo 0.2.0 — uus versioon katsetavast brauserimootorist, mis on kirjutatud Rust keeles. Vabastamine toimus 31. mai 2026. ja sisaldab aprillis tehtud muudatusi: kokku on arendajad kokku lugenud 534 koodi muudatust, mis on projekti uus igakuine rekord. Servo areneb iseseisva projektina Linux Foundation Europe’i all ja on suunatud kerge, integreeritava veebimootori loomisele rakenduste, mobiilsete platvormide ja katsetavate brauseri liideste jaoks.
Olulised muudatused
Androidi jaoks on täiustatud servoshelli liidest.
Androidi versioonis Servo demonstreerimise liideses on uuenenud brauseri liides ja lisatud uus ajalooskeem. APK suurus on umbes 30% vähenenud ning parandatud on musta ekraani tõrget, mis ilmnes seadete sulgemisel või teise rakenduse tagasi naamisel. OpenHarmony jaoks on nüüd võimalik vahekaartide sulgemine.Parandatud on hiina, jaapani ja korea keele toe kvaliteeti.
Paigutusmootoris on parandatud reavahetuse töötlemist CJK-keeltele ning servoshelli liideses Windowsis, Linuxis ja FreeBSDs on lisatud CJK-kirjatüübid. See on oluline, et tõhusalt kuvada veebisaite keeles, kus reavahetuse ja kirjatüüpide valiku reeglid erinevad ladina tähestikust.Lisatud interaktiivne JSON-i vaatamine.
Kui avada JSON-fail põhidokumendina, näitab Servo seda nüüd interaktiivse vormindatud printerina. See teeb mootori mugavamaks, mitte ainult lehtede tavaliseks vaatamiseks, vaid ka arendajatele, kes peavad API vastuseid ja struktureeritud andmeid otse brauseris avama.Veebiplatvormi toe laiendamine.
Servos on saadaval , ,Uued DOM API-d on lisatud.
Rakendatud on selectionchange sündmused jaKlaviatuuriga navigeerimine ja fookuse haldamine on paranenud.
Vahe nüüd oskab liikuda piiridest välja ning Ctrl+Backspace või Option+Backspace macOS-is kustutab terve sõna sisendiväljades. Samuti on parandatud fookuse ja IME vigu töölaua versioonis servoshell.Arendaja tööriistu on laiendatud.
Koos Firefox DevToolsiga on parandatud Inspector, Console ja Debugger vahekaarte. Rules paneel näitab nüüd @layer-deklaratsioone, Console'is ja Debugger'is on rohkem teavet funktsioonide, massiivide, objektide ja muude väärtuste kohta, on võimalik jälgida lokaalseid ja globaalseid muutujaid läbi Scopes'i, töötajaskripte on lihtsam debyteerida ning on algtugi Style Editorile.Turvalisus on paranenud.
CryptoKey kustutab nüüd võtme materjalide puhverdused pärast kasutamist. On parandatud juurdepääsu probleeme DOM API-le erinevate origin'itega dokumentide vahel, localStorage ja sessionStorage isoleerimisvead sandboxed iframe's ja iframe srcdoc'is, IndexedDB vale kergesti kätte saamine sandboxed iframe's ja töödeldata URL'ist, samuti kookide ülevõtmise võimalused erinevate IP-origin'ite vahel, mälu lugemise vead texImage3D() jaoks WebGL2-s ja määramatud käitumised servoshell'i signaalide käitleja kaudu.Tööd IndexedDB ja salvestamise kallal on edasi liikunud.
IndexedDB on eksperimentaalses režiimis servoshell ja on viidud uude süsteemi «client storage», mis peaks andma Servole ühtse kettahoidla formaadi ja üldise halduse veebifunktsioonide jaoks, mis salvestavad andmeid. Samuti on parandatud päringud võtmevahemike, tehingute, võtmete, väärtuste ja erandite töötlemiseks.Servo sisestamise API on uuendatud.
Kuna see on Servo teise kuu väljaanne, on arendajad täpsustanud ühilduvuspoliitikat: versioon 0.2.0 on suhteliselt 0.1.x-le murdevuuendus. Lisatud on URL-i laadimine kohandatud HTTP-pealkirjadega läbi WebView::load_request, asünkroonne küpsiste hankimine, ainult sessiooniküpsiste puhastamine ilma püsivate küpsiste eemaldamiseta, sihtkoha ja referrer_url edastamine päringute katkestamisel, samuti ajutiste andmete isoleerimise režiim sessiooniandmete jaoks.Lehtede kuvamise ja käitumise vead on parandatud.
Arendajad mainivad parandusi console.log, CSS-animatsioonide, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absoluutse positsioneerimise grid'i sees, word-spacing, removeChild() Document'il ja URL.revokeObjectURL(). Samuti on parendatud välimust jaTõhusus on suurenenud ja mälu tarbimist vähendatud.
Suurimad efektiivsuse probleemid on lahendatud: ECMAScripti spetsiifikatsiooni laadimine on kiirem, tänu id ja name atribuutide töötluse ümbertegemisele, esimene TLS-seanss on kiirem 30–60 ms, IPC liiklus kahe lõime vahel on vähenenud, DOM-sõlmede Attr, Text ja CharacterData mälu tarbimist on vähendatud 16 baiti sõlme kohta, mälu lekke probleemid, mis tekkisid
Seega on Servo 0.2 uuenduslik samm projekti muutmiseks sisseehitatud veebimootoriks: parandatakse mobiilset liidest, suureneb kokkusobivus kaasaegsete veebistandarditega, lahendatakse turvavigu ja API stabiliseerub järk-järgult rakenduse arendajatele.
Allikas: linux.org.ru




