Servo, a web engine designed to provide a lightweight and high-performance alternative for embedding web technologies in applications, has released version 0.7.0. This update encompasses 527 commits and introduces several new web platform features, including the `<progress>` element, the `:checked` pseudoclass, and the `user-select` property. These additions are part of Servo's ongoing effort to expand its compatibility with standard web features while maintaining its focus on performance and developer experience.
The update also brings significant enhancements to CSS and DOM APIs. New CSS capabilities include typed arithmetic, the `alpha()` function, and the `font-width` property. On the DOM side, Servo added several new APIs, such as `parentRule` on `CSSRule` and `CSSStyleDeclaration`, and `version` on `HTMLHtmlElement`. Additionally, the engine improved its handling of SVG elements and integrated the MLKEM768-X25519 algorithm for WebCrypto. These updates aim to provide a more robust and feature-complete environment for developers who rely on Servo to render complex web content.

This image illustrates the engine's ability to render complex web content and games as described in the update.

This visual supports the claim that Servo provides a robust environment for rendering complex web content.
Stability and developer experience were also key focuses of the 0.7.0 release. The team implemented several optimizations to reduce unnecessary allocations and improve performance by reducing interactions with the garbage collector. They also addressed various stability issues, including fixes for WebRTC and several other components. While these improvements enhance the engine's reliability, some changes involve trade-offs; for example, the `WebView::set_throttled` API was removed in favor of automatic throttling when a WebView is hidden. Furthermore, because WebGL is now included in the default web features, developers who wish to exclude it must now manually disable default features to reduce binary size.