A broad update to the browser engine
Servo has released version 0.7.0 with 527 commits made during September, delivering changes across developer tools, accessibility, graphics, media, storage and embedding interfaces. The project positions Servo as a lightweight browser engine for applications that need to embed web content.
The release upgrades its JavaScript engine to SpiderMonkey 153.3 and its graphics translation layer to mozangle 0.7. Servo said both dependencies include fixes for security issues reported to their upstream projects. The developer-tools console now evaluates JavaScript input eagerly, giving developers feedback before a command is submitted.
Accessibility work includes geometry bounds for inline elements, less processing when the document changes and correct hidden-state reporting for elements styled with `display: none`. Servo also added an interface through which embedders can forward actions originating in accessibility tools.
Graphics, editing and captions
The engine's WebGL2 implementation received numerous conformance improvements. WebGL is now included among Servo's default web features, so applications that do not want to ship it must explicitly disable default features. On Linux, the project enabled thread-affinity boosting, which it says can improve performance on some processor architectures.
Work on editable web content advanced as well. With the relevant preference enabled, keyboard input is connected to `execCommand`, making more rich-text editors usable. A standard select-all shortcut now selects all document content, while text inside password fields can no longer be copied.
Servo also expanded its handling of video captions. Text tracks now emit enter, exit and cue-change events; media elements return their complete sorted track lists; and cue ordering, activation and URL-fetch timing were corrected. Its WebVTT parser can recover from errors.
IndexedDB gained cursor methods for indexes and cursors, while web animations gained timeline getter and setter methods. The release also reports unhandled promise rejections in the JavaScript console, a change intended to make compatibility failures easier to diagnose.
Changes for embedders
Servo added APIs to clear a web view's session history and forward accessibility actions. It removed manual throttling and several focus-related methods: hidden web views are now throttled automatically, while embedders must call `WebView::set_focused` when focus changes. Multiprocess support can be selected at build time, and disabling it can reduce the binary by about 2MB.
The project reported a range of allocation, garbage-collection and inter-process communication optimizations, plus more buffer reuse and compact data structures. It also fixed a memory leak involving audio and video elements and several panic conditions across WebRTC, video, iframes, shared workers and other components. Android's Java compatibility target is now version 11, and OpenHarmony builds can be cross-compiled from Windows hosts. The breadth of the release shows Servo continuing to fill platform gaps while refining its role as an embeddable engine.



