Servo 0.2









Objavljen je izdanak Servo 0.2.0 — nova verzija eksperimentalnog preglednika, napisanog u Rust jeziku. Izdan je 31. svibnja 2026. godine i uključuje promjene uvedene u travnju: ukupno su programeri zabilježili 534 commita, što je novi mjesečni rekord projekta. Servo se razvija kao neovisni projekt pod okriljem Linux Foundation Europe i orijentiran je na stvaranje laganog ugradivog web-motora za aplikacije, mobilne platforme i eksperimentalne pregledničke sučelje.

Glavne promjene

  • Preuređeno sučelje servoshell za Android.
    U Android verziji demo sučelja Servo osvježeno je pregledničko sučelje i dodan je novi ekran povijesti. APK je postao približno 30% manji, a također je ispravljena greška s crnim ekranom pri zatvaranju postavki ili povratku iz druge aplikacije. Za OpenHarmony sada je moguće zatvarati kartice.

  • Poboljšana podrška za kineski, japanski i korejski tekst.
    U motoru rasporeda ispravljena je obrada preloma redaka za CJK jezike, a u sučelju servoshell na Windows, Linux i FreeBSD uključeni su CJK fontovi. To je važno za stvarno prikazivanje web stranica na jezicima gdje se pravila preloma i odabira fontova razlikuju od latiničnog pisma.

  • Dodana interaktivna prikazivanje JSON-a.
    Kada se JSON datoteka otvori kao glavni dokument, Servo sada prikazuje kroz interaktivni pretty-printer. To čini motor ugodnijim ne samo za običan pregled stranica, već i za programere koji trebaju otvoriti API odgovore i strukturirane podatke izravno u pregledniku.

  • Proširena podrška za Web Platformu.
    U Servo su dodani <select multiple>, <template shadowrootslotassignment>, reprodukcija <video> na OpenHarmony, podrška minimum-scale i maximum-scale u <meta name=viewport>, CSS funkcija color-mix() s proizvoljnim brojem boja, tab-size, text-align: match-parent, stvaranje Worker iz blob URL-a, WebGL kontekst za OffscreenCanvas, kao i svojstvo detail za PerformanceMark i PerformanceMeasure.

  • Dodani novi DOM API.
    Implementirani su događaji selectionchange za <input> i <textarea>, eksperimentalni StorageManager, activeElement za Document i ShadowRoot, crypto.subtle.supports(), svojstva cellPadding, cellSpacing i align kod HTMLTableElement, relatedTarget za događaje focus i blur, kao i transferFromImageBitmap() za ImageBitmapRenderingContext. Programeri posebnu naglašavaju da je Servo postao prvi veliki preglednički motor s podrškom za crypto.subtle.supports().

  • Poboljšana navigacija s tipkovnicom i rad fokusa.
    Tab sada može prelaziti granice , a Ctrl+Backspace — ili Option+Backspace na macOS — briše cijelu riječ u unosnim poljima. Također su ispravljene greške fokusa i IME-a u desktop verziji servoshell.

  • Prošireni su alati za razvojne programere.
    U suradnji s Firefox DevTools poboljšani su kartice Inspector, Console i Debugger. Panel Rules sada prikazuje deklaracije iz @layer, u Console i Debugger je više informacija o funkcijama, nizovima, objektima i drugim vrijednostima, uvedena je inspekcija lokalnih i globalnih varijabli preko Scopes, debuggiranje worker skripti i početna podrška za Style Editor.

  • Povećana je sigurnost.
    CryptoKey sada briše bafer s ključnim materijalom nakon upotrebe. Ispravljeni su problemi s pristupom DOM API-ju između dokumenata s različitim izvorima, greške izolacije localStorage i sessionStorage u sandboxed iframe i iframe srcdoc, nepravilna dostupnost IndexedDB u sandboxed iframe i worker iz data: URL, mogućnost istiskivanja kolačića između nekih IP-izvora, čitanje memorije izvan bafera u texImage3D() za WebGL2, kao i neodređeno ponašanje u obradi signala servoshell.

  • Napredak je ostvaren u radu s IndexedDB i spremištem.
    IndexedDB je uključen u eksperimentalni režim servoshell i prebačen je na novi sustav «client storage», koji bi trebao dati Servu jedinstveni format pohrane na disku i zajedničko upravljanje kvotama za web funkcije koje pohranjuju podatke. Također su poboljšani upiti po ključnim rasponima, obrada transakcija, ključeva, vrijednosti i iznimaka.

  • API za ugrađivanje Servo je ažuriran.
    Budući da je ovo drugo mjesečno izdanje biblioteke Servo, programeri su precizirali politiku kompatibilnosti: verzija 0.2.0 smatra se prekidnim ažuriranjem u odnosu na 0.1.x. Dodano je učitavanje URL-a s korisničkim HTTP zaglavljima putem WebView::load_request, asinkrono dobivanje kolačića, brisanje samo session kolačića bez uklanjanja trajnih kolačića, prosljeđivanje destination i referrer_url pri presretanju zahtjeva, kao i način privremene pohrane za izolaciju podataka sesije.

  • Ispravljene su greške u prikazu i ponašanju stranica.
    Programeri spominju ispravke za console.log, CSS animacije, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, apsolutno pozicioniranje unutar grid-a, word-spacing, removeChild() na Document i URL.revokeObjectURL(). Također je poboljšan izgled i placeholder u