Pubblicata la versione 0.0.5 del motore browser Servo e del browser demo ServoShell, sviluppato insieme, scritto in linguaggio Rust. Le build pronte sono state create per Linux, Android, macOS e Windows.
Il motore è stato originariamente sviluppato da Mozilla, ma successivamente è passato sotto il patrocinio della Linux Foundation. Servo si distingue per il supporto del rendering web multithreading, la parallelizzazione delle operazioni con il DOM (Document Object Model) e l'uso dei meccanismi di programmazione sicura forniti dal linguaggio Rust. Servo è stato creato fin dall'inizio con il supporto per la suddivisione del codice DOM e il rendering in sotto-attività più piccole, che possono essere eseguite in parallelo per sfruttare più efficacemente le risorse delle CPU multicore. Parte del codice di Servo, come il motore CSS multithreading e il sistema di rendering WebRender, è già integrato in Firefox.

Variazioni principali:
- Aggiunto il supporto per la riproduzione di file in formato OGG nell'elemento HTML
- Aggiunto il supporto per il caricamento anticipato delle risorse, utilizzando il tag , che consente di organizzare il caricamento delle risorse senza attendere la loro richiesta; ad esempio, è possibile caricare immediatamente determinati file CSS, script, video e immagini.
- Negli elementi HTML «style» e «link» è stato implementato il supporto per la proprietà «blocking» per sospendere il rendering della pagina fino al completamento del caricamento della risorsa.
- Nell'elemento HTML «img» è stata aggiunta la supporto per la proprietà «align» per gestire l'allineamento dell'immagine.
- Nell'elemento HTML «select» è stata aggiunta la supporto per la proprietà «disabled» per disattivare il menu a discesa.
- Aggiunto il supporto per la proprietà «cursor-color» per cambiare il colore del cursore nei campi di input.
- Aggiunto il supporto per l'applicazione della proprietà CSS «content» per sostituire qualsiasi elemento HTML con un'immagine.
- Aggiunto il supporto per il pseudo-elemento «::details-content» per modificare lo stile del contenuto definito dall'elemento HTML .
- Nell'elemento HTML è stato aggiunto il supporto per il pseudo-classe «:open», attivato quando il dialogo viene aperto.
- Per l'elemento HTML è stato implementato il supporto per il pseudo-classe «:active», che funziona nel intervallo di tempo dal momento in cui viene premuto fino al rilascio del pulsante.
- Aggiunto l'API Origin per ottenere informazioni sulla sorgente di acquisizione del contenuto a livello del collegamento «protocollo + dominio + porta.
- Implementata la proprietà MouseEvent.detail per ottenere informazioni sulla natura del clic (singolo, doppio).
- Aggiunta la proprietà 'keepalive' all'oggetto Request per determinare se la connessione è in stato di keepalive.
- Aggiunta la supporto per il caricamento tramite espressioni import di moduli in formato JSON.
- Aggiunta la possibilità di specificare attributi per indicare il tipo di contenuto durante l'importazione tramite l'espressione import.
- Aggiunta la supporto per l'importazione ciclica di moduli JavaScript.
- Abilitato di default il supporto per l'interfaccia navigator.sendBeacon, per il trasferimento asincrono di piccoli dati dal browser a server.
- Aggiunta la configurazione https_proxy, così come le variabili d'ambiente HTTPS_PROXY e NO_PROXY per gestire il lavoro tramite proxy HTTPS.
- Nell'API Crypto è stato aggiunto il supporto per gli algoritmi ML-KEM, ML-DSA e AES-OCB.
- Aggiunta la supporto per la cross-compilazione, utilizzando la piattaforma Windows come host.
- Aggiunta la configurazione network_connection_timeout per impostare il timeout per la stabilizzazione della connessione di rete (di default 15 secondi).
Fonte: opennet.ru
