Versão 100 no Chrome e Firefox
Chrome e Firefox chegarão à versão 100 em alguns meses. Isso tem o potencial de causar quebra em sites que dependem da identificação da versão do navegador para executar a lógica de negócios. Este post abrange a linha do tempo dos eventos, as estratégias que o Chrome e o Firefox estão tomando para mitigar o impacto e como você pode ajudar.
String usuário-agente
User-Agent (UA) é uma sequência que os navegadores enviam em cabeçalhos HTTP, para que os servidores possam identificar o navegador. A sequência também é acessível através do JavaScript com navigator.userAgent. Geralmente é formatado da seguinte forma:
browserName/majorVersion.minorVersion
Por exemplo, as versões de versão mais recentes dos navegadores no momento da publicação deste post são:
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 de versão de três dígitos
A versão principal 100 é um grande marco tanto para o Chrome quanto para o Firefox. Ele também tem o potencial de causar quebra em sites à medida que passamos de um número de versão de dois dígitos para um número de versão de três dígitos. Os desenvolvedores web usam todos os tipos de técnicas para analisar essas strings, desde o código personalizado até o uso de bibliotecas de análise de agente de usuário, que podem ser usadas para determinar a lógica de processamento correspondente. O Usuário-Agente e qualquer outro mecanismo de relatório de versão informará em breve um número de versão de três dígitos.
Linha do tempo da versão 100
Os navegadores da versão 100 serão lançados primeiro em versões experimentais (Chrome Canary, Firefox Nightly), depois versões beta e, finalmente, no canal estável.
Chrome (Cronograma de Lançamento) | 29 de março de 2022 |
Firefox (Cronograma de Lançamento) | 3 de maio de 2022 |
Por que um número de versão de três dígitos pode ser problemático?
Quando os navegadores chegaram à versão 10 há pouco mais de 12 anos, muitos problemas foram descobertos com bibliotecas de análise de Usuário-Agente, pois o número principal da versão passou de um dígito para dois.
Sem uma única especificação a seguir, diferentes navegadores têm formatos diferentes para a sequência Usuário-Agente e análise de Usuário-Agente específico do site. É possível que algumas bibliotecas de análise possam ter suposições ou bugs codificados que não levem em conta os números de versão principais de três dígitos. Muitas bibliotecas melhoraram a lógica de análise quando os navegadores se mudaram para números de versão de dois dígitos, então, atingindo o marco de três dígitos, espera-se que cause menos problemas. Mike Taylor, engenheiro da equipe do Chrome, fez uma pesquisa com bibliotecas comuns de análise da UA que não descobriram nenhum problema. A execução de experimentos do Chrome no campo veio à tona alguns problemas, que estão sendo trabalhados.
O que os navegadores estão fazendo sobre isso?
Tanto o Firefox quanto o Chrome têm realizado experimentos onde as versões atuais do relatório do navegador estão na versão principal 100, a fim de detectar possíveis quebras de site. Isso levou a alguns problemas relatados, alguns dos quais já foram corrigidos. Esses experimentos continuarão a ser executados até o lançamento da versão 100.
Há também estratégias de mitigação de backup em vigor, caso a versão 100 da versão 100 para canais estáveis cause mais danos aos sites do que o previsto.
Mitigação do Firefox
No Firefox, a estratégia vai depender da importância da quebra. O Firefox tem um mecanismo de intervenções no local. A equipe webcompat da Mozilla pode corrigir sites quebrados no Firefox usando este mecanismo. Se você digitar na barra de URL do Firefox, você poderá ver o que está sendo corrigido no momento. Se um site quebrar com a versão principal sendo 100 em um domínio específico, é possível corrigi-lo enviando a versão 99 em vez disso.about:compat
Se a quebra for generalizada e as intervenções individuais do local se tornarem incontroláveis, a Mozilla pode congelar temporariamente a versão principal do Firefox em 99 e, em seguida, testar outras opções.
Mitigação do cromo
No Chrome, o plano de backup é usar um sinalizador para congelar a versão principal em 99 e informar o número real da versão principal na parte de versão menor da string Usuário-Agente (o código já pousou).
A versão do Chrome, conforme relatado na sequência Usuário-Agente, segue o padrão <major_version>.<minor_version>.<build_number>.<patch_number>.
Se o plano de backup for empregado, então a sequência Usuário-Agente seria assim:
99.101.4988.0
O Chrome também está executando experimentos para garantir que reportar um valor de três dígitos na parte da versão menor da string não resulte em quebra, uma vez que a versão menor na sequência Usuário-Agente do Chrome reportou 0 por muito tempo. A equipe do Chrome decidirá se recorrerá à opção de backup com base no número e gravidade dos problemas relatados.
O que você pode fazer para ajudar?
Toda estratégia que adiciona complexidade à cadeia usuário-agente tem um forte impacto no ecossistema. Vamos trabalhar juntos para evitar outro comportamento peculiar. No Chrome e firefox nightly, você pode configurar o navegador para relatar a versão como 100 agora e relatar quaisquer problemas que você encontrar.
Configure o Firefox Nightly para relatar a versão principal como 100
- Abra o menu Configurações do Firefox Nightly.
- Procure por "Firefox 100" e, em seguida, verifique a opção "Firefox 100 User-Agent String".
Configure o Chrome para relatar a versão principal como 100
- Vá para chrome://flags/#force-major-version-to-100
- Defina a opção como 'Habilitada'.
Relatórios de teste e arquivos
- Se você é um mantenedor de site, teste seu site com Chrome e Firefox 100. Revise o código de análise do Usuário-Agente e as bibliotecas e certifique-se de que eles sejam capazes de lidar com números de versão de três dígitos. Nós compilamos alguns dos padrões que estão atualmente quebrando.
- Se você desenvolver uma biblioteca de análise usuário-agente, adicione testes para analisar versões maiores do que e iguais a 100. Nossos primeiros testes mostram que versões recentes de bibliotecas podem lidar com isso corretamente. Mas a Web é uma máquina herdante, então se você tem versões antigas de bibliotecas de análise, provavelmente é hora de verificar e eventualmente atualizar.
- Se você estiver navegando na web e notar quaisquer problemas com a versão principal 100,
Comentários
Postar um comentário