Chrome e Firefox em breve para alcançar a versão principal 100

Mudanças na string do user agent, as estratégias que o Chrome e o Firefox estão usando para reduzir o impacto e como você pode ajudar.

Google Chrome e Firefox vai chegar à versão 100 em alguns meses. Isso pode causar falhas em sites que precisam identificar a versão do navegador para realizar a lógica de negócios. Esta postagem aborda a linha do tempo dos eventos, as estratégias usadas pelo Chrome e o Firefox tomar para reduzir o impacto e como você pode ajudar.

O user agent (UA) é uma string que os navegadores enviam em cabeçalhos HTTP para que os servidores identificar o navegador. A string também pode ser acessada por meio de JavaScript com navigator.userAgent Geralmente, ele é formatado da seguinte forma:

<browser_name>/<major_version>.<minor_version>

Por exemplo, as versões mais recentes de navegadores no momento da publicação nesta postagem são:

  • Google 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

Versão principal 100: número da versão de três dígitos

A versão principal 100 é um grande marco para o Chrome e o Firefox. Ele também tem o potencial de causar falha em sites à medida que mudamos de um modelo de dois dígitos Número da versão de três dígitos. Os desenvolvedores Web usam todos os tipos de técnicas para analisar essas strings, do código personalizado ao uso de bibliotecas de análise do user agent que pode ser usado para determinar a lógica de processamento correspondente. A Em breve, o user agent e todos os outros mecanismos de denúncia informarão um e o número da versão de três dígitos.

Cronogramas da versão 100

A versão 100 dos navegadores será lançada primeiro em versões experimentais (Chrome Canary, Firefox Nightly), versões beta e, por fim, na versão estável canal.

Navegador Cronograma
Google Chrome (versão programação) 29 de março de 2022
Firefox (versão programação) 3 de maio de 2022

Por que um número de versão de três dígitos pode ser um problema?

Quando os navegadores atingiram a versão 10, há pouco mais de 12 anos, muitos problemas foram descobertos com bibliotecas de análise do user agent, já que o número da versão principal passou de um número dois.

Sem uma especificação única para seguir, diferentes navegadores têm diferentes formatos para a string do user agent e a análise do user agent específica do site. Está é possível que algumas bibliotecas de análise tenham suposições codificadas ou bugs que não levam em conta os números de três dígitos da versão principal. Muitas bibliotecas melhorou a lógica de análise quando os navegadores migraram para números de versão de dois dígitos. alcançar o marco de três dígitos deve causar menos problemas. Marcos Taís, um engenheiro da equipe do Chrome fez uma pesquisa de análises comuns do UA, bibliotecas que não detectaram problemas. A realização de experimentos do Chrome revelou alguns problemas em que estamos trabalhando.

O que os navegadores estão fazendo sobre isso?

O Firefox e o Chrome têm realizado experiências nos quais as versões atuais do do navegador informar que a versão principal é 100, a fim de detectar possíveis de falhas do site. Isso gerou alguns problemas informados, e alguns deles já foram corrigidos. Esses experimentos continuarão em execução até o lançamento da versão 100.

Há também estratégias de mitigação de backup, caso a versão 100 para canais estáveis causa mais danos aos sites do que o previsto.

Mitigação do Chrome

No Chrome, o plano de backup é usar uma flag para congelar a versão principal em 99 e informar o número real da versão principal na parte da versão secundária do String do user agent (o código já landed).

A versão do Chrome, conforme informado na string do user agent, segue o padrão <major_version>.<minor_version>.<build_number>.<patch_number>:

Se o plano de backup fosse empregado, a string do user agent seria assim: isso:

99.101.4988.0

O Chrome também está fazendo experimentos para garantir que o relatório de um valor de três dígitos na parte da versão secundária da string não resulta em quebra, já que o a versão secundária na string do user agent do Chrome informou o valor "0" há muito tempo tempo de resposta. A equipe do Chrome decidirá se utilizará a opção de backup com base no número e na gravidade dos problemas relatados.

Mitigação do Firefox

No Firefox, a estratégia dependerá da importância da falha. Firefox tem um mecanismo de intervenção do site. A equipe do Mozilla webcompatibilidade pode consertar sites corrompidos no Firefox usando este mecanismo de atenção. Se você digitar about:compat na barra de URL do Firefox, poderá ver está sendo corrigido. Se um site quebrar com a versão principal 100 em um domínio específico, é possível corrigi-lo enviando a versão 99.

Se a falha for generalizada, é possível congelar a versão principal número Há várias estratégias possíveis, cada uma com suas prós e contras. O Mozilla pode enviar o número da versão real como uma versão secundária congelar a string totalmente como está ou enviar o número de versão real usando outros parâmetros.

Toda estratégia que aumenta a complexidade da string do user agent no ecossistema. Vamos trabalhar juntos para evitar mais um do seu modelo.

O que você pode fazer para ajudar?

No Chrome e no Firefox à noite, você pode configurar o navegador para relatar o versão 100 no momento e relate quaisquer problemas que encontrar.

Configurar o Chrome para informar a versão principal como 100

  1. Acesse chrome://flags/#force-major-version-to-100.
  2. Defina a opção como Enabled.

Configurar o Firefox Nightly para informar a versão principal como 100

  1. Abra o menu Configurações do Firefox Nightly.
  2. Pesquise "Firefox 100" e marque a caixa de seleção "Firefox 100 User-Agent String" é a melhor opção.

Testar e arquivar relatórios

  • Se você é mantenedor de sites, teste seu site com o Chrome. e Firefox 100. revise o código de análise e as bibliotecas do user agent; garantir que seja capaz de lidar com números de versão de três dígitos. Temos compilou algumas das que estão corrompendo padrões.
  • Se você desenvolver uma biblioteca de análise do user agent, adicione testes para analisar versões maiores e iguais a 100. Nossos testes iniciais mostram que e outras versões de bibliotecas podem lidar com isso corretamente. No entanto, o legado da Web é longo, Se você tem versões antigas de bibliotecas de análise, para verificar se há problemas e fazer o upgrade.
  • Se você estiver navegando na Web e perceber algum problema com as principais versão 100, enviar um relatório em webcompatibilidade.com.