Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Firefox 156 note de version pour les développeurs

Cet article présente les informations concernant les changements de Firefox 156 qui concernent les développeur·euse·s. Firefox 156 est sorti le 15 septembre 2026 (angl.).

Changements pour les développeur·euse·s web

Outils de développement

  • L'inspecteur de page (angl.) résout désormais les fonctions de substitution — var(), attr(), et env() — lors du calcul des étapes affichées pour une déclaration, de sorte qu'une valeur provenant d'une propriété personnalisée ou d'un attribut est tracée jusqu'à sa source plutôt que d'être affichée non résolue. (bogue Firefox 2041622 (angl.)).
  • La lecture de la taille de la zone d'affichage dans le surligneur de l'inspecteur n'arrondit plus la largeur et la hauteur, ce qui auparavant signalait une taille trompeuse aux niveaux de zoom fractionnaires ou sur les écrans à haute densité. (bogue Firefox 2055445 (angl.)).
  • Les outils de développement peuvent désormais se connecter à un serveur de débogage jusqu'à trois versions plus anciennes que le client, contre la limite précédente. Cela est important lors du débogage à distance d'une version plus ancienne de Firefox ou de GeckoView. (bogue Firefox 2064221 (angl.)).
  • Correction du problème où le surligneur des règles restait visible après avoir été désactivé, lorsque l'inspecteur n'était pas le panneau sélectionné. (bogue Firefox 2063982 (angl.)).
  • Correction du problème où F2 invoquait « Modifier en tant que HTML » sur des nœuds qui ne le supportaient pas, et affichait un contenu obsolète d'une édition précédente. (bogue Firefox 2064213 (angl.)).
  • Correction de la position de la fenêtre bloquante « Paramètres de l'appareil » dans le mode de conception réactive. (bogue Firefox 2062153 (angl.)).

HTML

Pas de changements notables.

SVG

CSS

  • Le pseudo-élément non standard ::-webkit-scrollbar est désormais signalé comme non pris en charge dans les conditions @supports sur tous les sites, donc @supports selector(::-webkit-scrollbar) retourne false et @supports not (selector(::-webkit-scrollbar)) retourne true. Cela inclut les sites répertoriés dans la préférence layout.css.fake-webkit-scrollbar.enabled-domains introduite dans Firefox 155. Firefox agit toujours sur les règles ::-webkit-scrollbar sur ces sites, mais il ne signale plus le pseudo-élément comme pris en charge. Les sites utilisent cette vérification comme un signal que toute la famille ::-webkit-scrollbar-* est prise en charge, mais Firefox ne prend pas en charge les autres pseudo-éléments de cette famille. Les sites qui protègent leurs styles de barre de défilement standard derrière @supports not (selector(::-webkit-scrollbar)) voient désormais ces styles appliqués dans Firefox. (bogue Firefox 2062782 (angl.)).
  • Les propriétés text-box-trim et text-box-edge sont désormais correctement appliquées dans plusieurs cas qui produisaient auparavant un résultat incorrect : le rognage utilise les métriques de police du pseudo-élément ::first-line lorsqu'on l'applique (bogue Firefox 2063835 (angl.)), la ligne correcte est rognée lorsqu'une boîte en incise sur la dernière ligne est fragmentée (bogue Firefox 2063909 (angl.)), et le rognage sur une boîte en incise ne supprime plus sa bordure et son remplissage (bogue Firefox 2064596 (angl.)). Notez que text-box-trim n'a toujours aucun effet en combinaison avec line-clamp.
  • @supports ne signale plus la prise en charge du pseudo-élément ::-webkit-scrollbar, donc @supports selector(::-webkit-scrollbar) retourne désormais false. Les sites utilisant couramment cela comme un signal que ::-webkit-scrollbar-thumb peut être mis en forme, ce que Firefox n'implémente pas, donc prétendre la prise en charge conduit à un style pire que de signaler l'absence de support. Utilisez plutôt scrollbar-width et scrollbar-color. (bogue Firefox 2062782 (angl.)).

JavaScript

  • Promise.try() résout désormais la valeur retournée par sa fonction de rappel en utilisant PromiseResolve, donc une promesse retournée par la fonction de rappel est transmise telle quelle plutôt que d'être enveloppée dans une nouvelle promesse. Promise.try(() => p) est désormais la même promesse que p lorsque p est une promesse native. Cela suit un changement normatif de la spécification. (bogue Firefox 2062293 (angl.)).
  • Les déclarations using ne peuvent plus être réaffectées, conformément à la sémantique de type const requise par la spécification. Auparavant, une telle liaison pouvait être modifiée silencieusement. (bogue Firefox 2040286 (angl.)).

Sécurité

  • Les groupes Diffie-Hellman à champ fini ffdhe2048 et ffdhe3072 ne sont plus proposés par défaut dans les négociations TLS. Les serveurs qui ne prennent en charge que ces groupes échouent à négocier une connexion ; presque tous les serveurs prennent en charge l'échange de clés ECDHE à la place. (bogue Firefox 1992340 (angl.)).

APIs

  • SubtleCrypto.deriveBits() lèse désormais une TypeError si le paramètre length passé est NaN, Infinity, négatif ou supérieur à 232−1. Auparavant, ces valeurs étaient soit acceptées, soit la promesse retournée était rejetée avec une OperationError. (bogue Firefox 2065212 (angl.)).
  • Scheduler.yield() hérite désormais de la priorité et du signal d'abandon de la tâche englobante lors d'un await qui se résout de manière synchrone, comme une promesse déjà complétée, une valeur non promesse ou un rappel then() sur une promesse acquittée. Auparavant, la continuation perdait l'état hérité dans ces cas et revenait silencieusement à la priorité par défaut user-visible.

DOM

Média, WebRTC et Web Audio

Conformité WebDriver (WebDriver BiDi, Marionette)

Général

  • Marionette et RemoteAgent utilisent désormais tous deux un code de sortie personnalisé (69) lorsque leur serveur ne parvient pas à démarrer. (bogue Firefox 2040974 (angl.)).
  • Amélioration du minutage des évènements intermédiaires pour les actions d'une durée supérieure à 0, afin de se rapprocher d'un intervalle de 16ms et d'éviter d'influer sur la durée globale même si le processus de contenu est surchargé. (bogue Firefox 2054442 (angl.)).

WebDriver BiDi

  • browsingContext.startScreencast utilise désormais un dossier de téléchargement valide et ne doit plus générer d'erreur si le dossier de téléchargement par défaut (DfltDwnld) n'est pas disponible. (bogue Firefox 2066782 (angl.)).
  • Correction du module spécifique à Mozilla moz:debugging pour gérer correctement les pauses imbriquées. (bogue Firefox 2060460 (angl.)).

Marionette

  • La commande WebDriver:GetElementTagName a été mise à jour pour correspondre aux derniers changements de spécification (angl.) et retourne désormais le nom qualifié complet de l'élément DOM. Cette commande retournait auparavant toujours la valeur en minuscules. En pratique, ce changement est rétrocompatible pour les éléments HTML, mais il constitue un changement non rétrocompatible pour les éléments ayant un nom qualifié sensible à la casse, comme les éléments SVG. (bogue Firefox 2026697 (angl.)).

Changements pour les développeur·euse·s d'extensions

  • La clé de manifeste theme ajoute la propriété backgrounds_area. Cette propriété permet à un thème de définir où ses images et dégradés d'arrière-plan sont dessinés. La définir sur "window" les dessine sur toute la fenêtre du navigateur, tandis que "top_toolbars" les limite aux barres d'outils horizontales en haut de la fenêtre. Lorsque backgrounds_area est omis ou défini sur "auto", Firefox choisit la zone en fonction de properties.additional_backgrounds_alignment. (bogue Firefox 2059526 (angl.))

Fonctionnalités web expérimentales

Ces fonctionnalités sont disponibles dans Firefox 156 mais sont désactivées par défaut. Pour les tester, recherchez la préférence appropriée dans la page about:config et définissez-la sur true. Vous pouvez en trouver d'autres sur la page Fonctionnalités expérimentales.

  • Registres d'éléments personnalisés à portée limitée (Nightly) : dom.scoped-custom-element-registries.enabled

    Les registres d'éléments personnalisés à portée limitée sont désormais pris en charge, de sorte qu'une racine d'ombre peut définir des éléments personnalisés qui ne sont pas en conflit avec ceux définis dans le registre global. Cette version active la fonctionnalité par défaut dans les versions Nightly. (bogue Firefox 2064333 (angl.)).

  • Requêtes de support de named-feature() : layout.css.supports.at-rule.enabled

    La fonction named-feature() dans la règle conditionnelle @supports permet de tester si le navigateur prend en charge une fonctionnalité qui n'a pas d'autre syntaxe détectable, par exemple @supports named-feature(anchor-position-follows-transforms). (bogue Firefox 2042977 (angl.) et bogue Firefox 2055354 (angl.)).

  • L'API Container Timing : dom.enable_container_timing

    L'API Container Timing signale quand le contenu d'un élément conteneur est peint, ce qui vous permet de mesurer le temps de rendu d'une région de la page plutôt que de l'ensemble du viewport. (bogue Firefox 1940240 (angl.)).

  • Éléments MathML <a> : mathml.a.element.enabled

    L'élément MathML <a> crée un lien hypertexte à partir du contenu MathML, exposant l'interface MathMLAnchorElement avec les mêmes propriétés de composant d'URL que les éléments HTML <a>. Cette version ajoute la prise en charge des attributs IDL rel et relList. (bogue Firefox 2063819 (angl.)).