Servo 0.2









Publication de la version Servo 0.2.0 — nouvelle version du moteur de navigateur expĂ©rimental, Ă©crit en Rust. La sortie a eu lieu le 31 mai 2026 et inclut les modifications apportĂ©es en avril : au total, les dĂ©veloppeurs ont comptĂ© 534 commits, ce qui constitue un nouveau record mensuel pour le projet. Servo Ă©volue en tant que projet indĂ©pendant sous l'Ă©gide de la Linux Foundation Europe et est axĂ© sur la crĂ©ation d'un moteur web lĂ©ger intĂ©grĂ© pour des applications, des plateformes mobiles et des coquilles de navigateur expĂ©rimentales.

Principales modifications

  • L'interface de servoshell pour Android a Ă©tĂ© refaite.
    Dans la version Android de la coquille de démonstration de Servo, l'interface du navigateur a été mise à jour et un nouvel écran d'historique a été ajouté. L'APK est devenu environ 30 % plus petit, et un bug causant un écran noir lors de la fermeture des paramÚtres ou du retour d'une autre application a été corrigé. Pour OpenHarmony, il est maintenant possible de fermer les onglets.

  • AmĂ©lioration du support des langues chinoise, japonaise et corĂ©enne.
    Le moteur de rendu a corrigĂ© le traitement du retour Ă  la ligne pour les langues CJK, et l'interface de servoshell sous Windows, Linux et FreeBSD inclut des polices CJK. Cela est important pour l'affichage correct des sites dans des langues oĂč les rĂšgles de cĂ©sure et de sĂ©lection de polices diffĂšrent de celles de l'alphabet latin.

  • Ajout d'une visualisation interactive JSON.
    Si vous ouvrez un fichier JSON comme document principal, Servo l'affiche maintenant via un pretty-printer interactif. Cela rend le moteur plus pratique non seulement pour la visualisation des pages, mais aussi pour les développeurs qui doivent ouvrir des réponses API et des données structurées directement dans le navigateur.

  • AmĂ©lioration du support de la Web Platform.
    Servo prend en charge <select multiple>, <template shadowrootslotassignment>, la lecture de <video> sur OpenHarmony, le support de minimum-scale et maximum-scale dans <meta name=viewport>, la fonction CSS color-mix() avec un nombre arbitraire de couleurs, tab-size, text-align: match-parent, création de Worker à partir d'une blob URL, contexte WebGL pour OffscreenCanvas, ainsi que la propriété detail pour PerformanceMark et PerformanceMeasure.

  • Ajout de nouvelles API DOM.
    Des événements selectionchange ont été implémentés pour <input> et <textarea>, un StorageManager expérimental, activeElement pour Document et ShadowRoot, crypto.subtle.supports(), les propriétés cellPadding, cellSpacing et align de HTMLTableElement, relatedTarget pour les événements focus et blur, ainsi que transferFromImageBitmap() pour ImageBitmapRenderingContext. Les développeurs notent en particulier que Servo est devenu le premier moteur de navigateur majeur à prendre en charge crypto.subtle.supports().

  • AmĂ©lioration de la navigation au clavier et de la gestion du focus.
    L'onglet peut maintenant naviguer Ă  travers les frontiĂšres , et Ctrl+Backspace — ou Option+Backspace sur macOS — supprime le mot entier dans les champs de saisie. Les erreurs de mise au point et d'IME dans la version de bureau de servoshell ont Ă©galement Ă©tĂ© corrigĂ©es.

  • Les outils de dĂ©veloppement ont Ă©tĂ© Ă©tendus.
    En liaison avec Firefox DevTools, les onglets Inspector, Console et Debugger ont été améliorés. Le panneau Rules affiche maintenant les déclarations provenant de @layer, et la Console et Debugger fournissent plus d'informations sur les fonctions, tableaux, objets et autres valeurs, ainsi que l'inspection des variables locales et globales via Scopes, le débogage des scripts worker et le support initial de Style Editor.

  • La sĂ©curitĂ© a Ă©tĂ© renforcĂ©e.
    CryptoKey écrase désormais les tampons contenant des éléments clés aprÚs utilisation. Des problÚmes d'accÚs à l'API DOM entre les documents avec des origines différentes, des erreurs d'isolement de localStorage et sessionStorage dans un iframe sandboxed et iframe srcdoc, une accessibilité incorrecte de IndexedDB dans un iframe sandboxed et worker à partir de l'URL data:, la possibilité de contournement des cookies entre certaines origines IP, la lecture de la mémoire en dehors du tampon dans texImage3D() pour WebGL2, ainsi qu'un comportement indéfini dans le gestionnaire de signaux de servoshell ont été corrigés.

  • Les travaux sur IndexedDB et le stockage ont progressĂ©.
    IndexedDB est activĂ© en mode expĂ©rimental dans servoshell et a Ă©tĂ© migrĂ© vers un nouveau systĂšme de « client storage », qui doit offrir Ă  Servo un format de stockage unique sur disque et une gestion commune des quotas pour les fonctions web qui conservent des donnĂ©es. Les requĂȘtes par plage clĂ©, le traitement des transactions, des clĂ©s, des valeurs et des exceptions ont Ă©galement Ă©tĂ© amĂ©liorĂ©s.

  • L'API pour l'intĂ©gration de Servo a Ă©tĂ© mise Ă  jour.
    Étant donnĂ© qu'il s'agit de la deuxiĂšme version mensuelle de la bibliothĂšque Servo, les dĂ©veloppeurs ont clarifiĂ© la politique de compatibilitĂ© : la version 0.2.0 est considĂ©rĂ©e comme une mise Ă  jour cassante par rapport Ă  0.1.x. Le chargement des URL avec des en-tĂȘtes HTTP personnalisĂ©s via WebView::load_request a Ă©tĂ© ajoutĂ©, la rĂ©cupĂ©ration asynchrone des cookies, la suppression uniquement des cookies de session sans supprimer les cookies permanents, la transmission de destination et referrer_url lors de l'interception des requĂȘtes, ainsi qu'un mode de stockage temporaire pour l'isolation des donnĂ©es de session.

  • Des erreurs d'affichage et de comportement des pages ont Ă©tĂ© corrigĂ©es.
    Les développeurs mentionnent des corrections pour console.log, les animations CSS, box-shadow, display: contents, display: inline-flex, display: table-cell, overflow: clip, le positionnement absolu à l'intérieur de la grille, word-spacing, removeChild() sur Document et URL.revokeObjectURL(). L'apparence de et du placeholder de