Публикувана версия на браузърния двигател Servo 0.1.0 и разработения с него демонстрационен браузър ServoShell, написан на езика Rust. Готовите пакети са налични за Linux, Android, macOS и Windows. Освен отделните версии, Servo вече се предлага и под формата на crate пакет, който позволява използването на двигателя като библиотека.
Servo 0.1.0 е първата версия, за която е осигурен дългосрочен цикъл на поддръжка (LTS). Новите LTS клони ще се публикуват на всеки 6 месеца, базирани на следващото междинно издание. Поддръжката на LTS версиите ще продължи 9 месеца (3 месеца са предоставени за преход към новия LTS клон). LTS клоновете се отличават с публикуване на актуализации за корекции на уязвимости в библиотеката servo, JavaScript двигателя и зависимостите. Очаква се LTS клона да бъде полезен за разработчиците, които интегрират Servo в своите проекти и не желаят да преминават всеки месец към следващото междинно издание с възможни промени в API.
Версията Servo 0.1.0 LTS е изградена на базата на наскоро формулираната междинна версия 0.0.6, в която са реализирани следните нови възможности:
- В HTML елемента «button» са реализирани атрибутите «command» и «commandfor», които могат да се използват в бутоните вместо атрибутите «popovertargetaction» и «popovertarget» за декларативна настройка на взаимодействието с менюто, извиквано при натискане на бутона.
- Добавен е CSS селектор «:modal», който позволява да се определи, че диалогът, създаден чрез елемента
- Реализирано е CSS правило @property, позволяващо регистрирането на собствени CSS свойства.
- Добавени са CSS свойства «alignment-baseline» и «baseline-shift» за вертикално подравняване на текста.
- Добавена е поддръжка на заглавието «Content-Security-Policy: base-uri», което ограничава URL адресите, които могат да се използват в HTML елемента .
- Добавена е частична поддръжка на отложено зареждане на iframe блокове, при която съдържанието, намиращо се извън видимата област, не се зарежда, докато потребителят не превърти страницата до мястото, непосредствено предшествуващо елемента. Включването на отложеното зареждане на страниците се осъществява чрез атрибута «loading=lazy» в таг iframe ().
- Добавена е частична поддръжка на CSS свойството «transform-style: preserve-3d» за позициониране на дъщерни елементи в 3D пространството.
- Реализирани са събитията pointermove, pointerdown, pointerup и pointercancel.
- Осигурен е завъртането на изображения на базата на EXIF метаданни.
- Осигурено е използването на променливата на средата LANG за избор на език по подразбиране за заглавието «Accept-Language» и свойството navigator.language.
- Добавени са API функции Pointer Events и UserActivation.
- Реализирани са методите import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() и index().
- В демонстрационният браузър servoshell за промяна на настройки са реализирани страниците servo:preferences (GUI конфигуратор) и servo:config (промяна на отделни параметри в стил about:config). Добавена е поддръжка за презареждане на страницата при натискане на F5.

- В инструментите за уеб разработчици в режим на инспекция е добавена поддръжка за редактиране на DOM атрибути, в уеб конзолата е осигурен преглед на обекти, предавани чрез console.log(), а в отладчика е добавена възможност за спиране и възобновяване на изпълнението на скриптове.
- Разширено е API-то за вграждане на браузерен двигател в приложения.
Двигателят Servo първоначално е разработван от компания Mozilla, но по-късно премина под шапката на организацията Linux Foundation. Servo се отличава с поддръжка на многопоточно рендериране на уеб страници, паралелизиране на операции с DOM (Document Object Model) и използване на механизми за безопасно програмиране, предоставени от езика Rust. Servo е създаден с поддръжка на разпределение на кода на DOM и рендерирането на по-малки подзадачи, които могат да се изпълняват паралелно и по-ефективно да използват ресурсите на многоядрени CPU. В Firefox вече са интегрирани някои части от Servo, като многопоточният CSS движок и системата за рендериране WebRender.
Източник: opennet.ru

