Webkit

Berfungsi dengan API WebView modern di Android 5 dan yang lebih baru.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
11 Desember 2024 1.9.0 - - 1.13.0-alpha02

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Webkit, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

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

Kotlin

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

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.13

Versi 1.13.0-alpha02

11 Desember 2024

androidx.webkit:webkit:1.13.0-alpha02 dirilis. Versi 1.13.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan API pemberian tag soket ke WebView untuk pencatatan traffic jaringan WebView menggunakan NetworkStatsManager/TrafficStats. Fitur ini hanya akan tersedia dari WebView M133. (Ica441, b/374932688)

Perubahan API

  • Mengupdate Prefetch API dengan mengganti nama PrefetchParameter menjadi SpeculativeLoadingParamaters, memperkenalkan PrefetchNetworkException baru, mengganti PrefetchOperationCallback dengan OutcomeReceiverCompat, dan mengupdate javadoc. (If5072)
  • Mendapatkan informasi diagnostik dari API startup asinkron WebView.
  • Memberikan opsi bagi aplikasi untuk hanya memicu init yang tidak memblokir UI thread. (I9bf2b)

Perbaikan Bug

  • Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I0e4c5, b/326456246)

Versi 1.13.0-alpha01

13 November 2024

androidx.webkit:webkit:1.13.0-alpha01 dirilis. Versi 1.13.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API startup asinkron WebView eksperimental. (I94b8a)
  • Pramuat URL di Profil: Memperkenalkan API baru di Profil untuk memungkinkan developer memicu pramuat URL. Pembersihan Pramuat: Menambahkan API untuk menghapus pramuat yang sedang berlangsung. (I42c5c)

Perubahan API

  • Menghentikan penggunaan WebView.startSafeBrowsing. (If5626)

Versi 1.12

Versi 1.12.1

2 Oktober 2024

androidx.webkit:webkit:1.12.1 dirilis. Versi 1.12.1 berisi commit ini.

Perbaikan Bug

  • Menyelesaikan masalah yang mencegah API 1.12.0 tersedia dalam rilis.

Versi 1.12.0

18 September 2024

androidx.webkit:webkit:1.12.0 dirilis. Versi 1.12.0 berisi commit ini.

Perubahan penting sejak versi 1.11.0

  • Tambahkan API baru ke WebSettingsCompat untuk mengaktifkan/menonaktifkan BackForwardCache untuk WebSettings ini. API ini bersifat eksperimental dan dapat berubah di masa mendatang. (aosp/3111705)
  • Menambahkan API baru ke WebSettingsCompat untuk mengontrol perilaku Pemuatan Spekulatif untuk WebSettings ini. Untuk saat ini, hanya Pra-rendering yang tersedia. API ini bersifat eksperimental dan dapat berubah di masa mendatang. (I13962)
  • Menambahkan API baru untuk mengaktifkan Autentikasi Web di WebView. Developer dapat mengaktifkan/menonaktifkan panggilan WebAuthn di WebView untuk aplikasi mereka menggunakan WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Versi 1.12.0-rc01

4 September 2024

androidx.webkit:webkit:1.12.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.12.0-beta01.

Versi 1.12.0-beta01

21 Agustus 2024

androidx.webkit:webkit:1.12.0-beta01 dirilis. Versi 1.12.0-beta01 berisi commit ini.

Perbaikan Bug

  • Menghapus garis besar manual akses ke API platform baru karena hal ini terjadi secara otomatis melalui pemodelan API saat menggunakan R8 dengan AGP 7.3 atau yang lebih baru (misalnya, R8 versi 3.3) dan untuk semua build saat menggunakan AGP 8.1 atau yang lebih baru (misalnya, D8 versi 8.1). Klien yang tidak menggunakan AGP disarankan untuk mengupdate ke D8 versi 8.1 atau yang lebih baru. Baca artikel ini untuk informasi selengkapnya. (Ia60e0, b/345472586)

Versi 1.12.0-alpha02

12 Juni 2024

androidx.webkit:webkit:1.12.0-alpha02 dirilis. Versi 1.12.0-alpha02 berisi commit ini.

Fitur Baru

  • Tambahkan API baru ke WebSettingsCompat untuk mengaktifkan/menonaktifkan BackForwardCache. API ini bersifat eksperimental dan dapat berubah di masa mendatang. (I64a38)
  • Menambahkan API baru ke WebSettingsCompat untuk mengontrol perilaku Pemuatan Spekulatif untuk WebSettings ini. Untuk saat ini, hanya Pra-rendering yang tersedia. API ini bersifat eksperimental dan dapat berubah di masa mendatang. (I13962)

Perubahan API

  • Beberapa metode kini didokumentasikan dengan @UiThread jika sesuai. (I6c7e0), (I44541)
  • Metode yang aman bagi thread kini didokumentasikan dengan @AnyThread. (I70189)
  • Meningkatkan minSdkVersion dari 19 menjadi 21. (Id7a43)

Versi 1.12.0-alpha01

17 April 2024

androidx.webkit:webkit:1.12.0-alpha01 dirilis. Versi 1.12.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan API baru untuk mengaktifkan Web Authentication di WebView. Developers dapat mengaktifkan/menonaktifkan panggilan WebAuthn di WebView untuk aplikasi mereka menggunakan WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Versi 1.11

Versi 1.11.0

1 Mei 2024

androidx.webkit:webkit:1.11.0 dirilis. Versi 1.11.0 berisi commit ini.

Perubahan penting sejak versi 1.10.0

  • Mengizinkan aplikasi mengontrol pemutaran audio di WebView melalui setAudioMuted dan isAudioMuted API baru, yang analog dengan membisukan tab di Chrome.
  • Memperkenalkan URLUtilCompat, yang mendukung penguraian header Content-Disposition yang menggunakan atribut nilai yang dienkode filename* seperti yang ditentukan dalam RFC 6266. API kompatibilitas juga secara langsung mengekspos metode untuk mengurai header Content-Disposition jika nama file yang disarankan berdasarkan URL dan jenis MIME tidak diinginkan.

Versi 1.11.0-rc01

3 April 2024

androidx.webkit:webkit:1.11.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.11.0-beta01.

Versi 1.11.0-beta01

20 Maret 2024

androidx.webkit:webkit:1.11.0-beta01 dirilis tanpa perubahan penting. Versi 1.11.0-beta01 berisi commit ini.

Versi 1.11.0-alpha02

21 Februari 2024

androidx.webkit:webkit:1.11.0-alpha02 dirilis. Versi 1.11.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan metode setAudioMuted dan isAudioMuted untuk membisukan (dan membatalkan bisukan) WebViews. Dengan metode ini, Anda dapat mencegah WebView memutar audio. (Ie7a33)

Perubahan API

  • URLUtilCompat dibuat final karena tidak boleh dijadikan subclass. (I49ec1)

Versi 1.11.0-alpha01

7 Februari 2024

androidx.webkit:webkit:1.11.0-alpha01 dirilis. Versi 1.11.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan kompatibilitas untuk URLUtil.guessFileName. Versi kompatibilitas di URLUtilCompat mendukung penguraian header Content-Disposition yang menggunakan atribut nilai yang dienkode filename* seperti yang ditentukan dalam RFC 6266. API kompatibilitas juga secara langsung mengekspos metode untuk mengurai header Content-Disposition jika nama file yang disarankan berdasarkan URL dan jenis MIME tidak diinginkan. (If6ae7, b/309927164)

Versi 1.10

Versi 1.10.0

24 Januari 2024

androidx.webkit:webkit:1.10.0 dirilis. Versi 1.10.0 berisi commit ini.

Perubahan penting sejak 1.9.0

Versi 1.10.0-rc01

10 Januari 2024

androidx.webkit:webkit:1.10.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.10.0-beta01.

Versi 1.10.0-beta01

13 Desember 2023

androidx.webkit:webkit:1.10.0-beta01 dirilis. Versi 1.10.0-beta01 berisi commit ini.

  • Tidak ada perubahan fungsi dari 1.10.0-alpha01.

Versi 1.10.0-alpha01

29 November 2023

androidx.webkit:webkit:1.10.0-alpha01 dirilis. Versi 1.10.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API baru ke WebSettingsCompat untuk mengontrol perilaku Android WebView Media Integrity API eksperimental dengan menonaktifkan API sepenuhnya, atau membatasi pembagian identitas aplikasi dalam respons API. Hal ini dapat diaktifkan atau dinonaktifkan untuk semua origin dan per origin.

Versi 1.9

Versi 1.9.0

29 November 2023

androidx.webkit:webkit:1.9.0 dirilis. Versi 1.9.0 berisi commit ini.

Perubahan penting sejak versi 1.8.0

  • Menambahkan API multi-profil baru untuk WebView.
  • Menambahkan API untuk memasukkan dan menjalankan JavaScript sebelum pemuatan halaman.
    • WebViewCompat#addDocumentStartJavascript API memungkinkan aplikasi memasukkan skrip ke dalam WebView yang dijamin akan berjalan sebelum skrip halaman dieksekusi. API ini memungkinkan aplikasi menentukan daftar target origin tempat skrip akan diaktifkan, sehingga memastikan skrip hanya berjalan di halaman yang diinginkan. Tidak seperti WebView#evaluateJavascript, API ini akan mengizinkan eksekusi skrip di Iframe tersemat saat dimuat. Aplikasi dapat menggunakan API baru ini bersama dengan WebViewCompat#addWebMessageListener untuk menyiapkan komunikasi dua arah dengan JavaScript di halaman dengan cara yang andal.
  • Menambahkan API untuk mengubah cara peristiwa Attribution Reporting Privacy Sandbox didaftarkan.
    • Kami memperkenalkan API baru WebSettingsCompat#setAttributionRegistrationBehavior yang memungkinkan developer mengonfigurasi apakah sumber dan pemicu atribusi terdaftar sebagai berasal dari aplikasi itu sendiri atau berasal dari konten web di WebView. Metode ini juga dapat digunakan untuk menonaktifkan Attribution Reporting di WebView. Selain itu, kami menambahkan WebSettingsCompat#getAttributionRegistrationBehavior API baru untuk mendapatkan perilaku saat ini.
    • Untuk informasi selengkapnya, lihat dokumentasi Privacy Sandbox.
  • Menambahkan API untuk mengganti metadata agen pengguna untuk petunjuk klien.
    • Kami memperkenalkan API baru, WebSettingsCompat#setUserAgentMetadata untuk mengganti metadata agen pengguna untuk WebView yang digunakan untuk mengisi petunjuk klien agen pengguna, dan kami juga menambahkan API baru lainnya WebSettingsCompat#getUserAgentMetadata untuk mendapatkan penggantian agen pengguna saat ini. Sebaiknya aplikasi menggunakan API baru untuk menetapkan nilai penggantian yang tepat setiap kali aplikasi mengubah string agen pengguna default menggunakan WebSettings.setUserAgentString untuk memastikan nilai yang benar digunakan dalam semua situasi.

Versi 1.9.0-rc01

15 November 2023

androidx.webkit:webkit:1.9.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.9.0-beta01.

Versi 1.9.0-beta01

1 November 2023

androidx.webkit:webkit:1.9.0-beta01 dirilis. Versi 1.9.0-beta01 berisi commit ini.

Perubahan API

  • Mengatasi masalah nullability API metadata agen pengguna. Kita mengupdate class BrandVersion untuk menggunakan pola builder, membuat nullability pengambil dan penyetel class UserAgentMetadata konsisten. (Ibf195)
  • Menganotasi ProfileStore, WebViewCompat#setProfile, dan WebViewCompat.getProfile dengan @UiThread. (I499b2)

Versi 1.9.0-alpha01

18 Oktober 2023

androidx.webkit:webkit:1.9.0-alpha01 dirilis. Versi 1.9.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami menambahkan API multi-profil yang memungkinkan Anda memiliki sesi penjelajahan terpisah di antara WebViews, setiap profil memiliki datanya sendiri (misalnya, cookie). Anda dapat membuat profil, menetapkannya ke instance WebView, dan mengambilnya nanti untuk akses data apa pun. Ada class singleton ProfileStore untuk membantu Anda mengelola profil dengan pembuatan atau penghapusan menggunakan API; getOrCreateProfile, getProfile, getAllProfileNames, dan deleteProfile. Class Profile akan memiliki API yang berbeda untuk digunakan guna mendapatkan data terkait dengan profil ini seperti namanya, GeoLocationPermissions, ServiceWorkerController, CookieManager, dan WebStorage. Setiap WebView akan berjalan dengan profil default secara default, tetapi Anda dapat mengubahnya menggunakan WebViewCompat#setProfile. Terkait dengan hal itu, profil WebView dapat diambil menggunakan WebViewCompat#getProfile. (I32d22)
  • Menambahkan API untuk mengubah cara pendaftaran peristiwa Attribution Reporting. Kami memperkenalkan API baru WebSettingsCompat#setAttributionRegistrationBehavior yang memungkinkan developer mengonfigurasi apakah sumber dan pemicu terdaftar sebagai berasal dari aplikasi itu sendiri atau berasal dari konten web di WebView. Metode ini juga dapat digunakan untuk menonaktifkan Attribution Reporting di WebView. Selain itu, kami menambahkan WebSettingsCompat#getAttributionRegistrationBehavior API baru untuk mendapatkan perilaku saat ini. Untuk informasi selengkapnya, lihat dokumentasi Privacy Sandbox. (I661f2)
  • Menambahkan API untuk mengganti metadata agen pengguna. Kami memperkenalkan API baru WebSettingsCompat#setUserAgentMetadata untuk mengganti metadata agen pengguna untuk WebView, yang digunakan untuk mengisi petunjuk klien agen pengguna, dan kami juga menambahkan API baru lainnya WebSettingsCompat#getUserAgentMetadata untuk mendapatkan penggantian agen pengguna saat ini. Sebaiknya aplikasi menggunakan API baru untuk menetapkan nilai penggantian yang tepat, bukan mengandalkan perubahan agen pengguna. (I74500)
  • Tambahkan API untuk memasukkan JavaScript yang akan dijalankan selama pemuatan halaman. WebViewCompat.addDocumentStartJavascript API memungkinkan aplikasi memasukkan skrip ke WebView yang akan dijalankan sebelum skrip halaman dieksekusi. API ini memungkinkan aplikasi menentukan daftar target origin tempat skrip akan diaktifkan, sehingga memastikan skrip hanya berjalan di halaman yang diinginkan. Tidak seperti WebView.evaluateJavascript, API ini akan mengizinkan eksekusi skrip di Iframe tersemat saat dimuat. (Ide063)

Versi 1.8

Versi 1.8.0

6 September 2023

androidx.webkit:webkit:1.8.0 dirilis. Versi 1.8.0 berisi commit ini.

Perubahan penting sejak versi 1.7.0

Versi 1.8.0-rc01

9 Agustus 2023

androidx.webkit:webkit:1.8.0-rc01 dirilis tanpa perubahan sejak 1.8.0-beta01. Versi 1.8.0-rc01 berisi commit ini.

Versi 1.8.0-beta01

26 Juli 2023

androidx.webkit:webkit:1.8.0-beta01 dirilis tanpa perubahan sejak 1.8.0-alpha01. Versi 1.8.0-beta01 berisi commit ini.

Versi 1.8.0-alpha01

7 Juni 2023

androidx.webkit:webkit:1.8.0-alpha01 dirilis. Versi 1.8.0-alpha01 berisi commit ini.

Perubahan API

  • Lihat bagian Kontribusi Eksternal.

Kontribusi Eksternal

  • Menambahkan dukungan untuk meneruskan ArrayBuffer melalui WebMessagePortCompat#postMessage, JsReplyProxy#postMessage, dan WebViewCompat#postWebMessage, menerima ArrayBuffer dari JavaScript melalui WebMessagePortCompat dan WebMessageListener, serta menerima ArrayBuffer yang dapat ditransfer dari JavaScript melalui WebMessagePortCompat. Perhatikan bahwa API ini hanya akan tersedia dari WebView versi 116. (Ie7567, b/251152171)

Versi 1.7

Versi 1.7.0

24 Mei 2023

androidx.webkit:webkit:1.7.0 dirilis. Versi 1.7.0 berisi commit ini.

Perubahan penting sejak versi 1.6.0

  • Kami menambahkan dukungan untuk penarikan Image di WebView. Anda dapat memungkinkan pengguna untuk menarik gambar dari WebView dengan menambahkan DropDataContentProvider baru ke manifes aplikasi Anda seperti yang dijelaskan dalam dokumentasi class.
  • Kami menambahkan ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) API yang dapat digunakan untuk menetapkan direktori dasar yang akan digunakan WebView untuk proses saat ini. Seperti semua metode di ProcessGlobalConfig, metode ini harus dipanggil sebelum instance WebView pertama dibuat instance-nya. Metode ini ditambahkan untuk memberi framework Android kemampuan untuk menyesuaikan setelan WebView. Untuk aplikasi tujuan umum, penggunaan metode ini tidak direkomendasikan.

Versi 1.7.0-rc01

10 Mei 2023

androidx.webkit:webkit:1.7.0-rc01 dirilis tanpa perubahan sejak 1.7.0-beta01. Versi 1.7.0-rc01 berisi commit ini.

Versi 1.7.0-beta01

5 April 2023

androidx.webkit:webkit:1.7.0-beta01 dirilis. Versi 1.7.0-beta01 berisi commit ini.

Perubahan API

  • Perubahan kecil pada flag fitur dan nama metode serta membuat setDirectoryBasePaths() menerima File, bukan String (Ib0d0a)

Versi 1.7.0-alpha03

8 Maret 2023

androidx.webkit:webkit:1.7.0-alpha03 dirilis. Versi 1.7.0-alpha03 berisi commit ini.

Perubahan API

  • Menambahkan ProcessGlobalConfig#setDirectoryBasePath(String, String) API yang dapat digunakan untuk menetapkan direktori dasar yang akan digunakan WebView untuk proses saat ini. (Ibd1a1, b/250553687)

Perbaikan Bug

  • Memperbaiki aturan ProGuard yang tidak valid yang menyebabkan error build saat menggunakan DexGuard (Ia65c2, b/270034835)

Versi 1.7.0-alpha02

8 Februari 2023

androidx.webkit:webkit:1.7.0-alpha02 dirilis. Versi 1.7.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Bug dokumentasi untuk DropDataContentProvider.

Versi 1.7.0-alpha01

25 Januari 2023

androidx.webkit:webkit:1.7.0-alpha01 dirilis. Versi 1.7.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami menambahkan dukungan untuk penarikan Image di WebView. Anda dapat memungkinkan pengguna untuk menarik gambar dari WebView dengan menambahkan DropDataContentProvider baru ke manifes aplikasi Anda. (05a1a6)

Versi 1.6

Versi 1.6.1

22 Maret 2023

androidx.webkit:webkit:1.6.1 dirilis. Versi 1.6.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki error penguraian proguard (Ia65c2)

Versi 1.6.0

25 Januari 2023

androidx.webkit:webkit:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.

Perubahan penting sejak versi 1.5.0

  • ProcessGlobalConfig API baru telah ditambahkan untuk memungkinkan aplikasi menyediakan setelan konfigurasi yang perlu ditetapkan sebelum memuat WebView, seperti akhiran direktori data WebView. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses.
  • CookieManagerCompat API baru telah ditambahkan untuk memperluas android.webkit.CookieManager dengan metode getCookieInfo baru, yang mengambil semua atribut untuk semua cookie yang ditetapkan di URL tertentu. Hal ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut.
  • WebSettingsCompat memiliki metode baru untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView, dan untuk mendapatkan setelan saat ini. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.
  • Menambahkan API baru ke WebSettingsCompat untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView.

Versi 1.6.0-rc01

11 Januari 2023

androidx.webkit:webkit:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki NullPointerException di WebViewFeature.isStartupFeatureSupported(Context, String) saat berjalan di SDK < L. (Ic7292)

Versi 1.6.0-beta01

7 Desember 2022

androidx.webkit:webkit:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.

Perubahan API

  • ProcessGlobalConfig telah diubah untuk menggunakan konstruktor normal dan metode penerapan statis. Metode penerapan hanya boleh dipanggil sekali per proses, sesegera mungkin, dan akan menampilkan IllegalStateException jika dipanggil lebih dari sekali. Objek ProcessGlobalConfig tidak lagi memiliki batasan terkait berapa kali penyetel dapat dipanggil. (I456c3)

Versi 1.6.0-alpha03

9 November 2022

androidx.webkit:webkit:1.6.0-alpha03 dirilis. Versi 1.6.0-alpha03 berisi commit ini.

Fitur Baru

  • Menambahkan class ProcessGlobalConfig yang memungkinkan pengguna menyetel konfigurasi global proses sebelum memuat WebView. WebView memiliki beberapa parameter konfigurasi global proses yang tidak dapat diubah setelah WebView dimuat (misalnya direktori data WebView). Class ini memungkinkan aplikasi menetapkan parameter ini. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses. (I7c0e0, b/250553687)
  • Menambahkan API baru untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView. (I0adfe, b/226552535)

Perubahan API

  • API WebSettingsCompat#setAlgorithmicDarkeningAllowed didukung di semua versi Android untuk WebView versi 105 dan yang lebih baru. Versi WebView sebelumnya hanya mendukung API di Android Q dan versi yang lebih baru. Akibatnya, API ini tidak lagi ditandai @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

Versi 1.6.0-alpha02

24 Oktober 2022

androidx.webkit:webkit:1.6.0-alpha02 dirilis. Versi 1.6.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan class CookieManagerCompat baru bersama dengan getCookieInfo API yang mengambil semua atribut untuk semua cookie yang ditetapkan pada URL tertentu. Ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut. (I07365, b/242161756)

Versi 1.6.0-alpha01

24 Agustus 2022

androidx.webkit:webkit:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API di WebSettingsCompat untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.

Versi 1.5.0

Versi 1.5.0

24 Agustus 2022

androidx.webkit:webkit:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.

Perubahan penting sejak versi 1.4.0

  • setAlgorithmicDarkeningAllowed API baru di WebSettingsCompat menggantikan setForceDark API dan setForceDarkStrategy API lama. Aplikasi yang menargetkan SDK 33 dan yang lebih tinggi (T) harus menggunakan API baru, karena API lama tidak akan lagi berpengaruh pada aplikasi tersebut.
  • Daftar URL yang diizinkan untuk menggunakan proxy yang dikonfigurasi sekarang dapat disetel melalui ProxyCofig.Builder dengan menyetel setReverseBypassEnabled ke true. Saat perubahan ini berlaku, semua URL lain akan mengabaikan proxy yang dikonfigurasi.

Versi 1.5.0-rc01

10 Agustus 2022

androidx.webkit:webkit:1.5.0-rc01 dirilis tanpa perubahan sejak 1.5.0-beta01. Versi 1.5.0-rc01 berisi commit ini.

Versi 1.5.0-beta01

29 Juni 2022

androidx.webkit:webkit:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.

Perubahan API

  • API terkait Penggelapan Algoritmis kini dianotasi untuk memerlukan API level Q. API ini tidak akan berpengaruh pada API level < Q, karena tema gelap bukanlah opsi pada perangkat tersebut. (I0905e)

Versi 1.5.0-alpha01

18 Mei 2022

androidx.webkit:webkit:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan metode getVariationsHeader() baru di WebViewCompat untuk mendapatkan nilai header X-Client-Data yang dikirim oleh WebView. Nilai yang ditampilkan akan berupa protobuf ClientVariations yang dienkode base64.
  • Menambahkan API pada WebSettingsCompat guna mengizinkan/melarang penggelapan algoritmis untuk aplikasi dengan targetSdk >= 33. (I29597)

Perubahan API

  • Menambahkan metode baru di ProxyCofig.Builder untuk menetapkan pengabaian terbalik. Menyetel pengabaian balik ke benar (true) berarti hanya URL dalam daftar pengabaian yang akan menggunakan setelan proxy. (I9eaa2, b/168728599)

Perbaikan Bug

  • Memperbaiki kesalahan ketik dalam dokumentasi tema gelap. (I36ebf, b/194343633)
  • Memperbaiki bug ketika metode WebViewAssetLoader.Builder tidak sengaja bergantung pada urutan. (If420d, b/182196765)

Versi 1.4.0

Versi 1.4.0

16 Desember 2020

androidx.webkit:webkit:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan utama sejak versi 1.3.0

  • Menambahkan setSafeBrowsingAllowlist() API baru untuk mengganti setSafeBrowsingWhitelist(). Hal ini membantu aplikasi memperbarui kode untuk menghindari penggunaan terminologi non-inklusif, dengan tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi.
  • Memperbaiki bug dalam setProxyOverride yang menyebabkan aturan penggantian tidak diterapkan dengan benar.

Versi 1.4.0-rc02

2 Desember 2020

androidx.webkit:webkit:1.4.0-rc02 dirilis. Versi 1.4.0-rc02 berisi commit ini.

Perbaikan Bug

  • Memperbaiki aturan penggantian yang tidak diterapkan dengan benar saat menggunakan setProxyOverride.

Versi 1.4.0-rc01

11 November 2020

androidx.webkit:webkit:1.4.0-rc01 dirilis tanpa perubahan sejak 1.4.0-beta01. Versi 1.4.0-rc01 berisi commit ini.

Versi 1.4.0-beta01

14 Oktober 2020

androidx.webkit:webkit:1.4.0-beta01 dirilis tanpa perubahan sejak 1.4.0-alpha01. Versi 1.4.0-beta01 berisi commit ini.

Versi 1.4.0-alpha01

16 September 2020

androidx.webkit:webkit:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan WebViewCompat#setSafeBrowsingAllowlist() baru untuk menggantikan setSafeBrowsingWhitelist(). Tindakan ini membantu aplikasi memperbarui kodenya untuk menghindari penggunaan terminologi non-inklusif, sambil tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi. (I8d65d)

Versi 1.3.0

Versi 1.3.0

19 Agustus 2020

androidx.webkit:webkit:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.

Perubahan utama sejak versi 1.2.0

  • ForceDarkStrategy API memberikan lebih banyak kontrol pada penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener dan API terkait menyediakan mekanisme yang sederhana dan aman untuk membuat komunikasi antara konten web dan aplikasi penyemat WebView.
  • isMultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses. Ini mungkin dimulai di Android O dan berarti konten web dirender dalam proses perender dengan sandbox yang terpisah dari proses aplikasi. Perender dengan sandbox ini dapat dibagikan ke WebView lain dalam aplikasi yang sama, tetapi tidak dibagikan ke proses aplikasi lain.

Versi 1.3.0-rc02

5 Agustus 2020

androidx.webkit:webkit:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.

Perbaikan Bug

  • Jika aplikasi Anda dimulai dengan dijalankannya Android Studio secara instan, perbaikan ini akan menangani masalah kompatibilitas saat WebMessageListener terkadang mengalami error selama pengembangan lokal.

Versi 1.3.0-rc01

24 Juni 2020

androidx.webkit:webkit:1.3.0-rc01 dirilis tanpa perubahan sejak 1.3.0-beta01. Versi 1.3.0-rc01 berisi commit ini.

Versi 1.3.0-beta01

10 Juni 2020

androidx.webkit:webkit:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.
  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Versi 1.3.0-alpha03

27 Mei 2020

androidx.webkit:webkit:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.

Perubahan API

  • Metode addWebMessageListener kini menerima Set<String> aturan asal yang diizinkan (sebelumnya List<String>).

Versi 1.3.0-alpha02

29 April 2020

androidx.webkit:webkit:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.

Fitur Baru

  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Perubahan API

  • Semua konstanta strategi gelap sekarang diberi awalan dengan DARK_STRATEGY.

Versi 1.3.0-alpha01

15 April 2020

androidx.webkit:webkit:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.

Versi 1.2.0

Versi 1.2.0

4 Maret 2020

androidx.webkit:webkit:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan utama sejak versi 1.1.0

  • Menambahkan ForceDark API untuk mengontrol apakah WebView seharusnya dirender dalam mode gelap.

Versi 1.2.0-rc01

19 Februari 2020

androidx.webkit:webkit:1.2.0-rc01 dirilis tanpa perubahan sejak 1.2.0-beta01. Versi 1.2.0-rc01 berisi commit ini.

Versi 1.2.0-beta01

5 Februari 2020

androidx.webkit:webkit:1.2.0-beta01 dirilis tanpa perubahan sejak 1.2.0-alpha01. Versi 1.2.0-beta01 berisi commit ini.

Versi 1.2.0-alpha01

18 Desember 2019

androidx.webkit:webkit:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur baru

  • ForceDark API untuk mengontrol apakah WebView harus dirender dalam mode gelap.

Versi 1.1.0

Versi 1.1.0

7 November 2019

androidx.webkit:webkit:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient().
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • WebViewAssetLoader API untuk menyederhanakan pemuatan aset, resource, dan file APK dari direktori data aplikasi melalui intersepsi permintaan. Hal ini memungkinkan akses ke resource web dan lokal tanpa perlu menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-rc01

9 Oktober 2019

androidx.webkit:webkit:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan setWebViewRenderProcessClient() mengalami error jika menerima penerusan klien null.

Versi 1.1.0-beta01

5 September 2019

androidx.webkit:webkit:1.1.0-beta01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • InternalStoragePathHandler baru di WebViewAssetLoader untuk memuat file dari direktori data aplikasi.

Perubahan API

  • ProxyConfig#getProxyRules() sekarang menampilkan daftar instance ProxyRule yang tidak dapat dimodifikasi, yang merupakan class baru untuk menampung filter skema dan URL proxy terkaitnya.

Perbaikan bug

  • WebViewAssetLoader ditetapkan secara default ke jenis MIME "text/plain" (bukan null) jika jenis MIME tidak dapat ditebak dari jalur filenya.
  • WebViewAssetLoader tidak lagi menampilkan NullPointerException saat memuat file yang menggunakan karakter khusus dalam nama jalurnya.

Versi 1.1.0-alpha02

7 Agustus 2019

androidx.webkit:webkit:1.1.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • WebViewAssetLoader menampilkan antarmuka PathHandler yang memungkinkan aplikasi membuat fungsionalitas penanganan jalur kustom.

Perubahan API

  • WebViewAssetLoader sekarang adalah class final, karena tidak dimaksudkan untuk dijadikan subclass.
  • Implementasi WebViewAssetLoader#PathHandler kini bersifat publik dan final.
  • Perubahan minor pada nama metode ProxyConfig.
  • ProxyController: menambahkan addDirect() dan addDirect(String) sebagai metode baru untuk terhubung langsung ke server; menghapus String DIRECT.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-alpha01

7 Mei 2019

androidx.webkit:webkit:1.1.0-alpha01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient()
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • AssetLoader API untuk menyederhanakan pemuatan aset dan resource APK melalui intersepsi permintaan, sehingga memungkinkan akses ke resource web tanpa menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.

Perbaikan bug

  • Perbaikan minor pada pemformatan dokumentasi untuk API yang sudah ada.