Udgivelsen af browsermotoren Servo 0.1.0 og den tilhørende demonstrationsbrowser ServoShell, der er skrevet i Rust, er offentliggjort. Færdige builds er tilgængelige for Linux, Android, macOS og Windows. Udover de individuelle builds leveres Servo nu også som et crate-pakke, der muliggør brug af motoren som et bibliotek.
Servo 0.1.0 er den første version, der sikrer en langvarig supportcyklus (LTS). Nye LTS-grene vil blive offentliggjort hver 6. måned baseret på den næste mellemlangs release. Support til LTS-udgivelser vil vare 9 måneder (3 måneder gives til overgangen til den nye LTS-gren). LTS-grenen adskiller sig fra normale udgivelser ved at offentliggøre opdateringer med sikkerhedsrettelser til servo-biblioteket, JavaScript-motoren og afhængigheder. Det forventes, at LTS-grenen vil være nyttig for udviklere, der integrerer Servo i deres projekter og ikke ønsker at opdatere månedligt til den seneste mellemlangs release med mulige API-ændringer.
Udgivelsen af Servo 0.1.0 LTS er bygget på den for nylig udgivne mellemlangs version 0.0.6, hvor følgende nye funktioner er implementeret:
- HTML-elementet "button" har fået implementeret attributterne "command" og "commandfor", som kan bruges i knapper i stedet for attributterne "popovertargetaction" og "popovertarget" til deklarativ indstilling af interaktionen med menuen, der aktiveres ved knaptryk.
- CSS-selektoren ":modal" er tilføjet, hvilket gør det muligt at definere, at en dialog oprettet gennem <dialog>-elementet er modal.
- CSS-reglen @property er implementeret, hvilket muliggør registrering af brugerdefinerede CSS-egenskaber.
- CSS-egenskaberne "alignment-baseline" og "baseline-shift" er tilføjet til lodret justering af tekst.
- Støtte til overskriften "Content-Security-Policy: base-uri" er tilføjet, hvilket begrænser URL'er, der kan bruges i HTML-elementet <base>.
- Partial support for lazy loading of iframe blocks has been added, where content outside the visible area is not loaded until the user scrolls to the section immediately preceding the element. Lazy loading of pages is enabled through the "loading=lazy" attribute in the iframe tag (<iframe loading=lazy>).
- Partial support for the CSS property "transform-style: preserve-3d" has been added for positioning child elements in 3D space.
- Pointermove, pointerdown, pointerup og pointercancel begivenheder er implementeret.
- Rotation af billeder baseret på EXIF metadata er muliggør.
- Brug af miljøvariablen LANG til at vælge standard sprog for accept-headeren 'Accept-Language' og navigator.language egenskaben er sikret.
- Pointer Events og UserActivation API'er er tilføjet.
- Metoderne import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() og index() er implementeret.
- I demonstrationsbrowseren servoshell er siderne servo:preferences (GUI-konfigurator) og servo:config (ændring af individuelle indstillinger i stil med about:config) implementeret til at ændre indstillinger. Støtte til sideopdatering ved at trykke på F5 er tilføjet.

- I udviklerværktøjerne til webinspektion er redigering af DOM-attributter blevet tilføjet, i webkonsollen er der mulighed for at forudse objekter, der sendes via console.log(), og debuggerværktøjet nu giver mulighed for at pause og genoptage scriptudførelsen.
- API'et til indlejring af browsermotoren i applikationer er udvidet.
Servo-motoren blev oprindeligt udviklet af Mozilla, men er senere blevet overdraget til Linux Foundation. Servo skiller sig ud ved sin støtte til multithreadet rendering af websider, parallelisering af DOM-operationer og anvendelsen af de sikre programmeringsmekanismer, der tilbydes af Rust. Servo er oprindeligt skabt med støtte til opdeling af DOM-koden og rendering i mindre opgaver, der kan udføres parallelt og mere effektivt udnytte ressourcerne fra multi-core CPU'er. Nogle dele af Servo, såsom den multithreadede CSS-motor og rendering-systemet WebRender, er allerede integreret i Firefox.
Kilde: opennet.ru

