Публикуван е релиз на браузърния двигател Servo 0.0.5 и развиваното заедно с него демонстрационно приложение ServoShell, написано на езика Rust. Готовите пакети са сформирани за Linux, Android, macOS и Windows.
Двигателят първоначално е бил разработван от компанията Mozilla, но впоследствие е преминал под покровителството на Linux Foundation. Servo се отличава с поддръжка на многопоточен рендеринг на уеб страници, паралелизиране на операции с DOM (Document Object Model) и използване на механизмите за безопасно програмиране, предоставени от Rust. Servo е създаден с поддръжка на разделяне на кода на DOM и рендеринг на по-малки подзадачи, които могат да се изпълняват паралелно и по-ефективно да използват ресурсите на многоядрени CPU. Части от Servo, като многопоточния CSS двигател и системата за рендеринг WebRender, вече са интегрирани в Firefox.

Основни промени:
- В HTML-елемента
- Добавена е поддръжка за предварително зареждане на ресурси, използвайки таг , с помощта на който могат да се организират зареждания на ресурси, без да чакаме да бъдат поискани; например, определени CSS файлове, скриптове, видеа и изображения могат да се заредят веднага.
- В HTML-елементите «style» и «link» е реализирана поддръжка на свойството «blocking» за спиране на рендерирането на страницата до завършване на зареждането на ресурса.
- В HTML-елемента «img» е добавена поддръжка на свойството «align» за управление на подравняването на изображението.
- В HTML-елемента «select» е добавена поддръжка на свойството «disabled» за деактивиране на падащото меню.
- Добавена е поддръжка на свойството «cursor-color» за промяна на цвета на курсора в полетата за въвеждане.
- Добавена е поддръжка за прилагане на CSS свойството «content» за замяна на всеки HTML елемент с изображение.
- Добавена е поддръжка на псевдоелемента «::details-content» за промяна на стила на съдържанието, определено чрез HTML-елемента .
- В HTML-елемента е добавена поддръжка на псевдокласа «:open», който се активира при отваряне на диалога.
- За HTML-елемента е реализирана поддръжка на псевдокласа «:active», който действа в периода от натискане до отпускане на бутона.
- Добавен е API Origin за получаване на информация за източника на съдържание на ниво комбинация «протокол + домен + порт.
- Реализирано е свойството MouseEvent.detail за получаване на информация за характера на клика (единичен, двойной).
- В обекта Request е добавено свойство «keepalive» за определяне дали съединението е в състояние keepalive.
- Добавена е поддръжка за зареждане чрез изрази import на модули в JSON формат.
- Добавена е възможност за указване на атрибути за посочване на типа съдържание при импорт чрез израза import.
- Добавена е поддръжка за цикличен импорт на JavaScript модули.
- По подразбиране е включена поддръжка на интерфейса navigator.sendBeacon за асинхронна предаване на малки количества данни от браузъра на сървър.
- Добавена е настройка https_proxy, както и променливи на средата HTTPS_PROXY и NO_PROXY за организация на работа чрез HTTPS прокси.
- В API Crypto е добавена поддръжка за алгоритмите ML-KEM, ML-DSA и AES-OCB.
- Добавена е поддръжка за кроскомпилация с платформата Windows като хост.
- Добавена е настройка за network_connection_timeout за задаване на таймаут при установяване на мрежова връзка (по подразбиране 15 секунди).
Източник: opennet.ru
