Číslo bylo publikováno Servo 0.2.0 — nová verze experimentálního prohlížečového enginu napsaného v Rustu. Verze byla vydána 31 května 2026 rok a zahrnuje změny provedené v dubnu: celkem vývojáři napočítali 534 commity, což se stalo novým měsíčním rekordem projektu. Servo je vyvíjeno jako nezávislý projekt pod záštitou Linux Foundation Europe se zaměřuje na vytvoření lehkého, vložitelného webového enginu pro aplikace, mobilní platformy a experimentální prohlížečové prostředí.
Hlavní změny
Přepracované rozhraní servoshellu pro Android.
В AndroidDemoverze shellu Servo obsahuje aktualizované rozhraní prohlížeče a novou obrazovku historie. Soubor APK je nyní přibližně o 30 % menší a byla opravena chyba černé obrazovky při zavírání nastavení nebo návratu z jiné aplikace. OpenHarmony nyní podporuje zavírání karet.Vylepšená podpora pro čínský, japonský a korejský text.
Rozvržení má opravené zalomení řádků pro jazyky CJK a rozhraní servoshell má opravené Windows, Linux Fonty CJK jsou součástí FreeBSD. To je důležité pro správné zobrazení webových stránek v jazycích s pravidly pro pomlčku a výběr písma, která se liší od latinské abecedy.Přidáno interaktivní prohlížení JSON.
Při otevírání souboru JSON jako hlavního dokumentu jej Servo nyní zobrazuje pomocí interaktivního tiskárenského nástroje. Díky tomu je engine pohodlnější nejen pro běžné prohlížení stránek, ale také pro vývojáře, kteří potřebují otevírat odpovědi API a strukturovaná data přímo v prohlížeči.Rozšířená podpora webových platforem.
Servo přidalo , , přehrávání na OpenHarmony, podpora pro minimální a maximální měřítko v , CSS funkce color-mix() s libovolným počtem barev, tab-size, text-align: match-parent, vytvoření Workeru z URL adresy blobu, WebGL kontext pro OffscreenCanvas a vlastnost detail tříd PerformanceMark a PerformanceMeasure.Byla přidána nová rozhraní DOM API.
Implementovány události selectionchange pro A , experimentální StorageManager, activeElement pro Document a ShadowRoot, crypto.subtle.supports(), vlastnosti cellPadding, cellSpacing a align třídy HTMLTableElement, relatedTarget pro události focus a blur a transferFromImageBitmap() pro ImageBitmapRenderingContext. Vývojáři konkrétně poznamenávají, že Servo je první hlavní prohlížečový engine, který podporuje crypto.subtle.supports().Vylepšená navigace na klávesnici a výkon zaostřování.
Tab nyní může přeskakovat přes okraje a Ctrl+Backspace - nebo Option+Backspace na macOS — Maže celá slova ve vstupních polích. Byly také opraveny chyby s fokusem a IME v desktopové verzi servoshellu.Nástroje pro vývojáře byly rozšířeny.
Ve spojení s Firefox DevTools byly vylepšeny záložky Inspektor, Konzole a Debugger. Panel Pravidla nyní zobrazuje deklarace @layer, Konzole a Debugger nyní poskytují více informací o funkcích, polích, objektech a dalších hodnotách, kontrolu lokálních a globálních proměnných pomocí Scopes, ladění pracovních skriptů a počáteční podporu editoru stylů.Zvýšená bezpečnost.
CryptoKey nyní po použití vymaže vyrovnávací paměti klíčů. Opraveny problémy s přístupem k DOM API mezi dokumenty s různým původem, chyby izolace localStorage a sessionStorage v sandboxovaných iframe a srcdoc iframe, nesprávný přístup k IndexedDB v sandboxovaných iframe a workerech z dat: URL, možnost vyřazení souborů cookie mezi určitými IP původy, čtení mimo hranice v texImage3D() pro WebGL2 a nedefinované chování v obslužné rutině signálů servoshellu.Práce na IndexedDB a úložišti pokročila.
IndexedDB byl povolen v experimentálním režimu servoshellu a migrován na nový systém „klientského úložiště“, který by měl Servu poskytnout jednotný formát diskového úložiště a jednotnou správu kvót pro webové funkce, které ukládají data. Vylepšeny byly také dotazy na rozsah klíčů, zpracování transakcí, zpracování klíč/hodnota a zpracování výjimek.Aktualizované API pro vkládání serv.
Vzhledem k tomu, že se jedná o druhé měsíční vydání knihovny Servo, vývojáři upřesnili zásady kompatibility: verze 0.2.0 je považována za zásadní aktualizaci oproti verzi 0.1.x. Přidáno je načítání URL s vlastními HTTP hlavičkami přes WebView::load_request, asynchronní načítání souborů cookie, mazání pouze souborů cookie relace bez smazání trvalých souborů cookie, předávání cíle a referrer_url při zachycování požadavků a režim dočasného ukládání pro izolaci dat relace.Opraveny chyby v zobrazení a chování stránky.
Vývojáři zmiňují opravy pro console.log, CSS animace, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absolutní pozicování v mřížce, word-spacing, removeChild() u dokumentu a URL.revokeObjectURL(). Vylepšen byl také vzhled. a zástupný symbol na .Vylepšený výkon a snížená spotřeba paměti.
Byly opraveny hlavní nedostatky: načítání specifikace ECMAScript bylo zrychleno přepracováním zpracování atributů id a name, první relace TLS se zrychlila o 30–60 ms, byl snížen provoz IPC mezi vlákny, spotřeba paměti uzly DOM Attr, Text a CharacterData byla snížena o 16 bajtů na uzel a byl opraven únik paměti při mazání. A Stránka about:memory nyní přesněji popisuje alokace paměti, včetně alokací libc. Linux.
Servo 0.2 v konečném důsledku představuje další krok k transformaci projektu na vestavěný webový engine: mobilní prostředí je vylepšeno, kompatibilita s moderními webovými standardy je zvýšena, bezpečnostní chyby jsou opraveny a API pro vývojáře aplikací je postupně stabilizováno.
Zdroj: linux.org.ru




