È stato pubblicato il rilascio del motore browser Servo 0.0.2, insieme al browser dimostrativo ServoShell, scritto in Rust. Funzionalmente, il rilascio è simile alla versione nightly del 14 novembre, per la quale è stato effettuato un ulteriore test manuale. Le versioni pronte sono disponibili per Linux, Android, macOS e Windows.
Il motore è stato originariamente sviluppato da Mozilla, ma successivamente è stato adottato dalla Linux Foundation. Servo si distingue per il supporto del rendering web multithreading, la parallelizzazione delle operazioni sul DOM (Document Object Model) e l'utilizzo dei meccanismi di programmazione sicura forniti da Rust. Servo è stato creato con il supporto per la suddivisione del codice DOM e il rendering in compiti più piccoli, che possono essere eseguiti in parallelo e sfruttare più efficacemente le risorse delle CPU multi-core. Alcuni componenti di Servo, come il motore CSS multithreading e il sistema di rendering WebRender, sono già integrati in Firefox.

Principali modifiche:
- Il supporto per XPath (XML Path Language), AbortController e AbortSignal è attivato per impostazione predefinita.
- Sono stati aggiunti gli API CompressionStream e DecompressionStream per comprimere e decomprimere flussi di dati.
- È stato aggiunto il supporto per l'elemento all'interno dei blocchi
- Sono stati implementati i metodi fetchLater() e Document.parseHTMLUnsafe().
- Nell'evento UIEvent sono state implementate le proprietà "which" e "relatedTarget".
- Nell'API HTMLMapElement sono state implementate le proprietà "name" e "bareas".
- Nel motore di rendering è stata implementata la sintesi del grassetto sintetico, in cui i caratteri vengono ingrossati programmaticamente senza utilizzare un diverso tipo di carattere.
- È stato aggiunto il supporto per vsync per sincronizzare l'inizio del rendering con il impulso di spegnimento dei fotogrammi.
- È iniziata la creazione di versioni nativi arm64 del browser ServoShell per macOS.
- Nel prototipo del browser ServoShell per Android è stata introdotta una modalità sperimentale, in cui vengono attivate funzionalità sperimentali disattivate di default, ancora in fase di sviluppo e non completamente stabilizzate. È garantita la consegna degli eventi touch allo schermo e la visualizzazione della tastiera su schermo quando si attivano i moduli di input tramite eventi touch. È stata aggiunta la funzionalità di zoom con pinch. È consentito lo scorrimento della tastiera su schermo durante lo zoom.
Fonte: opennet.ru
