LINUX.ORG.RU

Servo 0.4.0

 , ,


0

2

Опубликован выпуск Servo 0.4.0 — экспериментального браузерного движка, написанного на языке Rust. Релиз состоялся 31 июля 2026 года и объединил 558 изменений, внесённых в проект в течение июня. Готовые сборки демонстрационной оболочки Servo распространяются для Linux, macOS, Windows, Android и OpenHarmony. Исходный код доступен под лицензией MPL 2.0.

Servo создаётся как лёгкий и встраиваемый движок для отображения веб-содержимого в сторонних приложениях. Проект не следует воспринимать как полностью готовую замену Firefox или Chromium: поставляемая вместе с ним оболочка Servoshell прежде всего предназначена для демонстрации возможностей движка и его тестирования. При этом разработчики постепенно улучшают совместимость с настоящими сайтами и формируют стабильный интерфейс для внедрения Servo в другие программы.

В версии 0.4.0 заметно улучшилось отображение сайтов. Разработчики отмечают более правильную компоновку страниц Lichess, а усовершенствованная поддержка вариативных шрифтов сделала значительно читабельнее интерфейсы Zulip и Speedtest. Google Photos и некоторые другие сложные веб-приложения уже работают в Servo, тогда как Google Maps и OpenStreetMap отображаются достаточно хорошо, но пока сохраняют проблемы с интерактивными элементами. Сравнительные снимки Servo 0.3.0 и 0.4.0 опубликованы в официальном отчёте проекта.

Основные изменения Servo 0.4.0:

  • Расширена поддержка медиазапросов CSS. Реализованы условия device-width, device-height, height, aspect-ratio, orientation, pointer, hover, а также варианты min- и max-. Это позволяет сайтам точнее адаптировать оформление к размеру экрана, его ориентации и возможностям устройства ввода.

  • Добавлен SharedWorker. Новый DOM API позволяет нескольким вкладкам и окнам одного сайта использовать общий фоновый JavaScript-процесс. Также появились console.dir(), потоковое чтение текста через textStream() и методы захвата указателя setPointerCapture(), releasePointerCapture() и hasPointerCapture().

  • Развивается поддержка пользовательских элементов. CustomElementRegistry теперь может быть связан не только с глобальным объектом, но и с отдельными документами и теневыми деревьями. Добавлены конструктор реестра и метод его инициализации.

  • Улучшена реализация CSS. В экспериментальном режиме появился расширенный вариант функции attr(). Добавлена поддержка image(<color>), новых параметров для circle() и ellipse(), свойства font-feature-settings внутри @font-face, а вычисление выражений calc() в некоторых случаях можно откладывать до этапа формирования макета страницы.

  • Продолжена работа над WebGPU. Реализованы копирование внешних изображений в текстуры, наборы запросов и отладочные группы команд. Повышена совместимость объектов GPUTexture, выбора графического адаптера и проверки защищённого контекста. Эти функции пока активируются через экспериментальный режим Servoshell.

  • Улучшена демонстрационная оболочка. В настольной версии файлы теперь можно открывать перетаскиванием в окно, а панель вкладок прокручивается горизонтально при большом числе открытых страниц. Минимальной поддерживаемой версией мобильной системы стала Android 13; интерфейс Android-варианта переведён на Compose UI и Kotlin.

Полный перечень новых Web API и связанных изменений приведён в июньском отчёте Servo.

Отдельное внимание уделено безопасности. Используемый Servo движок JavaScript SpiderMonkey сначала обновили с версии 140.10.1 до 140.11.0. Обновление устранило в том числе уязвимости CVE-2026-8388, CVE-2026-8391, CVE-2026-8974 и CVE-2026-8975, описанные в бюллетене MFSA 2026-48. Затем SpiderMonkey довели до версии 140.12.0, включив дополнительные исправления из MFSA 2026-58. Разработчики Servo уточняют, что на момент публикации ещё не было установлено, какие именно перечисленные в этом бюллетене уязвимости применимы к движку. Исправлена возможность внедрения HTML и JavaScript в автоматически создаваемые списки файлов при открытии локальных каталогов через file://. Операции RSA и отдельный этап алгоритма ML-DSA переведены на выполнение с постоянным временем, хотя разработчики предупреждают, что текущая реализация RSA всё ещё подвержена атаке Marvin.

В интерфейсе встраивания появился метод получения контекста отрисовки из WebView, расширена документация публичного API и удалён внутренний метод send_error. Поскольку Rust пока не обладает стабильным двоичным интерфейсом, команда также начала проектировать обёртку на языке C. В перспективе она позволит подключать Servo как готовую динамическую библиотеку, не собирая весь движок вместе с приложением из исходного кода.

В числе находящихся в разработке возможностей названы видимое выделение текста, Web Animations, дальнейшее развитие доступности и расширенная реализация attr(). Загрузить Servo 0.4.0 и посмотреть полный автоматически сформированный список изменений можно на странице выпусков проекта.

>>> Подробности

★★★★★

Проверено: cetjs2 ()
Последнее исправление: unclestephen (всего исправлений: 1)
Ответ на: комментарий от unDEFER

Во первых это ещё собрать надо чтобы их сделать...

А во вторых - они ничего не продемонстрируют. Невозможно найти что то, где ЛОР хреново отобразится.

kirill_rrr ★★★★★
()

Сравнительные снимки

Ааа

ya-betmen ★★★★★
()

разработчики постепенно улучшают совместимость с настоящими сайтами

А что насчёт совместимости с ненастоящими сайтами? ;))

Уже совместили или попросту на неё «забили»?.. ;)

Somebody ★★★★
()

Я правильно понял, что Servoshell это единственный браузер или его подобие в котором используется Servo, по факту единственная возможность пощупать Серву? Штош, буду ждать в Guix’е.

Camel ★★★★★
()
Ответ на: комментарий от kirill_rrr

А во вторых - они ничего не продемонстрируют. Невозможно найти что то, где ЛОР хреново отобразится.

Ну, кстати, отображается довольно криво. Галереи (та что в шапке с картинками) не работает, в трекере таблица поломана нафиг, выделение не работает и цитату не сделаешь.

https://ibb.co/sJD7BXXB https://ibb.co/3yTBsbPf

upd. Ради интереса открыл ya.ru . Оно довольно криво отобразило и вообще зависло.

SkyMaverick ★★★★★
()
Последнее исправление: SkyMaverick (всего исправлений: 1)

Не нужно, как прочем и сам Раст.

zenden
()

Работает довольно быстро,но памяти жрет больше чем falcon. С гуглом работает и базовые картинки отображает и на этом все. Да базово он работает и для 2000 годов это было приемлимо, но проект очень сырой и говорить о полноценной работе не приходится.

ZloyLi
()

Самое странное, что он хочет открыть большинство сайтов, как в мобильной версии.И это очень мешает восприятию. Opennet открывает, но выглядит он не так как должен.

ZloyLi
()
Ответ на: комментарий от ZloyLi

,но памяти жрет больше

Зато делает это очень безопасно.

devl547 ★★★★★
()

экспериментального

15 лет скоро этому эксперименту. Может хватит уже мучать зверушку. Браузер это непосильная задача для растолюбов, дажа сама мозилла не осилила.

bread
()

Servo создаётся как лёгкий и встраиваемый движок

все они первые несколько лет «лёгкие»

splinter ★★★★★
()

Servo создаётся как лёгкий и встраиваемый движок для отображения веб-содержимого в сторонних приложениях.

Оо да, он прям «мега-лёгкий»: собирается пол часа, памяти жрёт как не в себя… Где там лёгкость то? Вы смотрели, сколько весит его сборочный каталог после сборки?

anonmyous ★★★
()

Вот кстати, Антропики лучше бы вместо рожания 100500 конпелятора Си без оптимизаций или брутфорса контрпримеров к недоказаным теоремам, дали бы задание своей Fable допилить сабж. Но наверное еще рано.

goingUp ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.