Chrome et Firefox vont bientôt atteindre la version majeure 100

Les modifications de la chaîne user-agent, les stratégies adoptées par Chrome et Firefox pour atténuer l'impact et comment vous pouvez l'aider.

Chrome et Firefox atteindra la version 100 dans quelques mois. Cela peut causer des dysfonctionnements sur les sites qui s'appuient sur l'identification de la version du navigateur pour exécuter la logique métier. Cet article présente la chronologie des événements, les stratégies adoptées par Chrome et Firefox suivre pour atténuer l'impact et comment vous pouvez aider.

Chaîne user-agent

Le user-agent (UA) est une chaîne que les navigateurs envoient dans les en-têtes HTTP afin que les serveurs puissent identifier le navigateur. La chaîne est également accessible via JavaScript avec navigator.userAgent Son format est généralement le suivant:

<browser_name>/<major_version>.<minor_version>

Par exemple, la dernière version des navigateurs au moment de la publication ce message sont:

  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
  • Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15

Version majeure 100 : numéro de version à trois chiffres

La version 100 majeure représente une étape importante pour Chrome et Firefox. Il contient également le risque de casser les sites Web lorsque nous passons d'un modèle à deux chiffres numéro de version à trois chiffres. Les développeurs Web utilisent toutes sortes de techniques pour analyser ces chaînes, du code personnalisé à l'utilisation de bibliothèques d'analyse user-agent, qui peut ensuite servir à déterminer la logique de traitement correspondante. La L'user-agent et tout autre mécanisme de création de rapports de version signaleront bientôt une le numéro de version à trois chiffres.

Chronologie de la version 100

Les navigateurs de la version 100 seront d'abord lancés dans des versions expérimentales (Chrome Canary ou Firefox (Nuit), les versions bêta, et enfin la version stable. canal.

Navigateur Chronologie
Chrome (version programmation) 29 mars 2022
Firefox (version programmation) 3 mai 2022

Pourquoi un numéro de version à trois chiffres peut-il poser problème ?

Lorsque les navigateurs ont atteint la première version 10 il y a un peu plus de 12 ans, de nombreux problèmes ont été détectés avec des bibliothèques d'analyse user-agent, car le numéro de version majeure est passé de 1 chiffre à deux.

Sans une seule spécification à suivre, différents navigateurs ont des formats différents pour la chaîne user-agent et l'analyse user-agent spécifique au site. Il est il est possible que certaines bibliothèques d'analyse contiennent des hypothèses ou des bugs codés en dur qui ne prennent pas en compte les numéros de version majeure à trois chiffres. Nombreuses bibliothèques amélioré la logique d'analyse lorsque les navigateurs sont passés à des numéros de version à deux chiffres ; atteindre le jalon à trois chiffres devrait causer moins de problèmes. Mickaël Taylor, ingénieur de l'équipe Chrome, a mené une enquête sur les analyses UA courantes bibliothèques qui n'ont détecté aucun problème. Exécution de tests Chrome dans la a révélé des problèmes qui sont en cours de résolution.

Que font les navigateurs à ce sujet ?

Dans Firefox et Chrome, des tests ont été réalisés dans les versions actuelles de la version majeure 100 du navigateur, afin de détecter d'éventuelles une panne de site Web. Cela a entraîné quelques problèmes signalés, dont certaines ont déjà été corrigées. Ces tests se poursuivront jusqu'à la publication de la version 100.

Des stratégies d'atténuation des risques de sauvegarde sont également en place, au cas où la version 100 la publication sur des versions stables cause plus de dommages aux sites Web que prévu.

Mesures d'atténuation de Chrome

Dans Chrome, le plan de sauvegarde consiste à utiliser un indicateur pour figer la version majeure à 99 et indiquer le numéro de la version majeure réelle dans la partie mineure du fichier la chaîne user-agent (le code a déjà atterri).

La version de Chrome indiquée dans la chaîne user-agent suit le format <major_version>.<minor_version>.<build_number>.<patch_number>

Si le plan de secours est utilisé, la chaîne user-agent ressemblera à ceci : ceci:

99.101.4988.0

Chrome effectue également des tests pour s'assurer que les rapports sur les valeurs à trois chiffres dans la partie "version mineure" de la chaîne n'entraîne pas de défaillance, car le version mineure dans la chaîne user-agent Chrome signale 0 depuis très longtemps. en temps réel. L'équipe Chrome décidera de recourir ou non à l'option de sauvegarde. en fonction du nombre et de la gravité des problèmes signalés.

Mesures d'atténuation de Firefox

Dans Firefox, la stratégie dépendra de l'importance de la défaillance. Firefox comporte un mécanisme d'intervention sur site. L'équipe Mozilla webcompat peut corriger à chaud les sites Web qui ne fonctionnent pas dans Firefox à l'aide de cette sur le mécanisme d'attention. Si vous saisissez about:compat dans la barre d'adresse de Firefox, vous pouvez voir est en cours de résolution. Si un site ne fonctionne plus avec la version majeure 100 domaine spécifique, il est possible de résoudre le problème en envoyant la version 99 à la place.

Si la défaillance est généralisée, il est possible de figer la version majeure numéro. Différentes stratégies sont alors possibles, chacune avec son avantages et inconvénients. Mozilla peut envoyer le numéro de version réelle en tant que version mineure figer la chaîne telle quelle ou envoyer le numéro de version réel via d'autres paramètres.

Chaque stratégie qui ajoute de la complexité à la chaîne user-agent possède un sur l'écosystème. Travaillons ensemble pour éviter une nouvelle comportemental.

Que pouvez-vous faire pour l'aider ?

Dans Chrome et Firefox Nightly, vous pouvez configurer le navigateur pour qu'il signale le la version 100 et signaler tout problème que vous rencontrez.

Configurez Chrome de sorte que la version principale soit signalée comme étant 100.

  1. Accédez à chrome://flags/#force-major-version-to-100.
  2. Définissez l'option sur Enabled.

Configurez Firefox Nightly de manière à indiquer la version 100 comme version majeure.

  1. Ouvrez le menu "Paramètres" de Firefox.
  2. Recherchez "Firefox 100" puis cochez la case "Firefox 100 User-Agent" Chaîne" .

Tester et enregistrer des rapports

  • Si vous gérez un site Web, testez votre site Web avec Chrome et Firefox 100. Examiner votre user-agent lors de l'analyse du code et des bibliothèques s'assurer qu'il est capable de gérer les numéros de version à trois chiffres. Nous avons compilé certaines des qui posent problème actuellement.
  • Si vous développez une bibliothèque d'analyse user-agent, ajoutez des tests à analyser versions supérieures et égales à 100. Nos premiers tests montrent que les de bibliothèques peuvent le gérer correctement. Cependant, le Web a longueur en héritage, Si vous avez d'anciennes versions des bibliothèques d'analyse, de vérifier les problèmes et finalement de procéder à une mise à niveau.
  • Si vous naviguez sur le Web et que vous remarquez des problèmes avec les principaux la version 100, signaler le problème sur webcompat.com.