Webkit

Trabalhe com APIs WebView modernas no Android 5 e versões mais recentes.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
11 de dezembro de 2024 1.9.0 - - 1.13.0-alpha02

Declarar dependências

Para adicionar uma dependência a Webkit, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.13

Versão 1.13.0-alpha02

11 de dezembro de 2024

Lançamento de androidx.webkit:webkit:1.13.0-alpha02. A versão 1.13.0-alpha02 contém estas confirmações.

Novos recursos

  • Adição da API de inclusão de tags de soquete ao WebView para contabilizar o tráfego de rede do WebView usando NetworkStatsManager/TrafficStats. Esse recurso só vai estar disponível a partir do WebView M133. (Ica441, b/374932688).

Mudanças na API

  • Atualize a API Prefetch renomeando PrefetchParameter para SpeculativeLoadingParamaters, introduzindo o novo PrefetchNetworkException, substituindo PrefetchOperationCallback por OutcomeReceiverCompat e atualizando o javadoc. (If5072).
  • Receber informações de diagnóstico da API de inicialização assíncrona da WebView.
  • Fornecer uma opção para que os apps só acionem a inicialização que não bloqueia a linha de execução da interface. (I9bf2b).

Correções de bugs

  • Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I0e4c5, b/326456246).

Versão 1.13.0-alpha01

13 de novembro de 2024

Lançamento de androidx.webkit:webkit:1.13.0-alpha01. A versão 1.13.0-alpha01 contém estas confirmações.

Novos recursos

  • Adição da API experimental WebView para inicialização assíncrona. (I94b8a).
  • Pré-busca de URL no Perfil: uma nova API foi lançada no Perfil para permitir que os desenvolvedores acionem a pré-busca de URL. Limpeza de pré-busca: adicionamos uma API para limpar pré-buscas em andamento. (I42c5c).

Mudanças na API

  • O uso de WebView.startSafeBrowsing foi descontinuado. (If5626).

Versão 1.12

Versão 1.12.1

2 de outubro de 2024

Lançamento de androidx.webkit:webkit:1.12.1. A versão 1.12.1 contém estas confirmações.

Correções de bugs

  • Solução do problema que impedia as APIs 1.12.0 de ficarem disponíveis na versão.

Versão 1.12.0

18 de setembro de 2024

Lançamento de androidx.webkit:webkit:1.12.0. A versão 1.12.0 contém estas confirmações.

Mudanças importantes desde a versão 1.11.0

  • Adição de uma nova API a WebSettingsCompat para ativar/desativar o BackForwardCache para esse WebSettings. Essa API é experimental e pode mudar no futuro. (aosp/3111705).
  • Adição de uma nova API ao WebSettingsCompat para controlar o comportamento de carregamento especulativo para este WebSettings. Por enquanto, apenas o Prerender está disponível. Essa API é experimental e pode mudar no futuro. (I13962).
  • Adição de uma nova API para ativar a Autenticação da Web em WebView. Os desenvolvedores podem ativar/desativar chamadas WebAuthn em um WebView para os apps usando WebSettingsCompat#setWebAuthenticationSupport. (I8187f).

Versão 1.12.0-rc01

4 de setembro de 2024

Lançamento de androidx.webkit:webkit:1.12.0-rc01. Esta versão não contém mudanças em relação à 1.12.0-beta01.

Versão 1.12.0-beta01

21 de agosto de 2024

Lançamento de androidx.webkit:webkit:1.12.0-beta01. A versão 1.12.0-beta01 contém estas confirmações.

Correções de bugs

  • O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (Ia60e0, b/345472586).

Versão 1.12.0-alpha02

12 de junho de 2024

Lançamento de androidx.webkit:webkit:1.12.0-alpha02. A versão 1.12.0-alpha02 contém estas confirmações.

Novos recursos

  • Adição de uma nova API a WebSettingsCompat para ativar/desativar BackForwardCache. Essa API é experimental e pode mudar no futuro. (I64a38).
  • Uma nova API foi adicionada a WebSettingsCompat para controlar o comportamento de carregamento especulativo para essas WebSettings. Por enquanto, apenas o Prerender está disponível. Essa API é experimental e pode mudar no futuro. (I13962).

Mudanças na API

  • Alguns métodos agora são documentados com @UiThread quando apropriado. (I6c7e0), (I44541).
  • Os métodos seguros para linha de execução agora são documentados com @AnyThread. (I70189).
  • Aumento de minSdkVersion de 19 para 21. (Id7a43).

Versão 1.12.0-alpha01

17 de abril de 2024

Lançamento de androidx.webkit:webkit:1.12.0-alpha01. A versão 1.12.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova API para ativar a autenticação da Web em WebView. Developers. Ela pode ativar/desativar chamadas WebAuthn em um WebView para os apps usando WebSettingsCompat#setWebAuthenticationSupport. (I8187f).

Versão 1.11

Versão 1.11.0

1º de maio de 2024

Lançamento de androidx.webkit:webkit:1.11.0. A versão 1.11.0 contém estas confirmações.

Mudanças importantes desde a versão 1.10.0

  • Permitir que os apps controlem a reprodução de áudio em WebView usando as novas APIs setAudioMuted e isAudioMuted, que são análogas ao silenciamento de uma guia no Chrome.
  • Foi introduzido o URLUtilCompat, que oferece suporte à análise de cabeçalhos Content-Disposition que usam o atributo de valor codificado filename*, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalho Content-Disposition, em que um nome de arquivo sugerido com base no URL e no tipo MIME não é desejado.

Versão 1.11.0-rc01

3 de abril de 2024

Lançamento de androidx.webkit:webkit:1.11.0-rc01. Esta versão não contém mudanças em relação à 1.11.0-beta01.

Versão 1.11.0-beta01

20 de março de 2024

androidx.webkit:webkit:1.11.0-beta01 é lançado sem mudanças significativas. A versão 1.11.0-beta01 contém estas confirmações.

Versão 1.11.0-alpha02

21 de fevereiro de 2024

Lançamento de androidx.webkit:webkit:1.11.0-alpha02. A versão 1.11.0-alpha02 contém estas confirmações.

Novos recursos

  • Os métodos setAudioMuted e isAudioMuted foram adicionados para silenciar (e reativar) WebViews. Esse método permite impedir que um WebView reproduza áudio. (Ie7a33).

Mudanças na API

  • URLUtilCompat foi definido como final, porque não pode ter uma subclasse. (I49ec1).

Versão 1.11.0-alpha01

7 de fevereiro de 2024

Lançamento de androidx.webkit:webkit:1.11.0-alpha01. A versão 1.11.0-alpha01 contém estas confirmações.

Novos recursos

  • Adição de compatibilidade com URLUtil.guessFileName. A versão de compatibilidade em URLUtilCompat oferece suporte à análise de cabeçalhos Content-Disposition que usam o atributo de valor codificado filename*, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalho Content-Disposition, em que um nome de arquivo sugerido com base no URL e no tipo MIME não é desejado. (If6ae7, b/309927164).

Versão 1.10

Versão 1.10.0

24 de janeiro de 2024

Lançamento de androidx.webkit:webkit:1.10.0. A versão 1.10.0 contém estas confirmações.

Mudanças importantes desde a versão 1.9.0

Versão 1.10.0-rc01

10 de janeiro de 2024

Lançamento de androidx.webkit:webkit:1.10.0-rc01. Esta versão não contém mudanças em relação à 1.10.0-beta01.

Versão 1.10.0-beta01

13 de dezembro de 2023

Lançamento de androidx.webkit:webkit:1.10.0-beta01. A versão 1.10.0-beta01 contém estas confirmações.

  • Nenhuma mudança funcional em relação à 1.10.0-alpha01.

Versão 1.10.0-alpha01

29 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.10.0-alpha01. A versão 1.10.0-alpha01 contém estas confirmações.

Novos recursos

  • Uma nova API foi adicionada a WebSettingsCompat para controlar o comportamento experimental da API Media Integrity do Android WebView desativando a API por completo ou restringindo o compartilhamento da identidade do aplicativo na resposta da API. Isso pode ser alternado para todas as origens e por origem.

Versão 1.9

Versão 1.9.0

29 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0. A versão 1.9.0 contém estas confirmações.

Mudanças importantes desde a versão 1.8.0

  • Adição de uma nova API de vários perfis para WebViews.
  • Foi adicionada uma API para injetar e executar o JavaScript antes do carregamento da página.
    • A API WebViewCompat#addDocumentStartJavascript permite que os apps injetem scripts em um WebView, que serão executados antes de qualquer script de página. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas desejadas. Ao contrário da WebView#evaluateJavascript, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. Os apps podem usar essa nova API em combinação com WebViewCompat#addWebMessageListener para configurar a comunicação bidirecional com o JavaScript na página de maneira confiável.
  • Foram adicionadas APIs para modificar como os eventos da Attribution Reporting do Sandbox de privacidade são registrados.
    • Apresentamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior, que permite aos desenvolvedores configurar se as fontes e os acionadores de atribuição são registrados como provenientes do próprio app ou do conteúdo da Web na WebView. Esse método também pode ser usado para desativar o Attribution Reporting na WebView. Além disso, adicionamos uma nova API WebSettingsCompat#getAttributionRegistrationBehavior para receber o comportamento atual.
    • Para mais informações, consulte a documentação do Sandbox de privacidade.
  • APIs adicionadas para substituir os metadados do user-agent para dicas de cliente.
    • Introduzimos uma nova API, WebSettingsCompat#setUserAgentMetadata, para substituir os metadados do user agent da WebView usados para preencher as dicas do cliente do user agent. Também adicionamos outra nova API, WebSettingsCompat#getUserAgentMetadata, para receber as substituições atuais do user agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos sempre que o app mudar a string de agente do usuário padrão usando WebSettings.setUserAgentString para garantir que os valores corretos sejam usados em todas as situações.

Versão 1.9.0-rc01

15 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-rc01. Esta versão não contém mudanças em relação à 1.9.0-beta01.

Versão 1.9.0-beta01

1º de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-beta01. A versão 1.9.0-beta01 contém estas confirmações.

Mudanças na API

  • Resolução do problema de nulidade da API de metadados do user-agent. Atualizamos a classe BrandVersion para usar o padrão de builder e tornamos a nulidade dos getters e setters da classe UserAgentMetadata consistente. (Ibf195).
  • Como anotar ProfileStore, WebViewCompat#setProfile e WebViewCompat.getProfile com @UiThread. (I499b2).

Versão 1.9.0-alpha01

18 de outubro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-alpha01. A versão 1.9.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos a API de vários perfis, que permite ter sessões de navegação separadas entre WebViews. Cada perfil tem os próprios dados (por exemplo, cookies). É possível criar perfis, atribuí-los a instâncias WebView e recuperá-los mais tarde para qualquer acesso a dados. Há uma classe Singleton ProfileStore para ajudar a gerenciar perfis por criação ou exclusão com APIs: getOrCreateProfile, getProfile, getAllProfileNames e deleteProfile. A classe Profile terá APIs diferentes para usar e receber dados associados a esse perfil, como o nome, GeoLocationPermissions, ServiceWorkerController, CookieManager e WebStorage. Por padrão, cada WebView será executado com o perfil padrão. No entanto, você pode mudar isso usando WebViewCompat#setProfile. Além disso, o perfil de um WebView pode ser recuperado usando WebViewCompat#getProfile. (I32d22).
  • Adicione APIs para modificar como os eventos da Attribution Reporting são registrados. Lançamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior, que permite aos desenvolvedores configurar se as origens e os acionadores são registrados como provenientes do próprio app ou do conteúdo da Web no WebView. Esse método também pode ser usado para desativar o Relatório de atribuição no WebView. Além disso, adicionamos uma nova API WebSettingsCompat#getAttributionRegistrationBehavior para receber o comportamento atual. Para mais informações, consulte a documentação do Sandbox de privacidade. (I661f2).
  • Adicione APIs para substituir os metadados do user agent. Lançamos uma nova API WebSettingsCompat#setUserAgentMetadata para substituir os metadados do user-agent da WebView, que é usada para preencher as dicas do cliente do user-agent. Também adicionamos outra nova API WebSettingsCompat#getUserAgentMetadata para conseguir substituições atuais do user-agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos em vez de depender da alteração do user-agent. (I74500).
  • Adicione uma API para injetar o JavaScript a ser executado durante o carregamento da página. A API WebViewCompat.addDocumentStartJavascript permite que os apps injetem scripts em uma WebView, que será executada antes de qualquer script de página ser executado. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas desejadas. Ao contrário da WebView.evaluateJavascript, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. (Ide063).

Versão 1.8

Versão 1.8.0

6 de setembro de 2023

Lançamento de androidx.webkit:webkit:1.8.0. A versão 1.8.0 contém estas confirmações.

Mudanças importantes desde a versão 1.7.0

Versão 1.8.0-rc01

9 de agosto de 2023

androidx.webkit:webkit:1.8.0-rc01 é lançado sem mudanças desde 1.8.0-beta01. A versão 1.8.0-rc01 contém estas confirmações.

Versão 1.8.0-beta01

26 de julho de 2023

androidx.webkit:webkit:1.8.0-beta01 é lançado sem mudanças desde 1.8.0-alpha01. A versão 1.8.0-beta01 contém estas confirmações.

Versão 1.8.0-alpha01

7 de junho de 2023

Lançamento de androidx.webkit:webkit:1.8.0-alpha01. A versão 1.8.0-alpha01 contém estas confirmações.

Mudanças na API

  • Consulte a seção "Contribuição externa".

Contribuição externa

  • Foi adicionado suporte para a transmissão de ArrayBuffer por WebMessagePortCompat#postMessage, JsReplyProxy#postMessage e WebViewCompat#postWebMessage, recebimento de ArrayBuffer do JavaScript por WebMessagePortCompat e WebMessageListener e recebimento de ArrayBuffer transferível do JavaScript por WebMessagePortCompat. Essa API só vai estar disponível na versão 116 do WebView. (Ie7567, b/251152171).

Versão 1.7

Versão 1.7.0

24 de maio de 2023

Lançamento de androidx.webkit:webkit:1.7.0. A versão 1.7.0 contém estas confirmações.

Mudanças importantes desde a versão 1.6.0

  • Adicionamos suporte para arrastar imagens em WebView. Para permitir que os usuários arrastem imagens para fora do WebView, adicione o novo DropDataContentProvider ao manifesto do app, conforme descrito na documentação da classe.
  • Adicionamos a API ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), que pode ser usada para definir os diretórios básicos que o WebView vai usar para o processo atual. Como todos os métodos em ProcessGlobalConfig, esse método precisa ser chamado antes da primeira instância de WebView ser instanciada. Esse método foi adicionado para fornecer ao framework do Android a capacidade de ajustar as configurações de WebView. Para aplicativos de uso geral, não é recomendável usar esse método.

Versão 1.7.0-rc01

10 de maio de 2023

androidx.webkit:webkit:1.7.0-rc01 é lançado sem mudanças desde 1.7.0-beta01. A versão 1.7.0-rc01 contém estas confirmações.

Versão 1.7.0-beta01

5 de abril de 2023

Lançamento de androidx.webkit:webkit:1.7.0-beta01. A versão 1.7.0-beta01 contém estas confirmações.

Mudanças na API

  • Mudança menor na flag de recurso e no nome do método, além de fazer com que setDirectoryBasePaths() aceite o arquivo em vez de String (Ib0d0a).

Versão 1.7.0-alpha03

8 de março de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha03. A versão 1.7.0-alpha03 contém estas confirmações.

Mudanças na API

  • Adição da API ProcessGlobalConfig#setDirectoryBasePath(String, String), que pode ser usada para definir os diretórios básicos que o WebView vai usar para o processo atual. (Ibd1a1, b/250553687).

Correções de bugs

  • Correção da regra ProGuard inválida que causava erros de build ao usar DexGuard (Ia65c2, b/270034835).

Versão 1.7.0-alpha02

8 de fevereiro de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha02. A versão 1.7.0-alpha02 contém estas confirmações.

Correções de bugs

  • Bugs de documentação para DropDataContentProvider.

Versão 1.7.0-alpha01

25 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha01. A versão 1.7.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos suporte ao arrastar imagens em WebView. Para permitir que os usuários arrastem imagens para fora do WebView, adicione o novo DropDataContentProvider ao manifesto do app. (05a1a6).

Versão 1.6

Versão 1.6.1

22 de março de 2023

Lançamento de androidx.webkit:webkit:1.6.1. A versão 1.6.1 contém estas confirmações.

Correções de bugs

  • Correção de um erro de análise do ProGuard (Ia65c2).

Versão 1.6.0

25 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.6.0. A versão 1.6.0 contém estas confirmações.

Mudanças importantes desde a versão 1.5.0

  • Uma nova API ProcessGlobalConfig foi adicionada para permitir que os apps forneçam configurações que precisam ser definidas antes de carregar a WebView, como o sufixo do diretório de dados da WebView. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que ela aconteça antes que qualquer outra linha de execução possa chamar um método que carregue WebView no processo.
  • Uma nova API CookieManagerCompat foi adicionada para expandir android.webkit.CookieManager com um novo método getCookieInfo, que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso é diferente da API getCookie em CookieManager, que retorna apenas os atributos de nome e valor dos cookies.
  • O WebSettingsCompat tem novos métodos para ativar/desativar o efeito de EnterpriseAuthenticationAppLinkPolicy, se definido pelo administrador em WebView, e para pegar a configuração atual. Esse recurso permite que a WebView abra um app de autenticação em vez do URL de autenticação. Esse recurso não afeta dispositivos que não são gerenciados por uma política corporativa.
  • Adição de uma nova API a WebSettingsCompat para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalho X-Requested-With para origens na lista de permissões. O cabeçalho sempre foi enviado em cada solicitação de WebView.

Versão 1.6.0-rc01

11 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.6.0-rc01. A versão 1.6.0-rc01 contém estas confirmações.

Correções de bugs

  • Correção de NullPointerException em WebViewFeature.isStartupFeatureSupported(Context, String) ao executar no SDK < L. (Ic7292).

Versão 1.6.0-beta01

7 de dezembro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-beta01. A versão 1.6.0-beta01 contém estas confirmações.

Mudanças na API

  • ProcessGlobalConfig foi alterado para usar um construtor normal e um método de aplicação estático. O método de aplicação só pode ser chamado uma vez por processo, o mais cedo possível, e vai gerar IllegalStateException se for chamado mais de uma vez. Os objetos ProcessGlobalConfig não têm mais restrições sobre quantas vezes os setters podem ser chamados. (I456c3).

Versão 1.6.0-alpha03

9 de novembro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha03. A versão 1.6.0-alpha03 contém estas confirmações.

Novos recursos

  • Adição da classe ProcessGlobalConfig, que permite que os usuários definam a configuração global do processo antes de carregar WebView. WebView tem alguns parâmetros de configuração globais do processo que não podem ser alterados depois que WebView é carregado (por exemplo, o diretório de dados WebView). Essa classe permite que os apps definam esses parâmetros. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que ela aconteça antes que qualquer outra linha de execução possa chamar um método que carregue WebView no processo. (I7c0e0, b/250553687).
  • Adição de uma nova API para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalho X-Requested-With para origens na lista de permissões. O cabeçalho sempre foi enviado em cada solicitação de WebView. (I0adfe, b/226552535).

Mudanças na API

  • A API WebSettingsCompat#setAlgorithmicDarkeningAllowed tem suporte em todas as versões do Android na WebView versão 105 e mais recentes. As versões anteriores da WebView só ofereciam suporte à API no Android Q e em versões mais recentes. Como resultado, essa API não é mais marcada como @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d).

Versão 1.6.0-alpha02

24 de outubro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha02. A versão 1.6.0-alpha02 contém estas confirmações.

Novos recursos

  • Adiciona uma nova classe CookieManagerCompat com uma API getCookieInfo que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso é diferente da API getCookie em CookieManager, que retorna apenas os atributos de nome e valor dos cookies. (I07365, b/242161756).

Versão 1.6.0-alpha01

24 de agosto de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha01. A versão 1.6.0-alpha01 contém estas confirmações.

Novos recursos

  • Foram adicionadas APIs em WebSettingsCompat para ativar/desativar o efeito de EnterpriseAuthenticationAppLinkPolicy se definido pelo administrador em WebView. Esse recurso permite que o WebView abra um app de autenticação em vez do URL de autenticação. Esse recurso não afeta dispositivos que não são gerenciados por uma política corporativa.

Versão 1.5.0

Versão 1.5.0

24 de agosto de 2022

Lançamento de androidx.webkit:webkit:1.5.0. A versão 1.5.0 contém estas confirmações.

Mudanças importantes desde a versão 1.4.0

  • Uma nova API setAlgorithmicDarkeningAllowed em WebSettingsCompat substitui as APIs setForceDark e setForceDarkStrategy antigas. Os apps destinados ao SDK 33 e mais recentes (T) precisam usar a nova API, já que a antiga não vai mais ter efeito para esses apps.
  • Agora, uma lista de permissões de URLs para usar o proxy configurado pode ser definida em ProxyCofig.Builder definindo setReverseBypassEnabled como true. Quando isso estiver em vigor, todos os outros URLs vão ignorar o proxy configurado.

Versão 1.5.0-rc01

10 de agosto de 2022

androidx.webkit:webkit:1.5.0-rc01 é lançado sem mudanças desde 1.5.0-beta01. A versão 1.5.0-rc01 contém estas confirmações.

Versão 1.5.0-beta01

29 de junho de 2022

Lançamento de androidx.webkit:webkit:1.5.0-beta01. A versão 1.5.0-beta01 contém estas confirmações.

Mudanças na API

  • As APIs relacionadas ao escurecimento algorítmico agora são marcadas para exigir o nível Q da API. A API não vai ter efeito nos níveis de API anteriores ao Q, já que o tema escuro não é uma opção nesses dispositivos. (I0905e).

Versão 1.5.0-alpha01

18 de maio de 2022

Lançamento de androidx.webkit:webkit:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicione um novo método getVariationsHeader() em WebViewCompat para receber o valor do cabeçalho X-Client-Data enviado pelo WebView. O valor retornado será um protobuf ClientVariations codificado em base64.
  • APIs foram adicionadas em WebSettingsCompat para permitir/proibir o escurecimento algorítmico de apps com targetSdk >= 33. (I29597).

Mudanças na API

  • Um novo método foi adicionado em ProxyCofig.Builder para definir o bypass reverso. Definir o bypass reverso como verdadeiro significa que apenas os URLs na lista de bypass vão usar as configurações de proxy. (I9eaa2, b/168728599).

Correções de bugs

  • Correção de um erro de digitação na documentação do tema escuro. (I36ebf, b/194343633).
  • Correção de um bug em que os métodos WebViewAssetLoader.Builder dependiam da ordem involuntariamente (If420d, b/182196765).

Versão 1.4.0

Versão 1.4.0

16 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0. A versão 1.4.0 contém estas confirmações.

Principais mudanças desde a versão 1.3.0

  • Adição de uma nova API setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API suspensa.
  • Correção de um bug no setProxyOverride que fazia com que as regras de substituição não fossem aplicadas corretamente.

Versão 1.4.0-rc02

2 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0-rc02. A versão 1.4.0-rc02 contém estas confirmações.

Correções de bugs

  • Corrige a aplicação incorreta de regras de substituição durante o uso de setProxyOverride.

Versão 1.4.0-rc01

11 de novembro de 2020

androidx.webkit:webkit:1.4.0-rc01 é lançado sem mudanças desde 1.4.0-beta01. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta01

14 de outubro de 2020

androidx.webkit:webkit:1.4.0-beta01 é lançado sem mudanças desde 1.4.0-alpha01. A versão 1.4.0-beta01 contém estas confirmações.

Versão 1.4.0-alpha01

16 de setembro de 2020

androidx.webkit:webkit:1.4.0-alpha01 é lançado. A versão 1.4.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova API WebViewCompat#setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código deles para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API obsoleta (I8d65d).

Versão 1.3.0

Versão 1.3.0

19 de agosto de 2020

androidx.webkit:webkit:1.3.0 é lançado. A versão 1.3.0 contém estas confirmações.

Principais mudanças desde a versão 1.2.0

  • A API ForceDarkStrategy oferece mais controle para o escurecimento do WebView (escurecimento de conteúdo da Web/CSS em comparação com o escurecimento automático).
  • A WebMessageListener e as APIs relacionadas fornecem um mecanismo simples e seguro para estabelecer comunicação entre conteúdos da Web e o aplicativo incorporado do WebView.
  • API isMultiProcessEnabled para verificar se o WebView está sendo executado em vários processos. Isso é possível a partir do Android O e significa que o conteúdo da Web é renderizado em um processo de renderizador em sandbox separado para o processo do aplicativo. Esse renderizador em sandbox pode ser compartilhado com outros WebViews no mesmo aplicativo, mas não é compartilhado com outros processos do aplicativo.

Versão 1.3.0-rc02

5 de agosto de 2020

androidx.webkit:webkit:1.3.0-rc02 é lançado. A versão 1.3.0-rc02 contém estas confirmações.

Correções de bugs

  • Isso corrige um problema de compatibilidade em que o WebMessageListener às vezes falhava durante o desenvolvimento local se o app fosse iniciado com a execução instantânea do Android Studio.

Versão 1.3.0-rc01

24 de junho de 2020

androidx.webkit:webkit:1.3.0-rc01 é lançado sem mudanças desde 1.3.0-beta01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

10 de junho de 2020

androidx.webkit:webkit:1.3.0-beta01 é lançado. A versão 1.3.0-beta01 contém estas confirmações.

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do CSS/conteúdo da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.
  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Versão 1.3.0-alpha03

27 de maio de 2020

androidx.webkit:webkit:1.3.0-alpha03 é lançado. A versão 1.3.0-alpha03 contém essas confirmações.

Mudanças na API

  • O método addWebMessageListener agora recebe uma Set<String> de regras de origem permitidas (antes era uma List<String>).

Versão 1.3.0-alpha02

29 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha02 é lançado. A versão 1.3.0-alpha02 contém estas confirmações.

Novos recursos

  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Mudanças na API

  • Todas as constantes de estratégia escuras agora têm o prefixo DARK_STRATEGY.

Versão 1.3.0-alpha01

15 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha01 é lançado. A versão 1.3.0-alpha01 contém estas confirmações.

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do conteúdo CSS/da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.

Versão 1.2.0

Versão 1.2.0

4 de março de 2020

androidx.webkit:webkit:1.2.0 é lançado. A versão 1.2.0 contém estas confirmações.

Principais mudanças desde a versão 1.1.0

  • A API ForceDark foi adicionada para controlar se os WebViews serão renderizados no modo escuro.

Versão 1.2.0-rc01

19 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-rc01 é lançado sem mudanças desde 1.2.0-beta01. A versão 1.2.0-rc01 contém estas confirmações.

Versão 1.2.0-beta01

5 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-beta01 é lançado sem mudanças desde 1.2.0-alpha01. Versão 1.2.0-beta01 contém essas confirmações (link em inglês).

Versão 1.2.0-alpha01

18 de dezembro de 2019

androidx.webkit:webkit:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • API ForceDark para controlar a renderização dos WebViews no modo escuro.

Versão 1.1.0

Versão 1.1.0

7 de novembro de 2019

androidx.webkit:webkit:1.1.0 é lançado. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • APIs Getter para complementar setWebViewClient() e setWebChromeClient().
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API WebViewAssetLoader para simplificar o carregamento de recursos APK, recursos e arquivos do diretório de dados do app por meio de interceptação de solicitação. Isso permite o acesso a recursos locais e da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-rc01

9 de outubro de 2019

androidx.webkit:webkit:1.1.0-rc01 é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que o setWebViewRenderProcessClient() poderia falhar se transmitisse um cliente nulo.

Versão 1.1.0-beta01

5 de setembro de 2019

Lançamento de androidx.webkit:webkit:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Novo InternalStoragePathHandler em WebViewAssetLoader para carregar arquivos a partir do diretório de dados do app.

Mudanças na API

  • ProxyConfig#getProxyRules() agora retorna uma lista inalterável de instâncias ProxyRule, que é uma nova classe para manter um filtro de esquema e seu URL de proxy correspondente.

Correções de bugs

  • O valor padrão de WebViewAssetLoader é um tipo MIME "text/plain", em vez de nulo, quando não consegue adivinhar o tipo MIME a partir do caminho do arquivo.
  • WebViewAssetLoader não gera mais NullPointerException ao carregar arquivos com caracteres especiais nos nomes de caminho.

Versão 1.1.0-alpha02

7 de agosto de 2019

androidx.webkit:webkit:1.1.0-alpha02 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • WebViewAssetLoader expõe a interface PathHandler para permitir que os apps criem funcionalidades personalizadas de processamento de caminhos.

Mudanças na API

  • WebViewAssetLoader agora é uma classe final, já que ela não pode ter uma subclasse.
  • As implementações de WebViewAssetLoader#PathHandler agora são públicas e definitivas.
  • Pequenas mudanças nos nomes de métodos ProxyConfig.
  • ProxyController: adição dos novos métodos addDirect() e addDirect(String) para se conectar diretamente aos servidores. A string DIRECT foi removida.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-alpha01

7 de maio de 2019

Lançamento de androidx.webkit:webkit:1.1.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • APIs de getter para complementar setWebViewClient() e setWebChromeClient()
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API AssetLoader para simplificar o carregamento de recursos do APK por meio de interceptação de solicitação, permitindo acesso a recursos da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.

Correções de bugs

  • Pequenas correções na formatação da documentação para APIs existentes.