Firefox 154 apporte text-box-trim, sibling-index(), un sélecteur d'heure natif et de nouvelles méthodes d'itérateur, et demande la permission pour les WebSockets locaux.
Firefox 154 est arrivé sur le canal stable le 18 août 2026. Côté développeurs, les ajouts notables sont text-box-trim, text-box-edge et le raccourci text-box, les fonctions sibling-index() et sibling-count(), un sélecteur natif pour les champs time et datetime-local, la prise en compte de No-Vary-Search dans le cache disque, un fil d'Ariane dans le visualiseur JSON et quatre nouvelles méthodes d'itérateur. Les contrôles d'accès au réseau local s'étendent aux WebSockets, une page qui joint un appareil du réseau local demande donc d'abord la permission. La navigation dans les vidéos est plus rapide sur toutes les plateformes.
Les notes de version d'un navigateur se parcourent d'ordinaire en diagonale. Celles-ci récompensent la lecture de la section développeurs, car deux des ajouts suppriment des schémas que la plupart des bases de code front end traînent encore.
text-box-trim, ou la fin des marges négatives magiques
Toute police réserve un espace vertical au-dessus et en dessous de ses lettres. Cet espace est réel, il est inscrit dans les métriques de la fonte, et c'est pourquoi un titre avec margin-top: 24px ne se place jamais réellement vingt quatre pixels sous ce qui le précède. Pendant des années, le correctif a consisté à mesurer l'écart, à le soustraire par une marge négative, et à espérer que personne ne changerait la typographie.
Firefox 154 apporte text-box-trim, text-box-edge et le raccourci text-box. text-box-trim choisit les bords à rogner, text-box-edge choisit les métriques de fonte de référence, et le raccourci fait les deux. Résultat : la boîte autour de votre texte correspond aux lettres, donc l'espacement de votre CSS est l'espacement à l'écran.
Pourquoi cela compte plus qu'il n'y paraît : ces corrections par marge négative dépendent de la police et de la taille. Elles cassent au changement de fonte, elles cassent sur la police de repli pendant le chargement d'une fonte web, et elles ne sont presque jamais documentées. Les remplacer par une propriété déclarative retire un petit tas de nombres que personne dans l'équipe ne sait expliquer.
sibling-index() et sibling-count()
Le second ajout, sibling-index() et sibling-count(), expose la position d'un élément parmi ses frères et leur nombre total, sous forme de valeurs utilisables dans calc().
Le schéma que cela remplace est familier. Vous voulez une animation décalée, alors vous parcourez la liste en JavaScript et écrivez style.setProperty('--i', index) sur chaque élément, ou vous demandez à un préprocesseur d'émettre cinquante règles nth-child. Les deux fonctionnent. Les deux font dépendre le comportement visuel de la liste de l'exécution d'un script, ou d'une étape de compilation, plutôt que de la feuille de style. Avec sibling-index(), un délai décalé tient en une déclaration, et il continue de fonctionner quand la liste est rendue côté serveur ou réordonnée dans le DOM.
Le reste de la section développeurs
Une interface native de sélection arrive pour <input type="time"> et <input type="datetime-local">. Une raison de plus de vérifier si le composant de date et d'heure présent dans votre arbre de dépendances justifie encore son poids.
No-Vary-Search est désormais pris en compte par le cache disque. Cet en-tête permet à un serveur de déclarer que certains paramètres de requête ne changent pas la réponse, si bien que ?utm_source=x et son absence peuvent partager une entrée de cache au lieu de se dédoubler. Si vous servez des pages décorées de paramètres de campagne, c'est du taux de succès gratuit, et cela relève de la même famille de préoccupations que notre travail sur les Core Web Vitals.
Le visualiseur JSON affiche maintenant un fil d'Ariane pour l'entrée sélectionnée, petit confort au bénéfice démesuré quand vous fouillez une réponse d'API profondément imbriquée.
Côté JavaScript, les itérateurs gagnent chunks(), windows(), includes() et join(). chunks() regroupe une séquence par lots de taille fixe, windows() produit des fenêtres qui se chevauchent, et les deux autres font ce que font leurs équivalents sur les tableaux. Comme elles opèrent sur des itérateurs paresseux plutôt que sur des tableaux, vous pouvez traiter un flux par lots sans le matérialiser d'abord, raisonnement qui les rend également utiles dans un contexte de worker, sujet que nous avons développé dans notre guide des Web Workers. Comme toujours avec une syntaxe récente, vérifiez la prise en charge dans les navigateurs que vous ciblez réellement avant de vous y fier.
Le changement WebSocket à connaître
Firefox disposait déjà de contrôles d'accès au réseau local pour les requêtes ordinaires. La version 154 les étend aux connexions WebSocket : une page qui ouvre un WebSocket vers un appareil de votre réseau local demande désormais la permission au lieu de se connecter discrètement.
Ce n'est pas un changement que la plupart des utilisateurs verront. C'est un changement que les développeurs peuvent bel et bien rencontrer, car le schéma est partout dans l'outillage : serveurs de rechargement à chaud, ponts vers du matériel, tableaux de bord locaux, interfaces web d'imprimantes et d'équipements, tout ce qui présente une façade navigateur reliée à un démon sur le même réseau. Si une connexion qui s'établissait seule reste maintenant en attente, cherchez la demande de permission avant d'aller déboguer votre code de socket. À ajouter aux notes d'accueil de toute personne rejoignant un projet doté d'un serveur de développement local, à côté des vérifications inter-navigateurs habituelles dont nous parlions quand Servo a tenté sa propre course à la compatibilité web.
Tout le reste
La navigation dans les vidéos est nettement plus rapide sur tous les systèmes d'exploitation, et c'est le changement à la portée la plus large. Le surlignage du texte des PDF suit maintenant le style des pages web et respecte les réglages d'accessibilité du système, et le défaut de mise à l'échelle de l'aperçu avant impression avec l'option d'ajustement à la largeur de page est corrigé. La sauvegarde de profil, qui couvrait déjà Windows et Linux, inclut désormais macOS, et une sauvegarde prise sur une plateforme se restaure sur les autres. Les exceptions de cookies sont désormais distinctes des restrictions de protection contre le pistage, vous pouvez donc conserver les cookies d'un site après un redémarrage sans rien relâcher d'autre. La traduction de page entière traite maintenant le contenu des iframes, et l'identification de la langue s'exécute à chaque chargement pour que Firefox propose la traduction plus fiablement. Les utilisateurs Windows obtiennent la prise en charge de GeForce NOW et la possibilité de choisir une autre icône d'application depuis les paramètres. Une action rapide Manage AI dans la barre d'adresse ouvre la section IA des paramètres, et Smart Window peut suggérer des groupes d'onglets avec des noms générés, en déploiement progressif.
Firefox View sort de la barre d'outils par défaut, ce qui agacera celles et ceux qui s'en servaient et passera inaperçu pour tous les autres.
Sources et pour aller plus loin
- Notes de version de Firefox 154.0, Mozilla, 18 août 2026
- Firefox 154 Adds WebSocket Local Network Protection and New AI Controls, Linuxiac, 17 août 2026
- Firefox 154 Now Available With Manage AI Quick Action, Phoronix, 17 août 2026
- Mozilla Firefox 154 Is Now Available for Download, 9to5Linux
- Firefox 154 released with translation, AI feature and UI tweaks, OMG! Ubuntu, août 2026