Publicēts izdevums Servo 0.2.0 — jaunā versija eksperimentālā pārlūkprogrammu dzinēja, kas uzrakstīts Rust. Izlaidums notika 31. gada maijā, 2026. un ietver aprīlī veiktās izmaiņas: kopumā izstrādātāji saskaitījuši 534 komitejas, kas ir jauns mēneša rekords projektam. Servo attīstās kā neatkarīgs projekts, ko atbalsta Linux Foundation Europe, un tā mērķis ir izveidot vieglu iebūvētu tīmekļa dzinēju lietojumprogrammām, mobilajām platformām un eksperimentālām pārlūkprogrammu saskarnēm.
Galvenās izmaiņas
Pārstrādāta servoshell saskarne Android.
Android versijā Servo demonstrācijas saskarnes ir atjaunota pārlūkprogrammu saskarne un pievienota jauna vēstures lapa. APK kļuvis apmēram par 30% mazāks, kā arī labota kļūda ar melnu ekrānu, aizverot iestatījumus vai atgriežoties no citas lietotnes. OpenHarmony tagad var aizvērt cilnes.Uzlabota ķīniešu, japāņu un korejiešu teksta atbalsts.
Dzinējā izkārtojuma ir labota rindkopu pārejām CJK valodām, un servoshell saskarnē Windows, Linux un FreeBSD iekļauti CJK fonti. Tas ir svarīgi reāla vietņu attēlošanai valodās, kur pārejas un fontu izvēles noteikumi atšķiras no latīņu alfabēta.Pievienota interaktīva JSON priekšskatīšana.
Ja atverat JSON failu kā galveno dokumentu, Servo tagad to parāda, izmantojot interaktīvu pretty-printer. Tas padara dzinēju ērtāku ne tikai parastu lapu skatīšanai, bet arī izstrādātājiem, kuriem jāatver API atbildes un strukturētie dati tieši pārlūkā.Paplašināts Web Platform atbalsts.
Servo ir parādījušies , ,Pievienoti jauni DOM API.
Ieviesti selectionchange notikumi unUzlabota navigācija ar klaviatūru un fokusa darbs.
Tag now supports crossing <iframe> boundaries, and Ctrl+Backspace — or Option+Backspace on macOS — deletes the entire word in input fields. Focus and IME issues have also been fixed in the desktop version of servoshell.Developer tools have been expanded.
In conjunction with Firefox DevTools, the Inspector, Console, and Debugger tabs have been improved. The Rules panel now displays declarations from @layer, and the Console and Debugger provide more information about functions, arrays, objects, and other values, with the ability to inspect local and global variables via Scopes, debug worker scripts, and initial support for the Style Editor.Security has been enhanced.
CryptoKey now wipes buffers with key material after use. Issues with access to the DOM API between documents with different origins, localStorage and sessionStorage isolation errors in sandboxed iframes and iframe srcdoc, incorrect IndexedDB access in sandboxed iframes and workers from data: URLs, the ability to leak cookies between certain IP origins, reading memory beyond the buffer in texImage3D() for WebGL2, and undefined behavior in the servoshell signal handler have been fixed.Progress has been made on IndexedDB and storage.
IndexedDB is enabled in experimental mode in servoshell and has been transitioned to a new "client storage" system, which aims to provide Servo with a unified disk storage format and overall quota management for web functions that store data. Key range queries, transaction handling, keys, values, and exceptions have also been improved.The API for integrating Servo has been updated.
As this is the second monthly release of the Servo library, developers have clarified the compatibility policy: version 0.2.0 is considered a breaking change relative to 0.1.x. Support for loading URLs with custom HTTP headers through WebView::load_request, asynchronous cookie retrieval, clearing only session cookies without deleting persistent cookies, passing destination and referrer_url when intercepting requests, and a temporary storage mode for isolating session data have been added.Display and behavior issues on pages have been fixed.
Developers mention fixes for console.log, CSS animations, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, absolute positioning within grids, word-spacing, removeChild() on Document, and URL.revokeObjectURL(). The appearance of <input type=file> and the placeholder for <textarea> have also been improved.Performance has been increased and memory consumption reduced.
Novērstas lielas neefektivitātes: ātrāk ielādējas ECMAScript specifikācija, pateicoties id un name atribūtu apstrādes pārstrādei, pirmais TLS sesija tagad ir 30–60 ms ātrāka, samazināts IPC datu plūsmas apjoms starp pavedieniem, samazināts DOM mezglu Attr, Text un CharacterData atmiņas patēriņš par 16 baitiem uz mezglu, novērsta atmiņas noplūde, dzēšot <video controls> un <audio controls> . Lapa about:memory tagad precīzāk ņem vērā atmiņas sadalījumu, ieskaitot libc piešķīrumus Linux.
Tādējādi Servo 0.2 ir vēl viens solis, lai projektu pārvērstu par integrējamu tīmekļa dzinēju: tiek uzlabota mobilā saskarne, pieaug saderība ar mūsdienu tīmekļa standartiem, tiek novērstas drošības kļūdas un pakāpeniski stabilizējas API lietotņu izstrādātājiem.
Avots: linux.org.ru




