A empresa Google lançou uma atualização do navegador web Chrome 139. Ao mesmo tempo, está disponível uma versão estável do projeto livre Chromium, que serve de base para o Chrome. O navegador Chrome se diferencia do Chromium pelo uso de logotipos do Google, pela presença de um sistema de envio de notificações em caso de falhas, módulos para reprodução de conteúdo de vídeo protegido contra cópia (DRM), um sistema de instalação automática de atualizações, habilitação contínua da isolação Sandbox, fornecimento de chaves para a Google API e transmissão de parâmetros RLZ durante a pesquisa. Para aqueles que precisam de mais tempo para atualizar, é suportada uma ramificação Extended Stable, que é mantida por 8 semanas. O próximo lançamento do Chrome 140 está agendado para 2 de setembro.
Principais mudanças no Chrome 139:
- Foi adicionada a possibilidade de usar um modelo de IA para gerar recomendações de pesquisa na barra de endereços e na página de abertura de nova aba. Para exibir essas recomendações da IA na barra de endereços, foi adicionada um botão "AI Mode", e na lista de recomendações, a saída da IA é marcada ou destacada em uma seção separada. Essa funcionalidade está até agora ativada por padrão apenas para um grupo de usuários.

- Em sistemas gerenciados de forma centralizada, foi ampliada a possibilidade de criar seus próprios atalhos de busca rápida através da barra de endereços (é possível criar um atalho "@nome" para buscar em um site específico). Na nova versão, foi adicionada uma configuração extra que permite ao usuário sobrepor, excluir ou desabilitar atalhos definidos pelo administrador.
- Na versão para Android, nos modos de proteção padrão e estendida, o Google Safe Browsing implementou a verificação de segurança para APKs baixados. A verificação é realizada através de consultas aos servidores do Google. Caso o arquivo seja considerado perigoso, o usuário recebe um aviso correspondente e o acesso ao arquivo é bloqueado (a interface oferece uma opção separada para acessar o arquivo, contornando o bloqueio).

- Foi removida a configuração ExtensionManifestV2Availability, que permitia restaurar o suporte à segunda versão do manifesto do Chrome, que define as capacidades e recursos disponíveis para extensões escritas com o uso da API WebExtensions. No navegador, agora é possível usar apenas extensões baseadas na terceira versão do manifesto.
- Nas versões oficiais e estáveis do Chrome, o suporte para as opções de linha de comando "—extensions-on-chrome-urls" e "—disable-extensions-except" foi descontinuado, permitindo que bloqueios de instalação de complementos arriscados, por exemplo, daqueles que são introduzidos no navegador sem o consentimento do usuário, fossem desligados. No Chromium e nas versões de teste do Chrome, o suporte para essas opções foi mantido.
- Na página de abertura de uma nova guia, foi implementada uma barra inferior que exibe informações sobre os complementos que afetam o conteúdo da nova guia, bem como informações sobre as políticas de gerenciamento centralizado aplicadas.

- Foi adicionada uma proteção contra a exclusão acidental de senhas salvas ao selecionar a operação de limpeza completa de dados. Quando há senhas salvas, o navegador agora direciona o usuário para a página do gerenciador de senhas, onde é possível excluir senhas e chaves passkey de maneira consciente e separada.

- A capacidade de reverter automaticamente para o uso do sistema de renderização software SwiftShader para WebGL foi desativada, que implementa programaticamente a API Vulkan. No caso da falta de um backend adequado baseado em GPU, a criação do contexto WebGL agora resultará em um erro, em vez de mudar para o SwiftShader. A descontinuação do uso do SwiftShader permitirá aumentar a segurança, eliminando a execução de código gerado por compilador JIT no processo responsável pela interação com a GPU. Em plataformas Linux e macOS, sistemas sem GPU não poderão mais usar WebGL. No Windows, o suporte ao SwiftShader foi mantido apenas para dispositivos sem GPU ou com GPUs problemáticas que foram blacklistadas.
- Na loja de certificados raiz embutida (Chrome Root Store), a confiança foi revogada para as autoridades certificadoras Chunghwa Telecom e Netlock devido a violações dos requisitos de autoridades certificadoras. Devido à falta de ações para corrigir as deficiências identificadas, os certificados TLS emitidos pela Chunghwa Telecom e Netlock após 31 de julho de 2025 agora são considerados não confiáveis no Chrome. Os certificados emitidos antes de 31 de julho continuam a ser tratados como normais.
- A API Web Speech agora suporta o reconhecimento de voz usando mecanismos disponíveis localmente no dispositivo. O site pode solicitar a disponibilidade de mecanismos de reconhecimento para a linguagem necessária, escolher entre serviços locais e em nuvem, solicitar a instalação dos recursos necessários para reconhecimento local e garantir que o reconhecimento será executado no dispositivo do usuário sem enviar dados para serviços externos.
- No CSS, além de definir o raio de curvatura utilizando a propriedade border-radius, foi implementada a propriedade 'corner-shape' para controlar a forma e a curvatura dos cantos de elementos retangulares. Por exemplo, com 'corner-shape' é possível fazer transições suaves de um quadrado para um círculo (squircle), cantos côncavos (scoop), cortar bisel (bevel) e fazer recortes (notch), bem como animar a mudança na forma dos cantos.
- Foi adicionada a suporte para a especificação Custom Functions, permitindo a criação de funções personalizadas para CSS, que funcionam de maneira semelhante às propriedades CSS parametrizadas. A diferença é que as propriedades CSS podem retornar apenas um único valor fixo, enquanto as funções CSS podem retornar valores baseados em outras propriedades CSS personalizadas, parâmetros e condições. Para definir funções CSS, foi adicionada a regra '@function'. @function —negative(—value) { result: calc(-1 * var(—value)); } @function —shadow(—shadow-color <color> : inherit) { result: 2px 2px var(—shadow-color, black); }
- Foi adicionada a propriedade CSS 'caret-animation', que permite controlar a animação de mudança do cursor em campos de entrada (por exemplo, o piscar do cursor pode ser substituído por uma animação personalizada).
- Com o objetivo de cumprir a especificação e melhorar a compatibilidade com outros navegadores, foi adicionada a propriedade CSS 'font-width', semelhante à propriedade anteriormente disponível 'font-stretch'.
- Ao bloquear o Service Worker devido à ativação de regras CSP (Content Security Policy), agora um evento 'error' é enviado de forma assíncrona, em vez de gerar uma exceção SecurityError imediatamente após a chamada do construtor 'new Worker(url)' ou 'new SharedWorker(url)'.
- Foi proporcionada a possibilidade de criar um único aplicativo web que funciona com vários domínios de nível superior ou diferentes subdomínios. Para configurar a vinculação a domínios no manifesto, existe um campo "scope_extensions". { "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ { "origin": "https://*.example.com" }, { "origin": "https://example.co.uk" }, { "origin": "https://*.example.co.uk" } ] }
- Foi implementada a definição de todos os tipos MIME corretos para dados JSON, conforme especificado pela WHATWG MIME Sniffing. Além dos tipos MIME tradicionais "application/json" e "text/json", adicionou-se o suporte a tipos MIME compostos, como "text/html+json" e "image/svg+json".
- No API Invoker Commands, foi adicionada a comando "request-close" para forçar o fechamento do diálogo baseado no elemento HTML
- No WebGPU, foi adicionado suporte a texturas 3D comprimidas usando os formatos BC e ASTC. Também foi adicionado um modo experimental (Origin Trial) para garantir compatibilidade, que fornece uma API WebGPU reduzida, adequada para trabalhar com APIs gráficas antigas, como OpenGL e Direct3D11.
- Para elementos SVG (SVGScriptElement), foi adicionado suporte ao atributo "async" para executar scripts de forma assíncrona.
- Para dificultar a identificação passiva da instância do navegador, no cabeçalho HTTP Accept-Language agora são listados apenas os idiomas mais prioritários escolhidos pelo usuário, em vez de todos os idiomas selecionados.
- Foi adicionado um API experimental (Origin trials) Prompt, que fornece chamadas para interação com grandes modelos de linguagem, permitindo o uso de texto, imagens e entrada de áudio nas solicitações. O resultado é retornado em um formato estruturado e fácil de analisar. Exemplos de uso incluem geração de descrições de imagens, busca visual, transcrição de fala, classificação de sons, geração de texto com base em instruções e extração de informações de texto.
- Nos ferramentas para desenvolvedores web, foi realizado um trabalho para corrigir problemas conhecidos com a funcionalidade e falhas na interface do usuário. Graças a este trabalho, o número de notificações abertas sobre problemas foi reduzido em 27%. O assistente de AI embutido agora suporta o upload de imagens arbitrárias. No painel de inspeção de rede, foi implementada a possibilidade de adicionar colunas para exibir o status de cabeçalhos HTTP arbitrários.

- O suporte para o sistema operacional macOS 11 foi descontinuado, agora é necessário pelo menos a versão macOS 12.
- Na versão para Android, o suporte para as plataformas Android 8 (Oreo) e Android 9 (Pie) foi descontinuado.
Além das novidades e correções de bugs, a nova versão resolveu 12 vulnerabilidades. Muitas das vulnerabilidades foram detectadas por testes automatizados usando ferramentas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Não foram encontradas questões críticas que permitissem contornar todos os níveis de segurança do navegador e executar código no sistema fora do ambiente sandbox. No âmbito do programa de recompensas por vulnerabilidades para esta versão, a Google pagou 8 prêmios totalizando 18.500 dólares (um prêmio de $10.000, três de $2.000, dois de $1.000 e um de $500). O valor de um dos prêmios ainda não foi determinado.
Adicionalmente, vale mencionar a inclusão no código-base, que cria a versão do Chrome 140, do modo OverrideDefaultOzonePlatformHintToAuto, que ativa a seleção automática do backend na camada Ozone, que abstrai a interação com a subsistema gráfico. Essa mudança permitirá ativar dinamicamente o backend Wayland em sistemas compatíveis com Wayland, sem estar vinculado por padrão ao backend X11. A seleção automática do backend também pode ser ativada manualmente na versão do Chrome 139 através da configuração "chrome://flags/#ozone-platform-hint" ou da flag de linha de comando "--ozone-platform-hint=auto".
Fonte: opennet.ru





