Veröffentlicht wird Servo 0.2.0 — einer neuen Version des experimentellen Browser-Engines, die in Rust geschrieben wurde. Die Veröffentlichung erfolgte am 31. Mai 2026 und umfasst Änderungen, die im April vorgenommen wurden: Insgesamt zählten die Entwickler 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 leichtgewichtigen, eingebetteten Web-Engine für Anwendungen, mobile Plattformen und experimentelle Browser-Oberflächen zu schaffen.
Wesentliche Änderungen
Die Benutzeroberfläche von servoshell für Android wurde überarbeitet.
In der Android-Version der Demo-Oberfläche von Servo wurde die Browseroberfläche aktualisiert und ein neuer Verlauf hinzugefügt. Die APK ist etwa 30 % kleiner geworden, und ein Fehler mit einem schwarzen Bildschirm beim Schließen der Einstellungen oder beim Zurückkehren aus einer anderen App wurde behoben. In OpenHarmony können jetzt Tabs geschlossen werden.Die Unterstützung für chinesischen, japanischen und koreanischen Text wurde verbessert.
Im Layout-Engine wurde die Verarbeitung von Zeilenumbrüchen für CJK-Sprachen korrigiert, und in der Benutzeroberfläche von servoshell unter Windows, Linux und FreeBSD wurden CJK-Schriften aktiviert. Dies ist wichtig für die korrekte Anzeige von Websites in Sprachen, in denen die Regeln für Zeilenumbrüche und Schriftwahl von der lateinischen Schrift abweichen.Eine interaktive Anzeige von JSON wurde hinzugefügt.
Wenn eine JSON-Datei als Hauptdokument geöffnet wird, zeigt Servo sie jetzt über einen interaktiven Schön-Printer an. Dies macht die Engine nicht nur für gewöhnliche Seitenansichten benutzerfreundlicher, sondern auch für Entwickler, die API-Antworten und strukturierte Daten direkt im Browser öffnen müssen.Die Unterstützung der Web-Plattform wurde erweitert.
In Servo sind jetzt , , Video-WiedergabeNeue DOM-APIs wurden hinzugefügt.
Es wurden Ereignisse selectionchange für undDie Navigation mit der Tastatur und die Fokussteuerung wurden verbessert.
Tab kann jetzt über die Grenzen von hinweg navigieren, und Ctrl+Backspace – oder Option+Backspace auf macOS – entfernt ein ganzes Wort in Eingabefeldern. Außerdem wurden Fehler bei den Fokussen und IME in der Desktop-Version von servoshell behoben.Die Entwicklertools wurden erweitert.
In Verbindung mit den Firefox DevTools wurden die Registerkarten Inspector, Console und Debugger verbessert. Das Regeln-Panel zeigt jetzt Deklarationen aus @layer an, und es gibt mehr Informationen zu Funktionen, Arrays, Objekten und anderen Werten in der Console und dem Debugger. Lokale und globale Variablen können über Scopes inspiziert werden, es gibt eine Debugging-Funktion für Worker-Skripte und eine erste Unterstützung für den Style Editor.Die Sicherheit wurde erhöht.
CryptoKey überschreibt jetzt die Puffer mit geheimen Materialien nach der Verwendung. Probleme mit dem Zugriff auf die DOM-API zwischen Dokumenten mit unterschiedlichen Origins wurden behoben, sowie die Fehler bei der Isolierung von localStorage und sessionStorage in sandboxed iframes und iframe srcdoc, inkorrekte Zugänglichkeit von IndexedDB in sandboxed iframes und Workern aus data: URL, die Möglichkeit zum Überschreiben von Cookies zwischen bestimmten IP-Origins, das Lesen von Speicher außerhalb des Puffers in texImage3D() für WebGL2 sowie undefiniertes Verhalten im Signalhandler von servoshell.Die Arbeit an IndexedDB und dem Speicher ist fortgeschritten.
IndexedDB ist im experimentellen Modus von servoshell aktiv und auf ein neues System für "client storage" umgestellt worden, das Servo ein einheitliches Speicherformat auf der Festplatte und eine gemeinsame Verwaltung der Quoten für web-Funktionen, die Daten speichern, bieten soll. Außerdem wurden die Anfragen nach Schlüsselbereichen, die Verarbeitung von Transaktionen, Schlüsseln, Werten und Ausnahmen verbessert.Die API für die Integration von Servo wurde aktualisiert.
Da dies die zweite monatliche Ausgabe der Servo-Bibliothek ist, haben die Entwickler die Kompatibilitätspolitik präzisiert: Version 0.2.0 gilt als ein breaking update gegenüber 0.1.x. 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, die destination und referrer_url beim Abfangen von Anfragen zu übermitteln, sowie einen Modus für temporären Speicher zur Isolierung von Sitzungsdaten.Fehler bei der Anzeige und dem Verhalten von Seiten wurden behoben.
Die Entwickler erwähnen Korrekturen für console.log, CSS-Animationen, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absolute Positionierung innerhalb von grid, word-spacing, removeChild() auf Document und URL.revokeObjectURL(). Außerdem wurde das Aussehen von und das Placeholder vonDie Leistung wurde erhöht und der Speicherverbrauch gesenkt.
Wesentliche Ineffizienzen wurden behoben: Der Ladevorgang der ECMAScript-Spezifikation wurde durch die Überarbeitung der Verarbeitung der Attribute id und name beschleunigt, die erste TLS-Sitzung ist um 30–60 ms schneller geworden, der IPC-Verkehr zwischen den Threads wurde verringert, der Speicherverbrauch der DOM-Knoten Attr, Text und CharacterData wurde um 16 Byte pro Knoten reduziert, sowie ein Speicherleck beim Entfernen von
Insgesamt ist Servo 0.2 ein weiterer Schritt zur Entwicklung des Projekts zu einer für das Einbetten geeigneten Web-Engine: Die mobile Oberfläche wird verbessert, die Kompatibilität mit modernen Webstandards wächst, Sicherheitslücken werden geschlossen und die API für Anwendungsentwickler stabilisiert sich allmählich.
Quelle: linux.org.ru




