Servo 0.2









Bol známe vydanie Servo 0.2.0 — novej verzii experimentálneho prehliadačového enginu napísaného v Ruste. Vydanie vyšlo 31. mája 2026 a obsahuje zmeny, ktoré boli realizované v apríli: celkovo vývojári napočítali 534 commitov, čo sa stalo novým mesačným rekordom projektu. Servo sa vyvíja ako nezávislý projekt pod egidou Linux Foundation Europe a je zamerané na vytvorenie ľahkého zabudovateľného webového enginu pre aplikácie, mobilné platformy a experimentálne prehliadačové rozhrania.

Hlavné zmeny

  • Prepracované rozhranie servoshell pre Android.
    V Android verzii demo rozhrania Servo bol aktualizovaný prehliadačový interface a pridaná nová obrazovka histórie. APK sa stal približne o 30% menším a bola opravená chyba s čiernou obrazovkou pri zavretí nastavení alebo návrate z inej aplikácie. Pre OpenHarmony je teraz možné zatvárať karty.

  • Vylepšená podpora čínskeho, japonského a kórejského textu.
    Vo renderovacom enginu bola opravená správa zlomu riadkov pre CJK jazyky, pričom v rozhraní servoshell pre Windows, Linux a FreeBSD boli zahrnuté CJK písma. To je dôležité pre správne zobrazenie webových stránok v jazykoch, kde sa pravidlá zlomu a výberu písiem líšia od latinky.

  • Pridaný interaktívny náhľad JSON.
    Ak otvoríte JSON súbor ako hlavný dokument, Servo teraz zobrazuje jeho obsah pomocou interaktívneho pretty-printera. To robí engine pohodlnejším nielen na bežné prehliadanie stránok, ale aj pre vývojárov, ktorí musia otvárať API odpovede a štruktúrované dáta priamo v prehliadači.

  • Rozšírená podpora Web Platform.
    V Servu pribudli <select multiple>, <template shadowrootslotassignment>, prehrávanie <video> na OpenHarmony, podpora minimum-scale a maximum-scale v <meta name=viewport>, CSS funkcia color-mix() s ľubovoľným počtom farieb, tab-size, text-align: match-parent, vytvorenie Worker z blob URL, WebGL kontext pre OffscreenCanvas, ako aj vlastnosť detail pri PerformanceMark a PerformanceMeasure.

  • Pridané nové DOM API.
    Zrealizované udalosti selectionchange pre <input> a <textarea>, experimentálny StorageManager, activeElement pre Document a ShadowRoot, crypto.subtle.supports(), vlastnosti cellPadding, cellSpacing a align pri HTMLTableElement, relatedTarget pre udalosti focus a blur, ako aj transferFromImageBitmap() pre ImageBitmapRenderingContext. Vývojári osobitne poznamenávajú, že Servo sa stalo prvým významným prehliadačovým enginom s podporou crypto.subtle.supports().

  • Zlepšená navigácia z klávesnice a správa fokusu.
    Tab teraz dokáže prechádzať cez hranice , a Ctrl+Backspace — alebo Option+Backspace na macOS — vymazáva celé slovo v políčkach pre vstup. Opravené sú aj chyby zamerania a IME v desktopovej verzii servoshell.

  • Nástroje pre vývojárov boli rozšírené.
    Spolu s Firefox DevTools boli vylepšené karty Inspector, Console a Debugger. Panel Rules teraz zobrazuje vyhlásenia z @layer, v Console a Debugger je viac informácií o funkciách, masívoch, objektoch a iných hodnotách, umožnené je skúmanie lokálnych a globálnych premenných cez Scopes, ladenie worker skriptov a základná podpora Style Editor.

  • Bezpečnosť bola posilnená.
    CryptoKey teraz premazáva buffery s kľúčovým materiálom po použití. Opravené sú problémy s prístupom k DOM API medzi dokumentmi s rôznymi pôvodmi, chyby izolácie localStorage a sessionStorage v sandboxed iframe a iframe srcdoc, nesprávna prístupnosť IndexedDB v sandboxed iframe a worker z data: URL, možnosť vysuňovania cookie medzi niektorými IP-pôvodmi, čítanie pamäte mimo bufferu v texImage3D() pre WebGL2 a nepredvídateľné správanie v obsluhovači signálov servoshell.

  • Práca na IndexedDB a úložisku pokročila.
    IndexedDB je aktivovaný v experimentálnom režime servoshell a prešiel na nový systém 'client storage', ktorý by mal Servu poskytnúť jednotný formát ukladania na disku a spoločné spravovanie kvót pre webové funkcie uchovávajúce dáta. Taktiež boli vylepšené dopyty podľa kľúčových rozsahov, spracovanie transakcií, kľúčov, hodnôt a výnimiek.

  • API pre integráciu Servo bolo aktualizované.
    Keďže ide o druhé mesačné vydanie knižnice Servo, vývojári upresnili politiku kompatibility: verzia 0.2.0 je považovaná za porušujúcu aktualizáciu voči 0.1.x. Pridané je načítanie URL s vlastnými HTTP hlavičkami cez WebView::load_request, asynchrónne získavanie cookie, vymazanie iba session cookies bez odstránenia trvalých cookie, prenos destination a referrer_url pri zachytávaní požiadaviek, ako aj režim dočasného úložiska na izoláciu dát relácie.

  • Opravené sú chyby zobrazenia a správania stránok.
    Vývojári spomínajú opravy pre console.log, CSS animácie, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absolútne polohovanie vo vnútri grid, word-spacing, removeChild() na Document a URL.revokeObjectURL(). Taktiež je vylepšený vzhľad a placeholder pri