Číslo bolo publikované Servo 0.2.0 — nová verzia experimentálneho prehliadačového enginu napísaného v Ruste. Vydanie bolo vydané 31 mája 2026 rok a zahŕňa zmeny vykonané v apríli: celkovo vývojári spočítali 534 commitov, čo sa stalo novým mesačným rekordom projektu. Servo sa vyvíja ako nezávislý projekt pod záštitou Linux Nadácia Europe sa zameriava na vytvorenie ľahkého, vstavateľného webového enginu pre aplikácie, mobilné platformy a experimentálne prehliadačové prostredia.
Hlavné zmeny
Prepracované rozhranie servoshellu pre Android.
В AndroidDemoverzia Servo obsahuje aktualizované rozhranie prehliadača a novú obrazovku histórie. Súbor APK je teraz približne o 30 % menší a bola opravená chyba čiernej obrazovky pri zatváraní nastavení alebo návrate z inej aplikácie. OpenHarmony teraz podporuje zatváranie kariet.Vylepšená podpora pre čínsky, japonský a kórejský text.
Rozvádzací engine má opravené spracovanie zalomenia riadkov pre jazyky CJK a rozhranie servoshell má opravené Windows, Linux Fonty CJK sú súčasťou FreeBSD. To je dôležité pre správne zobrazenie webových stránok v jazykoch s pravidlami pre pomlčku a výber písma, ktoré sa líšia od latinskej abecedy.Pridané interaktívne zobrazenie JSON.
Pri otváraní súboru JSON ako hlavného dokumentu ho Servo teraz zobrazuje prostredníctvom interaktívnej tlačiarne. Vďaka tomu je engine pohodlnejší nielen pre bežné prehliadanie stránok, ale aj pre vývojárov, ktorí potrebujú otvárať odpovede API a štruktúrované dáta priamo v prehliadači.Rozšírená podpora webovej platformy.
Servo pridalo , , prehrávanie na OpenHarmony, podpora pre minimálnu a maximálnu mierku v , funkcia CSS color-mix() s ľubovoľným počtom farieb, tabulátorová veľkosť (tab-size), zarovnanie textu: match-parent, vytvorenie Workera z URL adresy blobu, kontext WebGL pre OffscreenCanvas a vlastnosť detail tried PerformanceMark a PerformanceMeasure.Boli pridané nové rozhrania DOM API.
Implementované udalosti zmeny výberu pre A , experimentálny StorageManager, activeElement pre Document a ShadowRoot, crypto.subtle.supports(), vlastnosti cellPadding, cellSpacing a align pre HTMLTableElement, relatedTarget pre udalosti focus a blur a transferFromImageBitmap() pre ImageBitmapRenderingContext. Vývojári osobitne poznamenávajú, že Servo je prvý hlavný prehliadačový engine, ktorý podporuje crypto.subtle.supports().Vylepšená navigácia pomocou klávesnice a výkon zaostrenia.
Tab teraz môže preskakovať cez okraje a Ctrl+Backspace - alebo Option+Backspace na macOS — Vymaže celé slová vo vstupných poliach. Opravené boli aj chyby s fokusom a editorom IME v desktopovej verzii servoshellu.Nástroje pre vývojárov boli rozšírené.
V spojení s nástrojmi Firefox DevTools boli vylepšené karty Inšpektor, Konzola a Ladiaci program. Panel Pravidlá teraz zobrazuje deklarácie @layer, Konzola a Ladiaci program teraz poskytujú viac informácií o funkciách, poliach, objektoch a iných hodnotách, kontrolu lokálnych a globálnych premenných prostredníctvom Scopes, ladenie pracovných skriptov a počiatočnú podporu editora štýlov.Zvýšená bezpečnosť.
CryptoKey teraz po použití vyprázdni vyrovnávacie pamäte kľúčov. Opravené problémy s prístupom k DOM API medzi dokumentmi s rôznym pôvodom, chyby izolácie localStorage a sessionStorage v sandboxovaných iframe a srcdoc iframe, nesprávny prístup k IndexedDB v sandboxovaných iframe a workeroch z dát: URL, možnosť vyradenia súborov cookie medzi určitými IP pôvodmi, čítanie mimo hraníc v texImage3D() pre WebGL2 a nedefinované správanie v obslužnom programe signálov servoshell.Práca na IndexedDB a úložisku pokročila.
IndexedDB bol povolený v experimentálnom režime servoshell a migroval na nový systém „klientskeho úložiska“, ktorý by mal poskytnúť Servu jednotný formát diskového úložiska a jednotnú správu kvót pre webové funkcie, ktoré ukladajú dáta. Vylepšené boli aj dotazy na rozsah kľúčov, spracovanie transakcií, spracovanie kľúčov/hodnot a spracovanie výnimiek.Aktualizované API pre vkladanie serva.
Keďže ide o druhé mesačné vydanie knižnice Servo, vývojári objasnili pravidlá kompatibility: verzia 0.2.0 sa považuje za prelomovú aktualizáciu v porovnaní s verziou 0.1.x. Pridané je načítanie URL s vlastnými HTTP hlavičkami prostredníctvom WebView::load_request, asynchrónne načítavanie súborov cookie, vymazanie iba súborov cookie relácie bez vymazania trvalých súborov cookie, odovzdávanie cieľového miesta a adresy referrer_url pri zachytávaní požiadaviek a režim dočasného úložiska na izoláciu údajov relácie.Opravené chyby v zobrazení a správaní stránky.
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 umiestnenie v mriežke, word-spacing, removeChild() v dokumente a URL.revokeObjectURL(). Vylepšený bol aj vzhľad. a zástupný symbol na .Zlepšený výkon a znížená spotreba pamäte.
Boli opravené hlavné nedostatky: načítanie špecifikácie ECMAScript bolo zrýchlené prepracovaním spracovania atribútov id a name, prvá relácia TLS sa zrýchlila o 30 – 60 ms, znížila sa prevádzka IPC medzi vláknami, spotreba pamäte uzlami DOM Attr, Text a CharacterData bola znížená o 16 bajtov na uzol a bol opravený únik pamäte pri mazaní. A Stránka about:memory teraz presnejšie zobrazuje alokácie pamäte vrátane alokácií libc. Linux.
Servo 0.2 v konečnom dôsledku predstavuje ďalší krok k transformácii projektu na vstavaný webový engine: vylepšené je mobilné prostredie, zvýšená je kompatibilita s modernými webovými štandardmi, opravené sú bezpečnostné chyby a postupne sa stabilizuje API pre vývojárov aplikácií.
Zdroj: linux.org.ru




