Chrome y Firefox pronto llegarán a la versión principal 100

Cambios en la cadena de usuario-agente, qué estrategias están adoptando Chrome y Firefox para mitigar el impacto y cómo puedes ayudar

Chrome y Firefox alcanzará la versión 100 en un par de meses. Esto puede causar fallas en sitios que dependen de identificar la versión del navegador para llevar a cabo la lógica empresarial. Esta publicación abarca la cronología de eventos, las estrategias que usan Chrome y Firefox para mitigar el impacto y cómo puedes ayudar.

String del usuario-agente

El usuario-agente (UA) es una cadena que los navegadores envían en encabezados HTTP, para que los servidores puedan identificar el navegador. También se puede acceder a la cadena a través de JavaScript con navigator.userAgent Por lo general, tiene el siguiente formato:

<browser_name>/<major_version>.<minor_version>

Por ejemplo, las versiones más recientes de los navegadores en el momento de la publicación esta publicación son:

  • 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

Versión principal 100: Número de versión de tres dígitos

La versión principal 100 es un gran hito para Chrome y Firefox. También cuenta con la posibilidad de provocar fallas en los sitios web cuando pasamos de los dos dígitos a número de versión de tres dígitos. Los desarrolladores web utilizan todo tipo de técnicas para que analizan estas cadenas, desde el código personalizado hasta el uso de bibliotecas de análisis de usuario-agente que luego puede usarse para determinar la lógica de procesamiento correspondiente. El El usuario-agente y cualquier otro mecanismo de generación de informes de versiones pronto informarán un número de versión de tres dígitos.

Cronogramas de la versión 100

La versión 100 se lanzará por primera vez en las versiones experimentales (Chrome Canary, Firefox Nightly), luego versiones beta y, por último, la versión estable canal.

Navegador Cronograma
Chrome (versión cronograma). 29 de marzo de 2022
Firefox (versión cronograma). 3 de mayo de 2022

¿Por qué un número de versión de tres dígitos puede ser problemático?

Cuando los navegadores llegaron a la versión 10 hace un poco más de 12 años, se descubrieron muchos problemas y el usuario-agente analizaba las bibliotecas, ya que el número de versión principal pasó de uno dígito en dos.

Sin una sola especificación que seguir, los diferentes navegadores tienen formatos distintos para la cadena de usuario-agente y el análisis de usuario-agente específico del sitio. Es es posible que algunas bibliotecas de análisis tengan suposiciones o errores hard-coded que no tengan en cuenta números de versión principal de tres dígitos. Muchas bibliotecas mejoró la lógica de análisis cuando los navegadores cambiaron a números de versión de dos dígitos, por lo que se espera que alcanzar el hito de tres dígitos ocasione menos problemas. Miguel Tamara, un ingeniero del equipo de Chrome, hizo una encuesta sobre análisis comunes de UA bibliotecas que no revelaron ningún problema. Si ejecutas experimentos de Chrome en la surgieron algunos problemas, en los que estamos trabajando.

¿Qué están haciendo los navegadores al respecto?

Tanto Firefox como Chrome han ejecutado experimentos en los que las versiones actuales de el navegador informe con la versión principal 100 para detectar posibles la falla del sitio web. Esto generó algunos problemas informados, algunos de los cuales ya han sido corregidos. Estos experimentos seguirán ejecutándose hasta el lanzamiento de la versión 100.

También existen estrategias de mitigación de copias de seguridad vigentes, en caso de que la versión 100 si se lanzan a canales estables causan más daño de lo previsto en los sitios web.

Mitigación de Chrome

En Chrome, el plan de copias de seguridad es utilizar una marca para inmovilizar la versión principal en 99. e informar el número de versión principal real en la parte de la versión secundaria de la La cadena usuario-agente (el código ya aterrizó).

La versión de Chrome que se informa en la cadena de usuario-agente sigue el patrón <major_version>.<minor_version>.<build_number>.<patch_number>

Si se emplea el plan de copia de seguridad, la cadena usuario-agente sería similar a lo siguiente: esto:

99.101.4988.0

Chrome también ejecuta experimentos para garantizar que se informe un valor de tres dígitos en la parte de la versión secundaria de la cadena no se produce ninguna falla, ya que el versión secundaria en la cadena de usuario-agente de Chrome informó que era 0 durante un período muy extenso tiempo. El equipo de Chrome decidirá si recurrirá a la opción de copia de seguridad según la cantidad y gravedad de los problemas informados.

Mitigación de Firefox

En Firefox, la estrategia dependerá de la importancia de la falla. Firefox tiene un mecanismo de intervención del sitio. El equipo de Mozilla webcompat puede corregir en caliente los sitios web que no funcionan en Firefox mediante esta de atención. Si escribes about:compat en la barra de URL de Firefox, puedes ver qué se está corrigiendo. Si un sitio falla cuando la versión principal es 100 en una dominio específico, puedes corregirlo enviando la versión 99.

Si la rotura es generalizada, es posible congelar la versión principal. de la fila. Existen diferentes estrategias posibles, cada una de ellas con su pros y contras. Mozilla puede enviar el número de versión real como una versión secundaria número, inmovilizar la cadena completamente tal como está o enviar el número de versión real a través de otros parámetros.

Toda estrategia que agrega complejidad a la cadena de usuario-agente tiene un impacto en el ecosistema. Trabajemos juntos para evitar un problema el comportamiento de los usuarios.

¿Qué puedes hacer para ayudar?

En las noches de Chrome y Firefox, puedes configurar el navegador para que informe el como 100 en este momento e informa cualquier problema que encuentres.

Configura Chrome para que informe la versión principal como 100

  1. Ve a chrome://flags/#force-major-version-to-100.
  2. Establece la opción en Enabled.

Configurar Firefox Nightly para informar que la versión principal es 100

  1. Abre el menú de configuración de Firefox Nightly.
  2. Buscar "Firefox 100" y, a continuación, marca el parámetro "Usuario-agente de Firefox 100 Cadena" de 12 a 1 con la nueva opción de compresión.

Probar y archivar informes

  • Si eres responsable del mantenimiento de sitios web, prueba tu sitio web con Chrome y Firefox 100. Revisar las bibliotecas y el código de análisis de usuario-agente y asegurarse de que pueden manejar números de versión de tres dígitos. Tenemos recopiló algunos de los patrones que están en incumplimiento actualmente.
  • Si desarrollas una biblioteca de análisis de usuario-agente, agrega pruebas para analizarlas. versiones superiores o iguales a 100. Nuestras primeras pruebas muestran que los versiones de bibliotecas puedan manejarlo correctamente. Sin embargo, la Web tiene un largo legado, Si tienes versiones antiguas de análisis de bibliotecas, para verificar que no haya problemas y, luego, actualizarlas.
  • Si estás navegando en la Web y notas que hay algún problema con las principales versión 100, presenta una denuncia en webcompat.com.