Megjelent a kiadás Servo 0.2.0 — a new version of the experimental browser engine written in Rust. The release came out May 31, 2026 and includes changes made in April: the developers counted a total of 534 commits, which set a new monthly record for the project. Servo is developing as an independent project under the auspices of the Linux Foundation Europe and is focused on creating a lightweight embedded web engine for applications, mobile platforms, and experimental browser shells.
Főbb változások
The servoshell interface for Android has been revamped.
In the Android version of the Servo demo shell, the browser interface has been updated and a new history screen has been added. The APK is about 30% smaller, and a bug with the black screen when closing settings or returning from another application has been fixed. In OpenHarmony, tabs can now be closed.Support for Chinese, Japanese, and Korean text has been improved.
Line break processing for CJK languages has been fixed in the layout engine, and CJK fonts have been included in the servoshell interface on Windows, Linux, and FreeBSD. This is important for correctly displaying sites in languages where line break and font selection rules differ from Latin scripts.Interactive viewing of JSON has been added.
If you open a JSON file as the main document, Servo now displays it through an interactive pretty-printer. This makes the engine more convenient not only for normal page viewing but also for developers who need to open API responses and structured data directly in the browser.Web Platform support has been expanded.
Servo has introduced , , video playback on OpenHarmony, minimum-scale and maximum-scale support in , CSS function color-mix() with an arbitrary number of colors, tab-size, text-align: match-parent, Worker creation from blob URL, WebGL context for OffscreenCanvas, and the detail property for PerformanceMark and PerformanceMeasure.New DOM APIs have been added.
Selectionchange events for andKeyboard navigation and focus handling have been improved.
A Tab most már a <iframe> határokon is tud navigálni, a Ctrl+Backspace — vagy az Option+Backspace a macOS-en — pedig az egész szót törli a beviteli mezőkben. Ezen kívül javították a fókusz és az IME hibáit a desktop verzióban a servoshell-hez.Bővült a fejlesztői eszközök palettája.
A Firefox DevTools-szal van összefüggésben a Inspector, Console és Debugger fülek fejlesztése. A Rules panel most már megjeleníti a @layer-ből származó deklarációkat, a Console és Debugger több információt tartalmaz a funkciókról, tömbökről, objektumokról és más értékekről, megjelent a helyi és globális változók ellenőrzése a Scopes-on keresztül, a worker-script debugolása és a Style Editor kezdeti támogatása.Megerősítették a biztonságot.
A CryptoKey mostantól törli a kulcsmaterializált pufferét a használat után. Kijavították a különböző originak közötti hozzáférési problémákat a DOM API-ban, a localStorage és sessionStorage sandboxolt iframe-ekben való izolálási hibáit, a helytelen IndexedDB elérhetőséget sandboxolt iframe-ből és worker-ből data: URL alatt, valamint az IP-originok közötti cookie-k kiszorításának lehetőségét, és a texImage3D() memória túllépések olvasását a WebGL2 számára, továbbá megoldatlan viselkedés a servoshell jelzők kezelőjében.Előrehaladtak az IndexedDB és a tároló fejlesztésében.
Az IndexedDB most kísérleti módban van a servoshell-ben, és egy új «client storage» rendszerre vált, amely egységes tárolási formátumot és közös kvóta kezelés biztosít a web-funkciók számára, amelyek adatokat mentenek el. Javították a kulcskövetelmények szerinti lekérdezéseket, valamint a tranzakciók, kulcsok, értékek és kivételek kezelését.Frissítették a Servo beágyazási API-t.
Mivel ez a Servo könyvtár második havi kiadása, a fejlesztők pontosították a kompatibilitási politikát: a 0.2.0 verzió törő frissítésnek számít a 0.1.x-hez viszonyítva. Hozzáadták a URL-ek betöltését egyedi HTTP-fejlécekkel a WebView::load_request segítségével, az aszinkron cookie letöltést, a session cookies csak törlését anélkül, hogy a tartós cookie-kat is eltávolítanák, a destination és referrer_url átadását a kérések befogadásakor, valamint ideiglenes tárolási módot az ülések adatinak izolálásához.Javították az oldalak megjelenítési és viselkedési hibáit.
A fejlesztők említik a console.log, CSS animációk, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, abszolút pozicionálás a grid-en belül, word-spacing, removeChild() a Document-on és URL.revokeObjectURL() javításait. Szintén javult a <input type=file> megjelenése és a <textarea> placeholder-je.Növelték a teljesítményt és csökkentették a memóriafogyasztást.
Javítások a jelentős hatékonysági problémákban: az ECMAScript specifikáció betöltése gyorsabbá vált az id és name attribútumok feldolgozásának átírásával, az első TLS munkamenet 30–60 ms-tal gyorsabb lett, csökkent az IPC forgalom a szálak között, a DOM csomópontok Attr, Text és CharacterData memóriafogyasztása 16 bájttal csökkent csomópontonként, memóriaszivárgás javítva a <video controls> és <audio controls> eltávolításakor. Az about:memory oldal most pontosabban számolja a memóriát, beleértve a libc-allokációkat Linux alatt.
Összességében a Servo 0.2 egy újabb lépés a projekt beágyazható webmotorrá alakítása felé: javul a mobil felület, nő a kompatibilitás a modern web szabványokkal, javulnak a biztonsági hibák és fokozatosan stabilizálódik az API az alkalmazásfejlesztők számára.
Forrás: linux.org.ru




