
Опубликован релиз Servo 0.2.0 — новой итерации экспериментального браузерного движка, написанного на языке Rust. Выпуск, состоявшийся 31 мая 2026 года, вобрал в себя изменения за апрель, составившие рекордные для проекта 534 коммита. Напомним, что Servo развивается как независимый проект под эгидой Linux Foundation Europe и ставит своей целью создание легковесного встраиваемого веб-движка для мобильных платформ, различных приложений и кастомных браузерных оболочек.
Ключевые нововведения и улучшения
- Обновление servoshell для Android: В мобильной демонстрационной оболочке полностью переработан интерфейс и добавлен экран истории. Размер установочного APK-файла сократился примерно на 30%, а также была устранена критическая ошибка, вызывавшая отображение черного экрана при закрытии настроек или переключении между приложениями. Добавлена возможность закрытия вкладок в версии для OpenHarmony.
- Поддержка языков CJK: В движке раскладки скорректирована обработка переноса строк для китайского, японского и корейского языков. В интерфейс servoshell на платформах Windows, Linux и FreeBSD интегрированы CJK-шрифты, что критически важно для корректного рендеринга сайтов на данных языках.
- Интерактивный просмотр JSON: Servo получил встроенный инструмент для отображения JSON-файлов в виде интерактивного дерева с использованием pretty-printer. Это значительно упрощает работу разработчиков с API-ответами и структурированными данными.
- Расширение поддержки Web Platform: Внедрена поддержка функций
color-mix()с произвольным количеством цветов,tab-size,text-align: match-parent, а также свойствminimum-scaleиmaximum-scaleв теге<meta>. Реализованы воспроизведение видео, создание Worker из blob URL и WebGL-контекст дляOffscreenCanvas. - Новые DOM API: Добавлены события
selectionchange, экспериментальныйStorageManager,activeElementдляDocumentиShadowRoot,crypto.subtle.supports(), а также свойстваcellPadding,cellSpacingиalignдляHTMLTableElement. Разработчики отмечают, что Servo стал первым браузерным движком с поддержкойcrypto.subtle.supports(). - Навигация и работа с текстом: Улучшено управление фокусом через клавишу Tab и исправлена работа IME. Реализовано удаление слов целиком при помощи комбинаций Ctrl+Backspace или Option+Backspace (для macOS).
- Инструменты разработчика: Совместно с Firefox DevTools улучшены панели Inspector, Console и Debugger. Добавлена поддержка отображения
@layer, инспекция переменных через Scopes, отладка worker-скриптов и начальная поддержка Style Editor.
Безопасность и хранение данных
Значительно усилена безопасность: CryptoKey теперь гарантированно затирает буферы с ключевым материалом после завершения операций. Исправлены уязвимости, связанные с междоменным доступом к DOM API, ошибками изоляции localStorage и sessionStorage в sandboxed iframe, а также чтением памяти вне границ буфера в WebGL2.
Проект перешел на новую систему хранения данных «client storage», которая обеспечивает единый формат хранения на диске и централизованное управление квотами для веб-функций. IndexedDB теперь доступен в экспериментальном режиме с улучшенной обработкой транзакций и запросов по диапазонам ключей.
Производительность и API
Версия 0.2.0 является ломающим обновлением API по сравнению с 0.1.x. Внедрена поддержка пользовательских HTTP-заголовков через WebView::load_request и асинхронное получение файлов cookie.
Разработчики добились заметного прироста производительности: ускорена загрузка спецификации ECMAScript, сокращено время выполнения первого TLS-сеанса на 30–60 мс и снижено потребление памяти DOM-узлами на 16 байт на узел. Страница about:memory теперь предоставляет более точные данные об аллокациях, включая показатели libc на Linux.





