A Mozilla disponibilizou oficialmente a versão estável do Firefox 155 em 1º de setembro de 2026. A nova atualização representa um marco importante para engenheiros de software e desenvolvedores de interface, introduzindo recursos aguardados nas especificações de CSS moderno, métodos estáticos de controle de promessas em JavaScript, aprimoramentos significativos nas DevTools e a implementação de protocolos de rede de nova geração.

Todas as alterações documentadas nas notas oficiais do MDN Web Docs refletem o compromisso contínuo com os padrões abertos da web, agregando mais poder ao código nativo do navegador e reduzindo a dependência de scripts auxiliares complexos no dia a dia da programação.

Ferramentas de desenvolvedor com painel de emulação e JSON Lines

O conjunto de ferramentas do Firefox DevTools recebeu melhorias diretas na usabilidade e inspeção de dados:

  • Painel dedicado de emulação de mídia: Os botões de emulação na visualização de regras (Rules view) do inspetor de páginas foram agrupados em um painel exclusivo, acessado diretamente através do novo botão @. Além de simplificar a interface, o painel adiciona suporte para emular o recurso de mídia prefers-reduced-motion, facilitando a validação de acessibilidade e redução de movimento em animações.
  • Visualizador nativo de JSON Lines (NDJSON): O JSON Viewer integrado agora abre documentos no formato JSON Lines. O navegador reconhece automaticamente arquivos com extensão .jsonl ou servidos com os tipos MIME application/jsonlines, application/x-ndjson e text/jsonl. Cada linha é processada individualmente em blocos expansíveis identificados pelo número da linha original, e linhas corrompidas têm o erro reportado inline sem impedir a leitura do restante do arquivo.
  • Atalho de teclado no Debugger: Foi incorporado um novo atalho de teclado para desativar e reativar breakpoints de maneira instantânea durante sessões de depuração de código.

Evolução no CSS: função attr() universal, progress() e alpha()

O motor de renderização visual do Firefox 155 avança com novas funções matemáticas e de manipulação de estilo declarativo:

  • Função attr() universal: Anteriormente limitada à propriedade content de pseudo-elementos, a função attr() agora pode ser aplicada em qualquer propriedade CSS. É possível conduzir estilos diretamente a partir de atributos HTML (como em width: attr(data-size px)) dispensando código JavaScript. A implementação suporta unidades tipadas (como px e s), valores de fallback, namespaces e pode ser utilizada dentro de consultas de estilo de contêiner (container style queries).
  • Função matemática progress(): O suporte à função progress() permite obter um valor numérico proporcional ao progresso entre um ponto inicial e um ponto final. O resultado numérico pode ser combinado diretamente em expressões de cálculo, como opacity: calc(0.4 + progress(100cqw, 300px, 900px) * 0.6).
  • Função de transparência alpha(): Permite ajustar dinamicamente o canal alfa de uma cor mantendo seus outros componentes visuais inalterados. É possível referenciar o canal original através da palavra-chave relativa, como em alpha(from var(--brand) / calc(alpha * 0.5)).
  • Renomeação da propriedade font-width: Em conformidade com as diretrizes atualizadas da especificação, o navegador passa a suportar oficialmente a propriedade font-width e o descritor @font-face correspondente. O antigo identificador font-stretch continua funcional como um alias de compatibilidade legado.

JavaScript e módulos: Promise com chaves e resiliência de cache

No ambiente de execução de scripts, duas novidades centrais aprimoram a robustez dos fluxos assíncronos e do carregamento modular:

  • Métodos estáticos Promise.allKeyed() e Promise.allSettledKeyed(): Definidos na proposta TC39 await dictionary, esses métodos funcionam de modo análogo a Promise.all() e Promise.allSettled(), mas recebem como argumento um objeto de promessas em vez de uma estrutura iterável. Os métodos cumprem o resultado em um objeto preservando exatamente as mesmas chaves, permitindo ler valores diretamente pelo nome em vez de depender de posições numéricas em arrays.
  • Recuperação de falhas em módulos: Módulos que falham ao carregar por problemas temporários de rede ou incompatibilidade inicial de tipo MIME não são mais gravados permanentemente no cache interno de erros. Quando o servidor se estabiliza, tentativas subsequentes de importação podem ser concluídas com sucesso (aplicando-se a módulos JavaScript, JSON, CSS e texto). Adicionalmente, a tag <link rel="modulepreload"> passa a emitir o evento load para módulos já obtidos e continua executando scripts mesmo que uma checagem anterior de integridade de sub-recursos (SRI) tenha falhado.

Protocolos de rede: Happy Eyeballs v3 e QUIC v2

A camada de conectividade de rede do navegador foi aperfeiçoada para acelerar o estabelecimento de sessões e oferecer suporte a protocolos modernos:

  • Happy Eyeballs versão 3: Durante o processo de conexão, o navegador executa consultas simultâneas concorrentes entre endereços IPv6 e IPv4, impedindo que tentativas em famílias de endereços inacessíveis atrasem a abertura de páginas em plataformas suportadas.
  • Negociação de QUIC versão 2: Foi adicionada a negociação de versão do protocolo de transporte QUIC, viabilizando conexões sob HTTP/3 que negociem diretamente a especificação do QUIC v2.

Expansão de APIs: WebTransport, WebGPU e DOM

O ecossistema de APIs de alto desempenho e interface gráfica recebeu adições substanciais no Firefox 155:

  • WebTransport API: Ganhou suporte a grupos de envio (send groups) via WebTransport.createSendGroup() para balancear e priorizar streams de dados; o método exportKeyingMaterial() para derivar chaves criptográficas compartilhadas a partir da camada TLS (útil para detectar ataques de interceptação MITM); o método createWritable() com propriedades de ordenação para envio de datagramas; e a propriedade draining para gerenciar o encerramento gracioso de sessões solicitado pelo servidor.
  • WebGPU e dual-source blending: Em sistemas desktop, o método requestDevice() passa a suportar o recurso dual-source-blending com a extensão WGSL correspondente, habilitando fatores de mistura avançados na criação de pipelines de renderização gráfica.
  • Propriedades de URL em SVGAElement: A interface SVGAElement implementa o mixin HyperlinkElementUtils, expondo nos links SVG as propriedades canônicas de decomposição de URL (como protocol, hostname, pathname, search e origin) idênticas às âncoras HTML.
  • Setters indexados em listas SVG: As interfaces SVGNumberList, SVGPointList, SVGStringList e SVGTransformList agora aceitam modificações diretas através da sintaxe de colchetes (exemplo: transformList[0] = novoTransform), sem exigir chamadas imperativas a replaceItem().
  • Opções no método SVG getBBox(): O método passa a honrar argumentos de configuração (como fill, stroke, markers e clipped) para calcular caixas delimitadoras que considerem o traçado e recortes reais dos vetores.

WebAssembly: imports compactos e aritmética larga

O motor WebAssembly implementa duas propostas que diminuem o tamanho de binários e elevam a performance computacional:

  • Compact import section: Extensão binária que reduz consideravelmente o volume de metadados em módulos que realizam grande quantidade de importações de funções ou memórias externas.
  • Instruções de Wide Arithmetic: Adição das instruções i64.add128, i64.sub128, i64.mul_wide_s e i64.mul_wide_u, que processam operandos de 64 bits produzindo resultados diretos de 128 bits sem necessidade de emulação em software, otimizando bibliotecas criptográficas e rotinas matemáticas de precisão arbitrária.

Recursos experimentais no about:config

O Firefox 155 distribui em seu binário recursos de ponta que podem ser habilitados experimentalmente através da página de preferências about:config:

  • Scroll-driven animations: Habilitável através de layout.css.scroll-driven-animations.enabled, permitindo animações vinculadas ao progresso da barra de rolagem usando scroll-timeline e view-timeline.
  • CSS Typed Object Model: Ativado por layout.css.typed-om.enabled, expondo valores de estilo como objetos estruturados do JavaScript em vez de strings brutas.
  • Consultas at-rule() em @supports: Chave layout.css.supports.at-rule.enabled para verificar compatibilidade nativa de regras condicionais do CSS.
  • Audio Session API: Chave dom.audio_session.enabled para coordenar como o som do site interage com mídias externas reproduzidas no dispositivo.
  • Line-clamp sem prefixo: Chave layout.css.line-clamp.enabled para truncamento nativo de texto em múltiplas linhas com suporte a strings personalizadas e palavra-chave no-ellipsis.
  • Valor border-area em background-clip: Chave layout.css.background-clip.border-area.enabled para aplicar gradientes ou padrões diretamente na área da borda do elemento.

Ficha técnica do Firefox 155 para desenvolvedores

Especificações e resumo do lançamento
Software Mozilla Firefox
Versão 155 (Canal Estável)
Data de lançamento 1º de setembro de 2026
Destaques em CSS attr() universal, progress(), alpha(), font-width
Destaques em JavaScript Promise.allKeyed(), Promise.allSettledKeyed()
Conectividade e rede Happy Eyeballs v3, QUIC v2, WebTransport send groups
Gráficos e WebAssembly WebGPU dual-source blending, Wasm wide arithmetic (128-bit)
DevTools Painel de emulação @, visualizador nativo JSON Lines