Servo 0.2









Die neue Ausgabe wurde veröffentlicht Servo 0.2.0 — der neuen Version des experimentellen Browser-Engines, geschrieben in Rust. Die Veröffentlichung fand statt am 31. Mai 2026 und beinhaltet Änderungen, die im April vorgenommen wurden: Die Entwickler zählten insgesamt 534 Commits, was einen neuen monatlichen Rekord für das Projekt darstellt. Servo entwickelt sich als unabhängiges Projekt unter der Schirmherrschaft der Linux Foundation Europe und zielt darauf ab, einen leichten eingebetteten Web-Engine für Anwendungen, mobile Plattformen und experimentelle Browser-Interfaces zu schaffen.

Wesentliche Änderungen

  • Die Benutzeroberfläche von servoshell für Android wurde überarbeitet.
    In der Android-Version der Demonstration von Servo wurde die Browser-Oberfläche aktualisiert und ein neuer Verlauf-Bildschirm hinzugefügt. Die APK ist etwa 30 % kleiner geworden, und es wurde ein Fehler mit dem schwarzen Bildschirm beim Schließen der Einstellungen oder beim Zurückkehren aus einer anderen Anwendung behoben. Tabs können jetzt in OpenHarmony geschlossen werden.

  • Die Unterstützung für chinesische, japanische und koreanische Texte wurde verbessert.
    Im Layout-Engine wurde die Verarbeitung von Zeilenumbrüchen für CJK-Sprachen korrigiert, und in der servoshell-Oberfläche unter Windows, Linux und FreeBSD wurden CJK-Schriften aktiviert. Dies ist wichtig für die korrekte Darstellung von Websites in Sprachen, in denen sich die Regeln für Umbrüche und Schriftarten von der lateinischen Schrift unterscheiden.

  • Interaktiver JSON-Viewer hinzugefügt.
    Wenn Sie eine JSON-Datei als Hauptdokument öffnen, zeigt Servo sie jetzt durch einen interaktiven Pretty-Printer an. Dadurch wird die Engine nicht nur für die normale Seitenansicht benutzerfreundlicher, sondern auch für Entwickler, die API-Antworten und strukturierte Daten direkt im Browser öffnen müssen.

  • Erweiterte Unterstützung der Web-Plattform.
    Servo unterstützt jetzt <select multiple>, <template shadowrootslotassignment>, die Wiedergabe von <video> auf OpenHarmony, Unterstützung von minimum-scale und maximum-scale in <meta name=viewport>, die CSS-Funktion color-mix() mit beliebig vielen Farben, tab-size, text-align: match-parent, die Erstellung von Workern aus Blob-URLs, WebGL-Kontext für OffscreenCanvas sowie die Eigenschaft detail für PerformanceMark und PerformanceMeasure.

  • Neue DOM-APIs hinzugefügt.
    Ereignisse selectionchange für <input> und <textarea>, experimenteller StorageManager, activeElement für Document und ShadowRoot, crypto.subtle.supports(), die Eigenschaften cellPadding, cellSpacing und align bei HTMLTableElement, relatedTarget für die Ereignisse focus und blur sowie transferFromImageBitmap() für ImageBitmapRenderingContext wurden implementiert. Entwickler merken besonders an, dass Servo die erste große Browser-Engine mit Unterstützung für crypto.subtle.supports() ist.

  • Die Navigation über die Tastatur und die Fokusverwaltung wurden verbessert.
    Der Tab-Wechsel funktioniert jetzt über Grenzen hinweg , und Ctrl+Backspace – oder Option+Backspace auf macOS – löscht das gesamte Wort in Eingabefeldern. Außerdem wurden Fehler bei Fokus und IME in der Desktop-Version von servoshell behoben.

  • Die Entwicklerwerkzeuge wurden erweitert.
    In Verbindung mit den Firefox DevTools wurden die Registerkarten Inspector, Console und Debugger verbessert. Das Regel-Panel zeigt jetzt Deklarationen aus @layer an, während Console und Debugger mehr Informationen über Funktionen, Arrays, Objekte und andere Werte bereitstellen. Es gibt jetzt die Möglichkeit, lokale und globale Variablen über Scopes zu inspizieren, das Debuggen von Worker-Skripten und erste Unterstützung für den Style Editor.

  • Die Sicherheit wurde verstärkt.
    CryptoKey löscht jetzt die Puffer mit geheimen Materialien nach der Verwendung. Probleme beim Zugriff auf die DOM-API zwischen Dokumenten mit unterschiedlichen Ursprüngen wurden behoben, sowie Fehler bei der Isolation von localStorage und sessionStorage in sandboxed iframes und iframe srcdoc. Die Verfügbarkeit von IndexedDB in sandboxed iframes und Workern von data: URLs wurde korrigiert, sowie die Möglichkeit, Cookies zwischen einigen IP-Ursprüngen zu überschreiben, das Lesen von Speicher über Puffergrenzen in texImage3D() für WebGL2 und unbestimmtes Verhalten im Signal-Handler von servoshell.

  • Die Arbeit an IndexedDB und dem Speicher hat Fortschritte gemacht.
    IndexedDB ist im experimentellen Modus von servoshell aktiviert und auf das neue System «client storage» umgestellt worden. Dies soll Servo ein einheitliches Format für die Datenspeicherung und eine zentrale Verwaltung der Quoten für Webfunktionen, die Daten speichern, bieten. Zudem wurden die Abfragen zu Schlüsseldatenbereichen, die Transaktionsverarbeitung, Schlüssel, Werte und Ausnahmen verbessert.

  • Die API für die Integration von Servo wurde aktualisiert.
    Da dies die zweite monatliche Veröffentlichung der Servo-Bibliothek ist, haben die Entwickler die Kompatibilitätsrichtlinien präzisiert: Version 0.2.0 wird im Vergleich zu 0.1.x als breaking change betrachtet. Es wurde die Möglichkeit hinzugefügt, URLs mit benutzerdefinierten HTTP-Headern über WebView::load_request zu laden, Cookies asynchron abzurufen, nur Session-Cookies zu löschen, ohne permanente Cookies zu entfernen, sowie destination und referrer_url beim Abfangen von Anfragen zu übermitteln und einen Modus für temporären Speicher zur Isolation von Sessionspeicherdaten hinzuzufügen.

  • Fehler in der Anzeige und im Verhalten von Seiten wurden behoben.
    Die Entwickler erwähnen Fehlerbehebungen für console.log, CSS-Animationen, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absolute Positionierung innerhalb der Grid-Darstellung, word-spacing, removeChild() im Dokument und URL.revokeObjectURL(). Außerdem wurde das Erscheinungsbild von und der Placeholder von