Acesse esta página com frequência para saber mais sobre mudanças nas extensões do Chrome, na documentação de extensões, políticas relacionadas ou outras mudanças. Você vai encontrar outras postagens no Grupo do Google sobre extensões. A programação do Chrome lista as datas de lançamento Stable e Beta.
Chrome 128: correspondência do cabeçalho de resposta na solicitação de rede declarativa
A partir do Chrome 128, adicionaremos suporte à correspondência de cabeçalhos de resposta na API Declarative Net Request. Essa era uma solicitação comum, especialmente para corresponder ao cabeçalho Content-Type, e criamos uma API adequada com o grupo da comunidade WebExtensions.
Atualizamos nossa referência da API para incluir os novos campos responseHeaders
e excludedResponseHeaders
. Você pode usá-los para verificar a existência de e o valor de um determinado cabeçalho.
Como parte dessa atualização, adicionamos uma nova seção de avaliação de regras à nossa documentação, que explica como é feita a correspondência das regras. Especificamente para a correspondência de cabeçalho, as regras só podem ser executadas depois que os cabeçalhos de resposta forem recebidos. Portanto, eles são aplicados em um estágio posterior às outras regras. Isso significa que a solicitação chega ao servidor antes de ser bloqueada ou redirecionada.
Vídeo: o que são scripts de conteúdo?
Saiba mais sobre scripts de conteúdo nas extensões do Chrome, incluindo como registrar CSS e JavaScript para serem executados em uma página específica. Confira o vídeo completo.
Atualizações importantes nas políticas
A equipe da Chrome Web Store publicou uma série de atualizações na página Políticas do programa para desenvolvedores com o objetivo de incentivar o desenvolvimento de produtos de alta qualidade, evitar comportamentos enganosos e garantir o consentimento do usuário. Rebecca Soares, a gerente de políticas da Chrome Web Store, resumiu todas as atualizações na postagem do blog Extensões do Chrome: atualizações importantes nas políticas.
Postagem do blog: O que está acontecendo nas extensões do Chrome, julho de 2024
Nos últimos três meses, lançamos várias atualizações significativas e novos recursos, incluindo o início da descontinuação gradual do Manifesto V2. Fique por dentro do Novidades da edição de julho das extensões do Chrome
Vídeo: o que é um código hospedado remoto?
Pedro, da equipe de Extensões do Chrome, explica o conceito de código hospedado remotamente (RHC, na sigla em inglês) nas extensões do Chrome. Saiba por que o RHC não é mais permitido, como detectá-lo e o que fazer se sua extensão precisar ser atualizada. Confira o vídeo completo.
Chrome 127: nova API action.openPop-up
A partir do Chrome 127, a action.openPopup
A API está disponível para todas as extensões. Antes, esse recurso só estava disponível no Canary.
ou a extensões instaladas por uma política.
Vídeo: Confiança e Entrevista da equipe de segurança
A equipe do Chrome Extensions DevRel fez uma reunião com o grupo A equipe de segurança que conduz a revisão na Chrome Web Store para fazer suas perguntas. Confira o vídeo completo.
Postagem do blog: Início da descontinuação gradual do Manifest V2
A partir de 3 de junho nos canais Chrome Beta, Dev e Canary, se os usuários ainda tiverem as extensões do Manifest V2 instaladas, algumas pessoas vão começar a ver um banner de aviso ao acessar a página de gerenciamento de extensões (chrome://extensions), informando que algumas extensões (Manifest V2) vão deixar de ser compatíveis. Saiba mais no comunicado oficial.
Atualizações na interface do painel lateral
Recentemente, fizemos algumas mudanças na interface do painel lateral, incluindo a adição de um ícone de fixação. e removendo o ícone do painel lateral global. Saiba mais no PSA e veja nossa documentação e amostras atualizadas.
Postagem do blog: Extensões do Chrome no Google I/O 2024
O Google I/O acabou de chegar, e já falamos sobre todas as atualizações incríveis das extensões. Acesse o YouTube para conferir o vídeo completo e leia nossa postagem do blog para conferir alguns dos destaques.
Pular a revisão para mudanças de solicitações líquidas declarativas qualificadas
A Chrome Web Store agora permite pular a revisão de mudanças qualificadas ao usar a API Declarative Net Request. Saiba mais sobre a qualificação e como ativar na documentação da Chrome Web Store.
deployPercentage disponível na API da Chrome Web Store
Recentemente, atualizamos a documentação da API Chrome Web Store para incluir informações sobre deployPercentage
, que permite atribuir uma porcentagem de uma implantação de lançamento parcial. Saiba mais sobre o deployPercentage
.
Chrome 126: testes de origem em extensões
O Chrome 126 introduz um novo campo manifest.json, trial_tokens
, para que você possa ativar testes de origem e de descontinuação em todas as plataformas de extensão. Confira mais informações no guia.
Postagem do blog: Novidades das extensões do Chrome (abril de 2024)
Publicamos uma nova edição de O que está acontecendo nas extensões do Chrome. A postagem discute no que a equipe de extensão tem trabalhado nos últimos meses. Isso inclui a reversão de versões na Chrome Web Store, melhor suporte ao Firebase Auth e mais lançamentos e atualizações de APIs.
Reversões de versão no Painel de controle do desenvolvedor da Chrome Web Store
Reverta sua extensão para a versão publicada anteriormente na Chrome Web Store, sem revisão adicional. Leia a postagem do blog e a documentação para mais informações.
Chrome 124: API documentScan avançada
Uma API documentScan
avançada
já está disponível no ChromeOS para descobrir e recuperar imagens dos anexos
scanners de documentos.
Chrome 124: suporte à WebGPU em service workers
Desde o Chrome 124, os service workers oferecem suporte à WebGPU. Para um Confira o exemplo da extensão WebGPU (em inglês).
Chrome 123: a API Events tem suporte à filtragem por blocos CIDR
A API Events agora oferece suporte a filtros
por blocos de roteamento entre domínios sem classe (CIDR). Um bloco CIDR é uma coleção de
Endereços IP que compartilham um prefixo de rede e o mesmo número de bits. Antes,
Um desenvolvedor que precisa filtrar vários endereços IP necessários para configurar um filtro
para cada um dos endereços no intervalo de blocos. Agora, quando uma extensão chamar
addListener()
, uma regra transmitida significa que o manipulador de eventos só será chamado
quando a parte do host de um URL é um endereço IP e está contida em qualquer bucket
blocos especificados em uma matriz.
Chrome Web Store: atualizações nos requisitos de tamanho do nome de extensões
Agora existe um limite universal de 75 caracteres na Chrome Web Store
no campo "name"
da extensão na
manifest.json. Anteriormente, o limite para o inglês era de 45 caracteres, e há
não havia restrição para o campo "name"
em outras localidades.
Originalmente, o objetivo era permitir diferenças culturais e linguísticas. pode não ser capturada com o mesmo número de caracteres. Infelizmente, este recurso foi usado indevidamente por um pequeno número de desenvolvedores para enviar spam à loja. Como resultado, estamos introduzindo um novo limite universal, um aumento para 75 caracteres. Esse limite abrange quase todas as extensões na loja hoje, então provavelmente não você precisará realizar alguma ação como resultado dessa alteração. Se você tentar fazer o upload extensão com um nome maior que o limite máximo, o upload será bloqueados pela loja.
Postagem do blog: O caminho da Eye para testar a suspensão de service workers
Nesta postagem da equipe do Extension Engine da eyeo, vamos abordar o problema de testar service workers de extensão. No Manifesto V2, as extensões estão em uma página em segundo plano e que ficaram despertadas durante todo o ciclo de vida da extensão. O Manifest V3 usa service workers e service workers por padrão, economizar recursos, desligando-os quando não são necessários. Isso apresenta alguns desafios de teste. Esta postagem explica como a emoji enfrentou esses desafios.
Chrome 123: agora, os alarmes são executados quando o dispositivo está em suspensão
Alarmes definidos usando a API chrome.alarms
não são mais atrasados quando um dispositivo entra no modo de suspensão. Quando o dispositivo é ativado, o
o alarme será disparado uma vez, não importa quantos alarmes tenham sido perdidos. Por exemplo, digamos que
Um alarme está definido para disparar uma vez por hora e o dispositivo em que ele está ligado está suspenso a partir do qual
Da 0h55 às 2h05, apenas o alarme das 2h vai acionar o evento onAlarm
.
Ele será disparado o mais perto possível das 2h e imediatamente quando um dispositivo for ativado
se estivesse dormindo.
Essa mudança deixa o Chrome de acordo com o comportamento acordado no grupo da comunidade de extensões da Web.
Postagem do blog: Mudanças no comportamento do bfcache com portas de mensagem de extensão
O cache de avanço e retorno (bfcache) é um navegador
que permite uma navegação instantânea para frente e para trás. A partir de
No Chrome 123, quando uma página com uma porta de extensão aberta é armazenada no bfcache, a
O canal de mensagens está fechado, ou seja, nenhuma mensagem será enviada para essa página.
Consequentemente, os scripts de extensão devem detectar eventos de ciclo de vida, como
onDisconnect
e configurar uma nova conexão quando a página for restaurada do BFCache.
Para mais informações e códigos de exemplo, consulte Mudanças no comportamento do BFCache com portas de mensagem de extensão.
Chrome 122: prometer suporte a APIs de extensão assíncrona
Terminamos de implementar o suporte a promessas para todas as APIs de extensão assíncronas
métodos. Isso foi feito para modernizar os métodos de API, melhorando a ergonomia dos
para lidar com operações assíncronas. Alguns métodos (por exemplo,
desktopCapture.chooseDesktopMedia()
) continuam sendo compatíveis apenas com callbacks
porque as superfícies atuais não são compatíveis com promessas. Para trás
os callbacks ainda serão aceitos. Se você encontrar uma promessa que falha,
registre um bug.
Novas orientações para comunicação em tempo real
Acabamos de publicar guias sobre as opções em tempo real de extensões. As atualizações em tempo real fornecem um caminho de comunicação instantâneo dos servidores diretamente para as instalações das extensões. Além disso, temos novas orientações para o uso do chrome.gcm, Push na Web.
Nova orientação e exemplo: como testar o encerramento do service worker
Acabamos de publicar um guia sobre como testar o encerramento do service worker com o Puppeteer. O exemplo complementar demonstra isso no Puppeteer e no Selenium.
Exemplo atualizado de mensagens nativas
Acabamos de publicar uma amostra atualizada. para mensagens nativas. Esta API permite que sua extensão inicie e se comunique com outro aplicativo. Agradecemos ao colaborador Shubham-Rasal do GitHub para o trabalho nisso.
Chrome 121: nova propriedade lastAccessed nas guias.Tab
Uma nova propriedade com o nome lastAccessed
foi adicionada ao objeto tabs.Tab
. Essa propriedade indica quando a guia foi ativada pela última vez. O valor retornado está em milissegundos desde a época.
Chrome 121: "segundo plano" incompatível chaves agora emitem um aviso
Na mudança do Manifesto V2 para o Manifesto V3, os filhos da chave de manifesto "background"
foram alterados para acomodar a substituição de scripts em segundo plano por service workers de extensão. Antes, adicionar as chaves "scripts"
, "page"
ou "persistent"
do Manifest V2 à chave "background"
de uma extensão do Manifest V3 gerava um erro. A presença dessas chaves agora aciona um aviso.
Isso está sendo feito para permitir o uso de um único arquivo de manifesto em extensões em vários navegadores, de acordo com uma proposta no grupo da comunidade.
Chrome 120: granularidade mínima de alarme reduzida para 30 segundos
A partir do Chrome 120, as extensões do Manifest V3 poderão usar a API chrome.alarms
com atrasos ou períodos de 30 segundos, em vez de exigir valores de 60 segundos ou mais.
Postagem do blog: Como retomar a transição para o Manifesto V3
O cronograma de suporte do Manifest V2 foi atualizado. Leia nossa postagem do blog de novembro de 2023 para mais detalhes.
Postagem do blog: melhorias no suporte à filtragem de conteúdo no Manifesto V3
Saiba como melhoramos a API declarativeNetRequest na nova postagem do blog.
Postagem do blog: Novidades do Chrome 120 para extensões
O Chrome 120 Beta foi lançado recentemente. Confira um resumo das atualizações importantes relevantes para desenvolvedores de extensões na nossa nova postagem do blog: Novidades do Chrome 120 para extensões (em inglês). Essa versão também representa um marco importante, porque remove os dois itens finais (userScripts, gerenciador de arquivos no ChromeOS) da lista de lacunas críticas da plataforma.
PSA: Alteração no tratamento de URLs da Política de Privacidade no Painel de controle do desenvolvedor
As Políticas de Privacidade no Painel de controle do desenvolvedor agora são adicionadas ao nível do item. Isso permite que você ofereça uma Política de Privacidade diferente por item. Leia mais sobre o assunto em nosso PSA.
Vídeo: Uma conversa com Matt Frisbie
Acabamos de publicar um novo vídeo no canal do YouTube do Chrome para desenvolvedores conversando com o especialista em desenvolvedores do Google e o autor Matt Frisbie. Assista aqui.
Novas orientações sobre o teste de extensões
Acabamos de publicar novas orientações sobre como criar testes automatizados para extensões, incluindo como criar testes de unidade e ambos. orientação geral e uma tutorial sobre testes completos.
Postagem do blog: O que vai acontecer nas extensões do Chrome – Outubro de 2023
Acabamos de publicar a segunda edição de O que está acontecendo nas extensões do Chrome. A postagem discute no que a equipe de extensão tem trabalhado nos últimos meses, incluindo como resolver problemas de estabilidade do service worker e fazer um bom progresso na eliminação de todas as lacunas da plataforma MV3. Além disso, vamos compartilhar as próximas versões incríveis da API, como a API Reading List e a API User Scripts.
Aumento dos limites estáticos do conjunto de regras na API Declarative Net Request
Siga o feedback da página "Extensões da Web" grupo da comunidade, aumentamos significativamente o limite de conjuntos de regras estáticos ativados de 10 para 50. Além disso, aumentamos o número total de conjuntos de regras estáticos permitidos de 50 para 100. Isso é disponível atualmente no Canary.
Melhoria nas orientações sobre código hospedado remotamente
Um requisito do Manifesto V3 é que as extensões não podem mais usar códigos hospedados remotamente. Embora isso tenha feito parte do nosso guia de migração desde o início, achamos que valeria a pena melhorar as orientações sobre esse problema. Agora essa página fornece mais informações, descrevendo o que ainda é possível no Manifesto V3 e incluindo mais informações sobre estratégias de upgrade.
Há uma adição relacionada ao artigo Solução de problemas de violações da Chrome Web Store. Uma nova seção descreve motivos comuns para a rejeição de extensões com código hospedado remotamente.
Chrome 118: agora isUrlFilterCaseSensitive, agora o padrão é "false"
A partir do Chrome 118, o isUrlFilterCaseSensitive
em chrome.declarativeNetRequest
A API foi alterada para o padrão false
. Se você quiser manter o comportamento antigo, defina isUrlFilterCaseSensitive
como true
explicitamente no
suas regras declarativeNetRequest.
Isso segue as discussões da página "Extensões da Web" Grupo da comunidade. O Firefox e o Safari já implementaram uma mudança semelhante.
Documentação sobre cookies e APIs de armazenamento na Web
Publicamos um novo guia sobre como cookies e APIs de armazenamento na Web funcionam nas extensões do Chrome. Ela inclui detalhes sobre mudanças no particionamento de armazenamento e cookies do Sandbox de privacidade, um projeto em andamento para descontinuar cookies de terceiros com a criação de uma série de novas APIs de plataforma da Web e detalhes sobre como elas funcionam nas extensões.
Os exemplos de extensão agora são pesquisáveis
Recentemente, criamos uma página em que é possível pesquisar amostras de extensões do Chrome. A página de pesquisa tem várias opções. Use uma caixa de pesquisa para procurar texto em exemplos de títulos. Você pode restringir a pesquisa por permissão ou API de extensão. Um filtro adicional permite restringir a pesquisa a amostras de API ou funcionais (caso de uso).
Essa nova página de amostra foi criada por um participante do Google Summer of Code, Xuezhou Dai, que também contribuiu com vários novos exemplos. Leia sobre essa experiência na postagem da empresa no nosso blog.
Como antes, nossos exemplos de código ainda estão disponíveis no GitHub para clonagem ou bifurcação.
Chrome 118: mudanças na abertura de arquivos: esquemas de URLs
A partir do Chrome 118, as extensões precisarão da opção "Permitir acesso aos URLs do arquivo" ativada na página chrome://extensions
para abrir URLs do esquema file:// usando as APIs Guias ou Windows. É possível verificar esse acesso de forma programática chamando chrome.extension.isAllowedFileSchemeAccess()
. O Firefox já restringe URLs de arquivos, e o Safari oferece suporte à alteração. Para mais informações, leia a postagem no Grupo do Google sobre extensões.
Chrome 117: mais proteções de URL nas navegações da API de extensão
Anteriormente, a navegação acionada por chamadas de API de extensão para tabs.update()
, tabs.create()
e windows.create()
emitia um erro para alguns URLs chrome://. Além disso, chamar tabs.update()
com um URL JavaScript era proibido. Na 117, essas proteções em URLs JavaScript foram expandidas para o método tabs.create()
, e vários outros URLs chrome:// foram adicionados à lista de URLs proibidos que se aplica a todos os métodos mencionados anteriormente.
Melhoria nas orientações para a API declarativeNetRequest
A API chrome.declarativeNetRequest
bloqueia ou modifica solicitações de rede especificando regras declarativas. Isso permite que as extensões modifiquem solicitações de rede sem interceptar e visualizar o conteúdo delas, oferecendo mais privacidade aos usuários. Ele também é complicado de usar. Com isso em mente, reescrevemos as orientações de forma a apresentar uma imagem mais clara de como implementar conjuntos de regras declarativas. Leia a nova seção no link acima.
Como usar sua conta do Google Analytics com a Chrome Web Store
A Chrome Web Store oferece integração com o Google Analytics, o que permite que você veja análises para sua listagem na Chrome Web Store, além da visualização oferecida no Painel de controle do desenvolvedor. Para mais informações, leia Como usar sua conta do Google Analytics com a Chrome Web Store.
Chrome 115: o DevTools usa scripts de conteúdo por padrão
Os scripts de conteúdo injetado agora estão na lista de ignorados do DevTools por padrão. Isso não afeta os pontos de interrupção, mas significa que os scripts de conteúdo serão ignorados durante a depuração e as exceções desses scripts serão ignoradas. Quando um script de conteúdo está aberto na guia Origens, um banner avisa se esse recurso está ativado e oferece uma opção para remover esse script da lista de ignorados. Para desativar esse comportamento, abra o DevTools, acesse Configurações e Lista de ignorados. Para saber mais, consulte O que há de novo no DevTools.
Chrome 116 Beta: mais do que cabe aqui
O Chrome 116 é um grande lançamento para extensões. Agora é possível abrir os painéis laterais de maneira programática. Um novo método permite que você saiba se há um documento fora da tela ativo. Os service workers receberam várias melhorias. Há melhorias suficientes no 116. Fizemos uma postagem sobre isso no blog (em inglês). O Chrome 116 está na versão Beta desde 19 de julho.
Postagem do blog: O que está acontecendo nas extensões do Chrome
Acabamos de publicar uma visão geral das mudanças e melhorias nas extensões deste ano. A postagem discute os grandes novos recursos do ano, incluindo a API Side Panel, melhorias para os service workers e documentos fora da tela. Você também vai saber o que estamos fazendo para este trimestre. O artigo lista muito mais, com links para todos.
Novas orientações e exemplos: saiba como usar o Google Analytics 4 na sua extensão do Chrome
Publicamos novas orientações e exemplos de geolocalização e do Google Analytics:
- Uma versão atualizada das nossas orientações do Google Analytics, explicando como você pode usar o Google Analytics 4 na sua extensão do Chrome. Também adicionamos uma amostra funcional do Google Analytics 4 ao nosso repositório de exemplos do GitHub. Confira o código relevante relacionado ao Google Analytics em
google-analytics.js
. - Um novo guia de geolocalização e três exemplos que mostram como acessar a geolocalização em service workers, scripts de conteúdo, pop-ups e painéis laterais.
Chrome 115: especificar vários motivos em chrome.offscreen.createDocument()
Agora você pode especificar vários tipos enumerados reason
ao chamar chrome.offscreen.createDocument()
. Use esta opção quando um documento fora da tela for usado para várias finalidades. O navegador usa os motivos fornecidos para determinar a vida útil do documento fora da tela.
Nova ferramenta: ferramenta de teste de atualização de extensão
Acabamos de lançar a Ferramenta de teste de atualização de extensão, um servidor local de atualização de extensões que pode ser usado para testar atualizações de extensões do Chrome durante o desenvolvimento local, incluindo concessões de permissões. A ferramenta mostra o fluxo de atualização do usuário, incluindo manter uma extensão desativada até que um usuário conceda as permissões recém-solicitadas. Essa ferramenta é particularmente útil para simular as mudanças de permissão solicitadas durante a atualização de uma extensão do Manifesto V2 para o Manifesto V3.
Chrome 114: nova API Side Panel
Apresentamos a nova API Side Panel, uma plataforma complementar que permite aos usuários acessar ferramentas junto com o conteúdo que estão navegando. Para saber mais, acesse a referência da API Side Panel. Além disso, adicionamos muitos exemplos de painel lateral ao nosso repositório de exemplos do GitHub (link em inglês). Também compartilhamos mais informações sobre painéis laterais na nova postagem do blog Como projetar uma experiência do usuário superior com a nova API Side Panel (em inglês). Nossa política de diretrizes de qualidade e as práticas recomendadas também foram analisadas para fornecer mais orientações sobre a criação de extensões de painel lateral de alta qualidade.
Seus comentários são importantes para a criação dessa API. compartilhe sua opinião e solicite recursos nos chromium-groups. Não perca as novas atualizações enquanto fazemos melhorias na API Side Panel.
Novas amostras: WASM em extensões
Há dois novos exemplos disponíveis que demonstram como usar o WASM em uma extensão:
- O artigo Como usar o WASM no Manifesto V3 mostra o método geral para incluir um módulo do WASM.
- Como usar o WASM como um módulo no Manifesto V3 mostra como usá-lo em um módulo.
Um agradecimento especial ao colaborador @daidr do GitHub por essas amostras.
Atualização das orientações de migração do Manifest V3
Atualizamos a seção Problemas conhecidos das orientações de migração do Manifesto V3 com uma lista atualizada das lacunas da plataforma de extensões que pretendemos resolver antes de anunciar um novo cronograma de descontinuação do Manifesto V2.
Como gravar áudio e vídeo com o Manifest V3
Acabamos de publicar um novo artigo chamado Gravação de áudio e captura de tela, que aborda a gravação de áudio ou vídeo de uma guia, janela ou tela no Manifesto V3. Este artigo descreve várias abordagens para gravar que envolvem a API chrome.tabCapture
e a função getDisplayMedia()
.
Chrome 114: aumento da cota storage.local
Aumentamos a cota da propriedade storage.local
para aproximadamente 10 MB. Isso foi acordado no grupo da comunidade de extensões da Web (link em inglês). Isso deixa o storage.local
alinhado com o storage.session
, que foi mudado no Chrome 112.
Tutorial e ajuda da nova extensão service worker
Os service workers são parte integrante das extensões do Chrome. Acabamos de publicar um tutorial que explica os conceitos básicos de registro, depuração e interação com service workers. Também adicionamos um novo guia do service worker que explica conceitos importantes com mais detalhes. Ampliaremos essa seção nos próximos meses.
Mais dicas de solução de problemas para violações da Web Store
Para ajudar com as publicações na Chrome Web Store, adicionamos novas orientações em duas áreas. As orientações sobre funcionalidades mínimas são voltadas ao fornecimento de benefícios aos usuários e ao enriquecimento da experiência de navegação. A orientação para anúncios de afiliados é informar aos usuários sobre as extensões que usam links ou códigos de afiliados para monetização e oferecer a eles algum controle, exigindo uma ação do usuário antes da inclusão.
Novas instruções para o conversor de manifesto de extensão
Reescrevemos o README do Extension Manifest Converter para facilitar a visualização do que você precisa fazer depois de executar a ferramenta. O conversor ajuda a migrar extensões criadas no Manifesto V2 para o Manifesto V3. O novo README descreve o que a ferramenta faz usando palavras parecidas com as da lista de verificação do guia de migração. O conversor não faz tudo, mas elimina muitas tarefas que não exigem julgamento humano.
Chrome 113: novos motivos para documentos fora da tela
Adicionamos dois novos tipos de motivo à API Offscreen Documents. Use LOCAL_STORAGE
para acessar a API localStorage da plataforma da Web. Use WORKER
ao criar workers da Web.
Google Analytics 4 agora no Painel de controle do desenvolvedor
O Painel de controle do desenvolvedor da Chrome Web Store agora é compatível com o Google Analytics 4 (GA4). Simplificamos a configuração do Google Analytics e simplificamos o gerenciamento de acesso para editores de grupos. Se você já usou o Google Universal Analytics para rastrear a atividade na página "Detalhes do app", faça isso até 1o de julho de 2023 para continuar recebendo dados sobre a página. Para saber mais, consulte a postagem no Grupo do Google sobre extensões do Chromium (em inglês).
A API File Handling chegou ao ChromeOS
A API File Handler está disponível para testes no ChromeOS no Canary para as versões 112 e 113. Ela permite que as extensões no ChromeOS abram arquivos com tipos MIME e extensões de arquivo especificados. Para implementar o processamento de arquivos, adicione um conjunto de regras à manifest.json
. Esse recurso funciona da mesma forma que os Progressive Web Apps. Para mais informações, consulte o artigo em outro lugar deste site.
Para ativar o processamento de arquivos:
- da versão 112 em diante, inicie o Chrome usando a sinalização
--enable-features=ExtensionWebFileHandlers
, a partir da versão 112; - A partir da versão 113, cole
os://flags/#extension-web-file-handlers
na omnibox do Chrome e selecione "Ativado". no menu suspenso.
Esperamos lançar esse recurso no Chrome 115 no final de junho. Fique de olho neste espaço para atualizações.
Novos exemplos: declarações dinâmicas e injeção programática
Criamos um novo exemplo para a API chrome.scripting
. Ele demonstra declarações dinâmicas, em que um script de conteúdo é registrado no momento da execução, e injeção programática, em que um script é executado em uma guia que já está aberta.
Novas amostras: casos de uso de solicitação de rede declarativa
Três novas amostras estão disponíveis para demonstrar a API Declarative Net Request. Cada um demonstra a implementação de um único caso de uso. A primeira mostra como bloquear cookies. Os dois restantes demonstram o bloqueio e o redirecionamento de URLs.
Chrome 112: aumento da cota de storage.session
No Chrome 112, a cota da propriedade storage.session
aumentou para aproximadamente 10 MB. Isso foi acordado no grupo da comunidade de extensões da Web: https://github.com/w3c/webextensions/issues/350 (em inglês)
Chrome 109: documentos fora da tela
Os documentos fora da tela agora estão disponíveis nas extensões do Manifest V3. Elas ajudam na transição de páginas de segundo plano para service workers de extensão, fornecendo suporte para recursos e APIs relacionados ao DOM. Para mais informações, leia a postagem do blog.
Chrome 110: uma extensão está ativada
O método chrome.action.isEnabled()
verifica de forma programática se uma extensão foi ativada para uma guia específica. Isso evita que você mantenha o estado ativado das suas guias. Esse novo método usa um ID de guia e uma referência a um retorno de chamada e retorna um booleano. Há uma limitação: as guias criadas usando chrome.declarativeContent
sempre retornam "false".
Recentemente, o namespace chrome.action
recebeu novos métodos para controlar a aparência dos selos de extensão. Para mais informações, consulte Como definir as cores dos selos.
Chrome 110: alteração no tempo limite de inatividade do service worker
Antes, um service worker de extensão era frequentemente desligado na marca de cinco minutos. Mudamos esse comportamento para que se pareça com o ciclo de vida do service worker na Web. Um service worker de extensão será encerrado após 30 segundos de inatividade ou se uma única atividade levar mais de cinco minutos para ser processada. Para mais informações, consulte Ciclos de vida do service worker de extensão mais longos.
Postagem: pausa na descontinuação gradual do Manifest V2
Os cronogramas de descontinuação do Manifest V2 estão em revisão, e os experimentos programados para o início de 2023 foram adiados. Para saber mais, leia a atualização (em inglês) no Grupo do Google sobre extensões do Chromium.
Chrome 110: como definir as cores dos selos
O namespace chrome.action
tem dois novos métodos para oferecer mais controle sobre os selos de extensão de aparência. Os métodos setBadgeTextColor()
e getBadgeTextColor()
permitem que uma extensão mude e consulte a cor do texto do selo do ícone da barra de ferramentas. Quando usados com setBadgeBackgroundColor
e getBadgeBackgroundColor
, esses novos métodos permitem aplicar a consistência de design e marca.
Postagem do blog: Mais detalhes sobre a transição para o Manifest V3
Esclarecemos o cronograma de descontinuação do Manifest V2. O cronograma de suporte do Manifest V2 também foi atualizado para refletir essas informações.
Atualização dos documentos: problemas conhecidos ao migrar para o Manifest V3
Reunimos uma lista dos principais recursos atualmente em desenvolvimento e bugs abertos. O objetivo desta página é ajudar os desenvolvedores a entender melhor o estado atual da plataforma e quais recursos eles podem segmentar ao se preparar para o futuro.
Chrome Web Store: "bloco promocional grande" upload de imagem removido
A Chrome Web Store removeu o "bloco promocional grande" Fazer upload da interface na guia "Detalhes do app" do item no painel do desenvolvedor. Essa mudança não afeta a experiência do usuário final, já que essas imagens não foram usadas na interface do consumidor. Confira esta postagem sobre as extensões do Chromium para mais detalhes.
Chrome 106: permitir que páginas em URLs file:// acessem recursos acessíveis na Web
Origens opacas, como iframes em sandbox e importação dinâmica, também podem acessar recursos acessíveis na Web, de acordo com crbug.com/1219825#c11.
Chrome 106: correção do bug que permitia argumentos finais incorretos em algumas funções assíncronas da API
Antes, o Manifest V3 chamando APIs assíncronas poderia fornecer um argumento final inválido e o Chrome não apresentaria um erro. Com essa correção, o Chrome vai apresentar erros e informar que não havia assinatura correspondente. Recomendamos que os desenvolvedores verifiquem se há erros nas extensões no Canary, caso usem acidentalmente uma assinatura incorreta para uma chamada de API que será corrompida por essa correção de bug.
Postagem do blog: reformulação das análises da Chrome Web Store
A Chrome Web Store tem uma experiência de análise de itens reformulada para o Painel de controle do desenvolvedor da Chrome Web Store. O novo painel é mais fácil de entender e consolida as informações mais úteis logo no início. Leia a postagem do blog para mais informações.
Chrome 105: promessas para a API Identity
Funções na API Identity agora
dão suporte a chamadas baseadas em promessa. Isso vem com uma pequena mudança na superfície para
identity.getAuthToken()
, em que
o retorno assíncrono definido para uma chamada baseada em promessa terá "token" e "grantedScopes" como parâmetros.
em um único objeto (ao contrário da versão da chamada de retorno que os recebe como argumentos separados para o objeto
).
Chrome 104: nova API de favicons para o Manifesto V3
As extensões do Manifest V3 agora podem acessar favicons usando um novo padrão de URL: chrome-extension://<id>/_favicon/
, em que chrome://favicons
da plataforma Manifest V2. Consulte os documentos da API Favicon para mais informações.
Atualização dos documentos: divulgação de comerciante/não comerciante
Adicionamos a identificação de desenvolvedor (comercial/não comerciante) que informa os desenvolvedores para que declarem com precisão o status de comerciante/não comerciante.
Chrome 103: o Wasm no Manifesto V3 requer wasm-unsafe-eval
Por padrão, o Chrome não concede mais a extensão script-src: wasm-unsafe-eval
. Extensões que usam
O WebAssembly agora precisa adicionar explicitamente essa diretiva e o valor a extension_pages
na
content_security_policy
.
Chrome 103: a alteração dos atalhos MV3 entra em vigor imediatamente
Ao mudar o atalho de teclado de uma extensão Manifest V3 no chrome://extensions/shortcuts
, faça o seguinte:
as atualizações são aplicadas imediatamente. Anteriormente, a extensão teria de ser recarregada antes que o
mudança entraria em vigor.
Chrome 102: scripts de conteúdo dinâmico no mundo principal
Scripts de conteúdo registrados dinamicamente agora podem especificar o
world em que os recursos serão injetados. Consulte
scripting.registerContentScripts()
para mais detalhes.
Chrome 102: novo campo de manifesto "optional_host_permissions"
As extensões do Manifest V3 agora podem especificar a chave optional_host_permissions
em manifest.json. Isso
permite que as extensões do Manifest V3 declarem padrões de correspondência opcionais para hosts, assim como o Manifest V2.
extensões podem usar a chave optional_permissions
.
Chrome 102: injetar imediatamente a propriedade em scripting.executeScript()
chrome.scripting.executeScript()
agora aceita uma propriedade injectImmediately
opcional no
argumento injection
. Se presente e definido como verdadeiro, o script injetará no destino assim que
possível, em vez de esperar por document_idle
. Isso não garante que o script
injetar antes que a página seja carregada, já que a página continua a carregar enquanto a chamada da API é feita.
Chrome 102: suporte à API Omnibox no Manifesto V3
A API Omnibox agora pode ser usada em serviços extensões. Antes, alguns dos métodos dessa API geravam invocação devido a problemas dependências de recursos DOM.
Chrome 102: wasm-unsafe-eval permitido no Manifesto V3 CSP
As extensões do Manifest V3 agora podem incluir wasm-unsafe-eval
no content_security_policy
de declarações. Essa mudança permite que as extensões do Manifest V3 usem o WebAssembly.
Chrome 102: nova API storage.session
As extensões do Manifest V3 agora podem usar storage.session no armazenamento de memória .
Atualização do Documentos: descoberta de itens na Chrome Web Store
A opção Descobertas na Chrome Web Store oferece uma visão geral de como os usuários encontram itens na Chrome Web Store e como nossos editores selecionam itens para exibir.
Chrome 101: condições de domínio declarativeNetRequest aprimoradas
As condições da regra declarativeNetRequest foram
atualizado para permitir que as extensões segmentem melhor as solicitações com base na "solicitação" e
“iniciador” domínios. As propriedades da condição relevantes são initiatorDomains
,
excludedInitiatorDomains
, requestDomains
e excludedRequestDomains
. Consulte também este
linha de execução Chromium-extensions.
Chrome 100: problema resolvido com scripting.executeScript() em guias recém-criadas
Correção de um problema de longa data em que chamar scripting.executeScript()
em uma guia recém-criada ou
pode falhar.
Chrome 100: porta de mensagens nativas que mantém o service worker ativo
Como se conectar a um host de mensagens nativas usando chrome.runtime.connectNative()
no namespace de uma extensão
O service worker deve mantê-lo ativo enquanto a porta estiver aberta.
Chrome 100: omnibox.setDefaultSuggestion() oferece suporte a promessas e callbacks
A
omnibox.setDefaultSuggestion()
agora retorna uma promessa ou aceita um callback para permitir que os desenvolvedores determinem quando o
sugestão foi definida corretamente.
Chrome 100: suporte a i18n.getMessage() em service workers de extensão
A API chrome.i18n.getMessage()
agora está
com suporte em contextos de service worker de extensão.
Chrome 99: match_origin_as_fallback no Canary
Os scripts de conteúdo agora podem especificar a chave match_origin_as_fallback
para injetar em frames que estão
relacionada a um frame correspondente, incluindo frames com about:
, data:
, blob:
e filesystem:
URLs. Consulte os scripts de conteúdo
documentação para mais detalhes.
Chrome 99: suporte ao service worker de extensão para esquemas no Canary
As extensões Manifest V2 e Manifest V3 baseadas em service workers agora podem usar a API Fetch para solicitar
URLs de esquema file:
. O acesso aos URLs do esquema file:
ainda exige que o usuário ative a opção "Permitir acesso"
aos URLs do arquivo para a extensão na página chrome://extensions
.
Chrome 99: prometer suporte para APIs de mensagens no Canary
O suporte de promessas foi adicionado a
tabs.sendMessage
,
runtime.sendMessage
e
runtime.sendNativeMessage
para
criadas para o Manifest V3.
Atualização do Documentos: documentação de avaliações da Chrome Web Store
Adicionamos uma nova página de referência que oferece uma visão geral do Chrome. O processo de revisão da loja on-line e explica como funciona a aplicação da Política do programa para desenvolvedores.
Chrome 98: scripting.executeScript() e scripting.insertCSS() aceitam vários arquivos
O executeScript()
da API Scripting
e insertCSS()
agora aceitam
vários arquivos. Antes, esses métodos precisavam de uma matriz com uma única entrada de arquivo.
Atualização do Documentos: analise as atualizações da solução de problemas de violação
A página Solução de problemas de violações da Chrome Web Store foi atualizado para oferecer aos desenvolvedores orientações mais detalhadas sobre os motivos comuns de rejeição.
Chrome 96: ampliação do suporte a promessas para mais 27 APIs
Esta versão contém muito mais atualizações de promessa do que qualquer versão anterior. As atualizações incluem APIs de extensões gerais e específicas do ChromeOS. Expanda as seções a seguir para mais detalhes.
APIs de extensões
Agora, várias APIs oferecem suporte a promessas no Manifesto V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Além disso, as APIs que usam o ChromeSetting
protótipo agora também apoiam promessas. As APIs a seguir serão afetadas por essa mudança.
APIs do ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: scripts de conteúdo dinâmico
A API chrome.scripting
agora oferece suporte
registro,
em atualização,
cancelar o registro e receber uma lista de scripts de conteúdo
durante a execução. Anteriormente, os scripts de conteúdo só podiam ser declarados estaticamente no diretório
manifest.json ou injetados de modo programático no ambiente de execução com
chrome.scripting.executeScript()
Atualização dos Documentos: cronograma de suporte ao Manifest V2
O cronograma de transição do Manifest V2 para V3 foi anunciado nesta postagem do blog e uma página do cronograma mais detalhada foi publicada.
Chrome 96: permissão declarativeNetRequestWithHostAccess
Com a nova permissão declarativeNetRequestWithHostAccess
, as extensões podem usar as
a API chrome.declarativeNetRequest
nos sites
tem permissões de host para. Isso também ativa as extensões existentes do Manifest V2 que usam
webRequest
, webRequestBlocking
e permissão de host específica do site para migrar para o
API chrome.declarativeNetRequest
sem
exigindo que o usuário aprove novas permissões.
Chrome 95: injetar scripts diretamente nas páginas
As APIs chrome.scripting
executeScript()
agora pode
injetar scripts diretamente no mundo principal de uma página. Antes, as extensões só podiam injetar diretamente
no mundo isolado da extensão. Para mais informações sobre mundos isolados, consulte a documentação
sobre scripts de conteúdo.
Chrome 95: promessa de suporte para a API Storage
Métodos na versão Manifest V3 do chrome.storage
A API agora retorna promessas.
Atualização da política: aplicação da verificação em duas etapas
A postagem do blog sobre a atualização da política publicada em 29 de junho de 2021 foi atualizada. para corrigir o cronograma de implantação da verificação em duas etapas.
Chrome 94: mudanças no conjunto de regras estáticas de solicitações de rede declarativas
O chrome.declarativeNetRequest
agora oferece suporte
especificando até 50 conjuntos de regras estáticos
(MAX_NUMBER_OF_STATIC_RULESETS)
e ativar até 10 conjuntos de regras
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
por vez.
Chrome 93: suporte ao isolamento de origem cruzada
As extensões Manifest V2 e Manifest V3 agora podem ativar o isolamento de origem cruzada. Esse atributo limita quais origens cruzadas
podem carregar páginas de uma extensão e permite o uso de recursos de plataforma web de baixo nível, como
SharedArrayBuffer
A ativação será obrigatória a partir do Chrome 95.
Atualização da política: as políticas do programa para desenvolvedores foram atualizadas
As Políticas do programa para desenvolvedores da Chrome Web Store foram atualizadas com esclarecimentos sobre táticas de instalação enganosas, spam e políticas de conteúdo repetitivo. Essa atualização também inclui um novo requisito de verificação em duas etapas para publicar na Chrome Web Armazenar. Leia a postagem do blog para mais informações.
Postagem do blog: ações de extensão no Manifesto V3
As extensões do Chrome tinham APIs chrome.browserAction
e chrome.pageActions
por anos, mas a Manifest
A V3 substituiu as duas por uma API chrome.actions
genérica. Isso
post explora a história dessas APIs e o que mudou no Manifesto V3. Leia a postagem.
Postagem do blog: introdução ao chrome.scripting
A API chrome.scripting
é uma nova API Manifest V3 focada
sobre scripts. Nesta postagem, vamos nos aprofundar nas motivações dessa mudança e analisar mais de perto.
com os novos recursos. Leia a postagem.
Chrome 92: módulo de suporte ao service worker
O Chrome agora oferece suporte a módulos JavaScript em service workers. Para especificar um módulo, um módulo no manifesto do app:
"background": {
"service_worker": "script.js",
"type": "module"
}
Isso carrega o script do worker como um módulo ES, que permite usar a palavra-chave import
na
script do worker para importar outros módulos.
Chrome 91: chrome.action.getUserSettings()
A nova
chrome.action.getUserSettings()
permite que as extensões determinem se o usuário fixou a extensão na barra de ferramentas principal.
Chrome 90: chrome.scripting.removeCSS()
O novo chrome.scripting.removeCSS()
permite que as extensões removam o CSS que foi inserido anteriormente pelo
chrome.scripting.insertCSS()
Ela
substitui chrome.tabs.removeCSS()
.
Chrome 90: retorno de promessas de scripting.executeScript()
chrome.scripting.executeScript()
agora
oferece suporte a promessas de retorno. Se o valor resultante da execução do script for uma promessa, o Chrome
aguardará a conclusão da promessa e retornará o valor resultante.
Chrome 90: os resultados de chrome.scripting.executeScript() incluem frameId
Resultados retornados de
chrome.scripting.executeScript()
inclua o frameId.
A propriedade frameId
indica o frame de origem do resultado, permitindo extensões facilmente
associar resultados a frames individuais ao injetar vários frames.
Chrome 89: nova API para gerenciar grupos de guias
A nova API chrome.tabGroups
e novos recursos em
O chrome.tabs
permite que as extensões leiam e manipulem grupos de guias.
Requer o Manifest V3.
Chrome 89: permissões personalizáveis para recursos acessíveis na Web
Definições de recursos acessíveis pela Web em O Manifest V3 foi alterado para permitir que as extensões restrinjam o acesso a recursos com base na origem do solicitante ou ID de extensão.
Postagem do blog: Conversor de manifesto de extensão
A equipe de Extensões do Chrome disponibilizou o código aberto do "Extension Manifest Converter", uma ferramenta em Python que automatiza alguns dos aspectos mecânicos da conversão de extensões para o Manifest V3. Consulte a postagem do blog de anúncio de divulgação e faça o download no GitHub (link em inglês).
Chrome 88: disponibilidade geral do Manifest V3
o Manifest V3 é uma atualização importante da plataforma de extensões. consulte Visão geral do Manifesto V3 para ver um resumo dos recursos novos e alterados. Extensões pode continuar usando o Manifesto V2 por enquanto, mas isso será descontinuado em breve. Nós fortemente recomendamos que você use o Manifest V3 para novas extensões e comece a migrar as atuais. o Manifest V3 assim que possível.