Публикувано издание на браузърния двигател 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" в тагa 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

