Проект Servo выпустил Servo 0.5.0 и опубликовал обзор изменений за июль. В релиз вошли 488 изменений и готовые сборки для Linux aarch64.

Многопоточный рендеринг 2D canvas повысил частоту кадров до 55% и снизил энергопотребление на кадр до 42%. Рендеринг одинакового текста с разными значениями font-size ускорился до десяти раз.

Экспериментальный режим servoshell получил более полную поддержку WebGPU, включая GPUExternalTexture и importExternalTexture(). Начальная реализация WebVTT умеет загружать и разбирать дорожки и отдавать cues, но пока не выводит субтитры на экран.

После исправления предзагрузки SVG на DuckDuckGo теперь отображается утка, а страницы Gumroad, кроме главной, рендерятся почти без ошибок. В Servo 0.5.0 также исправлены потенциально затрагивавшие проект уязвимости в quick-xml и crossbeam-epoch.

Проверка утверждений:

  • Проект Servo опубликовал материал о релизе Servo 0.5.0: обзор 488 изменений, внесённых в июле, включая появление готовых сборок для Linux aarch64. (подтверждено первоисточником: доказательство; «Servo 0.5.0 contains all of the changes we landed in July, which came out to 488 commits , and we now publish binaries for Linux aarch64 ( @mukilan , #46760 )!»)
  • В Servo 0.5.0 исправлены потенциально затрагивавшие проект уязвимости в quick-xml и crossbeam-epoch. (подтверждено первоисточником: доказательство; «Servo was potentially affected by vulnerabilities in quick-xml and crossbeam-epoch that have been fixed in Servo 0.5.0 ( @atouchet , @Loirooriol , #46737 , #46324 ).»)
  • Релиз улучшил совместимость с реальными сайтами: на DuckDuckGo теперь отображается утка после исправления предзагрузки SVG, а страницы Gumroad, кроме главной, рендерятся почти без ошибок. (подтверждено первоисточником: доказательство; «The duck on the DuckDuckGo ( duckduckgo.com ) landing page now renders in v0.5.0, after we fixed a preload bug that affected SVG images ( @jdm , #46668 ). v0.4.0 v0.5.0 duckduckgo.com Most of Gumroad ( gumroad.com ) , except for the landing page, did not render at all in v0.4.0, but as of v0.5.0, pages like the Discover page or this product page render almost perfectly.»)
  • Среди новых возможностей веб-платформы — stale-while-revalidate в Cache-Control, text-decoration-thickness, частичная поддержка box-decoration-break и ряда шрифтовых CSS-свойств, а также новые алгоритмы Ed448, X448 и KMAC в SubtleCrypto. (подтверждено первоисточником: доказательство; «We’ve shipped several new web platform features: ‘Cache-Control: stale-while-revalidate’ ( @arayaryoma , #46060 ) ‘text-decoration-thickness’ ( @nicoburns , #46592 ) ‘box-decoration-break’ , for the most part ( @Psychpsyo , #45492 ) ‘@font-feature-values’ , for the most part ( @simonwuelker , #45308 ) ‘font-language-override’ , for the most part ( @simonwuelker , #46618 ) ‘font-variant-alternates’ , for the most part ( @simonwuelker , #45308 ) Plus a bunch of new DOM APIs: Ed448 , X448 , and KMAC algorithms in Subtle­Crypto ( @kkoyung , #46402 , #46141 , #46180 , #46583 , #46606 , #46622 , #46334 , #46376 )»)
  • Экспериментальный режим servoshell получил более полную поддержку WebGPU, включая GPUExternalTexture и importExternalTexture(), а начальная реализация WebVTT уже умеет загружать и разбирать дорожки и отдавать cues, но пока не выводит субтитры на экран. (подтверждено первоисточником: доказательство; «Web­GPU content can now enjoy better conformance and use GPU­External­Texture and import­External­Texture() on GPU­Device , under –pref dom­_webgpu­_enabled ( @sagudev , #45873 , #46178 , #46286 ). Indexed­DB content can now use the name property on IDB­Index , under –pref dom­_indexeddb­_enabled ( @skyz1 , #45512 ). document.fonts now includes a Font­Face for each valid ‘@font-face’ , under –pref dom­_fontface­_enabled ( @simonwuelker , #46509 , #46537 ). All of the features above are enabled in servoshell’s experimental mode . We’ve started implementing WebVTT for native subtitles and captions , enabled by default (no –pref ). While they don’t render just yet, we can now fetch each , parse the WebVTT, and expose cues via the track property on HTML­Track­Element ( @TimvdLippe , #46289 , #46383 ).»)
  • В API встраивания удалён ServoBuilder::webxr_registry(); его заменяет ленивый Servo::register_webxr_registry, благодаря которому время запуска servoshell сократилось вдвое. (подтверждено первоисточником: доказательство; «Breaking change: Servo­Builder :: webxr­_registry() has been removed . Instead use the new Servo :: register­_webxr­_registry , which is a lazy design that has allowed servoshell to halve its startup time ( @Narfinger , #46494 ).»)
  • Android-версия servoshell теперь работает начиная с Android 10, охватывающего 91% рынка, вместо прежнего требования Android 13+, соответствовавшего 68% рынка. (подтверждено первоисточником: доказательство; «servoshell for Android now runs on Android 10+ (91% market share), not just Android 13+ (68% market share), improving adaptability and reducing waste ( @jschwe , #46142 , #46308 ).»)
  • Встроенные SVG теперь могут использовать веб-шрифты, объявленные на содержащей их странице; параллельно началась реализация SVG DOM с набором заглушек интерфейсов элементов. (подтверждено первоисточником: доказательство; «Inline SVG can now use web fonts defined in the containing page ( @yodalee , #45979 ). We’re also implementing the SVG DOM , starting with stub interfaces for SVG­Element , SVG­Circle­Element, SVG­Defs­Element, SVG­Ellipse­Element, SVG­Line­Element, SVG­Linear­Gradient­Element, SVG­Path­Element, SVG­Polygon­Element, SVG­Polyline­Element, SVG­Radial­Gradient­Element, SVG­Stop­Element, SVG­Rect­Element, SVG­Symbol­Element, and SVG­Use­Element ( @mu-mostafa98 , #46558 ).»)
  • Многопоточный рендеринг 2D canvas повысил частоту кадров до 55% и снизил энергопотребление на кадр до 42%; разработчики также ожидают заметного сокращения расхода памяти. (подтверждено первоисточником: доказательство; «2D canvas rendering is now multithreaded , improving frame rates by up to 55% and power consumption per frame by up to 42% ( @yezhizhen , #46410 ), and should use a lot less memory too ( @jschwe , @sagudev , #46786 ).»)
  • Рендеринг одинакового текста с разными значениями font-size ускорился до десяти раз; тесты flex layout — до 3%, а оптимизация getElementsByClassName() ускорила некоторые сайты до 1%. (подтверждено первоисточником: доказательство; «Text rendering is up to 10x faster for cases with the same text and different ‘font-size’ ( @Loirooriol , #46129 ). Flex layout benchmarks are up to 3% faster, and an improvement to get­Elements­By­Class­Name() has made some websites up to 1% faster ( @Narfinger , @jdm , #46563 , #46595 , #46594 ).»)
  • Проект получает 7824 доллара в месяц регулярных пожертвований, на 1,8% больше, чем в июне; эти деньги покрывают CI и серверы бенчмаркинга, работу одного из стажёров Outreachy и работу сопровождающих. (подтверждено первоисточником: доказательство; «We are now receiving 7824 USD/month (+1.8% from June) in recurring donations. This helps us cover the cost of our speedy CI and benchmarking servers , one of our latest Outreachy interns , and funding maintainer work that helps more people contribute to Servo.»)

Первоисточники:

оценка 66.2 · тип release · ревизия 1 · истории st-1un44xc