Webkit
Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
---|---|---|---|---|
December 11, 2024 | 1.9.0 | - | - | 1.13.0-alpha02 |
Declaring dependencies
To add a dependency on Webkit, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle
file for
your app or module:
Groovy
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.9.0") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.13
Version 1.13.0-alpha02
December 11, 2024
androidx.webkit:webkit:1.13.0-alpha02
is released. Version 1.13.0-alpha02 contains these commits.
New Features
- Add socket tagging API to
WebView
for accounting ofWebView
's network traffic usingNetworkStatsManager
/TrafficStats
. This feature will only be available fromWebView
M133. (Ica441, b/374932688)
API Changes
- Update Prefetch API by renaming
PrefetchParameter
toSpeculativeLoadingParamaters
, introducing newPrefetchNetworkException
, replacingPrefetchOperationCallback
withOutcomeReceiverCompat
and update the javadoc. (If5072) - Get diagnostic information from WebView async startup API.
- Provide an option for apps to only trigger init that doesn't block the UI thread. (I9bf2b)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0e4c5, b/326456246)
Version 1.13.0-alpha01
November 13, 2024
androidx.webkit:webkit:1.13.0-alpha01
is released. Version 1.13.0-alpha01 contains these commits.
New Features
- Add experimental
WebView
async startup API. (I94b8a) - URL Prefetching in Profile: Introduced a new API in Profile to allow developers to trigger URL prefetching. Prefetch Clearing: Added an API to clear ongoing prefetches. (I42c5c)
API Changes
- Deprecate
WebView.startSafeBrowsing
. (If5626)
Version 1.12
Version 1.12.1
October 2, 2024
androidx.webkit:webkit:1.12.1
is released. Version 1.12.1 contains these commits.
Bug Fixes
- Resolve the issue that prevented the 1.12.0 APIs from being available in the release.
Version 1.12.0
September 18, 2024
androidx.webkit:webkit:1.12.0
is released. Version 1.12.0 contains these commits.
Important changes since 1.11.0
- Add a new API to
WebSettingsCompat
to enable/disable BackForwardCache for thisWebSettings
. This API is experimental and can be changed in the future. (aosp/3111705) - Add a new API to
WebSettingsCompat
to control the Speculative Loading behavior for thisWebSettings
. Only Prerender is available for now. This API is experimental and can be changed in the future. (I13962) - Added a new API to enable Web Authentication in
WebView
. Developers can enable/disableWebAuthn
calls in aWebView
for their apps usingWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Version 1.12.0-rc01
September 4, 2024
androidx.webkit:webkit:1.12.0-rc01
is released. This release contains no changes from the 1.12.0-beta01
release.
Version 1.12.0-beta01
August 21, 2024
androidx.webkit:webkit:1.12.0-beta01
is released. Version 1.12.0-beta01 contains these commits.
Bug Fixes
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (Ia60e0, b/345472586)
Version 1.12.0-alpha02
June 12, 2024
androidx.webkit:webkit:1.12.0-alpha02
is released. Version 1.12.0-alpha02 contains these commits.
New Features
- Add a new API to
WebSettingsCompat
to enabled/disableBackForwardCache
. This API is experimental and can be changed in the future. (I64a38) - Add a new API to
WebSettingsCompat
to control the Speculative Loading behavior for this WebSettings. Only Prerender is available for now. This API is experimental and can be changed in the future. (I13962)
API Changes
- Some methods are now documented with
@UiThread
where appropriate. (I6c7e0), (I44541) - Thread-safe methods are now documented with
@AnyThread
. (I70189) - Increasing
minSdkVersion
from 19 to 21. (Id7a43)
Version 1.12.0-alpha01
April 17, 2024
androidx.webkit:webkit:1.12.0-alpha01
is released. Version 1.12.0-alpha01 contains these commits.
API Changes
- Added a new API to enable Web Authentication in
WebView. Developers
can enable/disableWebAuthn
calls in aWebView
for their apps usingWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Version 1.11
Version 1.11.0
May 1, 2024
androidx.webkit:webkit:1.11.0
is released. Version 1.11.0 contains these commits.
Important changes since 1.10.0
- Allow apps to control audio playback in
WebView
through the newsetAudioMuted
andisAudioMuted
APIs, which are analogous to muting a tab in Chrome. - Introduced
URLUtilCompat
, which supports parsing ofContent-Disposition
headers that use thefilename*
encoded value attribute as defined in RFC 6266. The compatibility API also directly exposes a method to parse theContent-Disposition
header where a suggested file name based on URL and MIME-type is not desired.
Version 1.11.0-rc01
April 3, 2024
androidx.webkit:webkit:1.11.0-rc01
is released. This release contains no changes from the 1.11.0-beta01
release.
Version 1.11.0-beta01
March 20, 2024
androidx.webkit:webkit:1.11.0-beta01
is released without any notable changes. Version 1.11.0-beta01 contains these commits.
Version 1.11.0-alpha02
February 21, 2024
androidx.webkit:webkit:1.11.0-alpha02
is released. Version 1.11.0-alpha02 contains these commits.
New Features
- Add
setAudioMuted
andisAudioMuted
methods for muting (and unmuting)WebViews
. This method will allow you to prevent aWebView
from playing audio. (Ie7a33)
API Changes
URLUtilCompat
is made final as it should not be subclassed. (I49ec1)
Version 1.11.0-alpha01
February 7, 2024
androidx.webkit:webkit:1.11.0-alpha01
is released. Version 1.11.0-alpha01 contains these commits.
New Features
- Add compatibility for
URLUtil.guessFileName
. The compatibility version inURLUtilCompat
supports parsing ofContent-Disposition
headers that use thefilename*
encoded value attribute as defined in RFC 6266. The compatibility API also directly exposes a method to parse theContent-Disposition
header where a suggested file name based on URL and MIME-type is not desired. (If6ae7, b/309927164)
Version 1.10
Version 1.10.0
January 24, 2024
androidx.webkit:webkit:1.10.0
is released. Version 1.10.0 contains these commits.
Important changes since 1.9.0
- Added a new API to WebSettingsCompat to control the experimental Android WebView Media Integrity API behavior by either disabling the API entirely, or restrict sharing the application identity in the API response. This can be toggled for all origins and on a per origin basis.
Version 1.10.0-rc01
January 10, 2024
androidx.webkit:webkit:1.10.0-rc01
is released. This release contains no changes from the 1.10.0-beta01
release.
Version 1.10.0-beta01
December 13, 2023
androidx.webkit:webkit:1.10.0-beta01
is released. Version 1.10.0-beta01 contains these commits.
- No functional changes from
1.10.0-alpha01
.
Version 1.10.0-alpha01
November 29, 2023
androidx.webkit:webkit:1.10.0-alpha01
is released. Version 1.10.0-alpha01 contains these commits.
New Features
- Added a new API to
WebSettingsCompat
to control the experimental Android WebView Media Integrity API behaviour by either disabling the API entirely, or restrict sharing the application identity in the API response. This can be toggled for all origins and on a per origin basis.
Version 1.9
Version 1.9.0
November 29, 2023
androidx.webkit:webkit:1.9.0
is released. Version 1.9.0 contains these commits.
Important changes since 1.8.0
- Added a new multi-profile API for WebViews.
- The Profile interface has different APIs to use to get associated data with this profile such as its name, GeoLocationPermissions, ServiceWorkerController, CookieManager and WebStorage. These objects are specific to the profile, and information is not shared between different profiles in the application.
- The profile used by a
WebView
instance can be changed using the WebViewCompat#setProfile method and retrieved using WebViewCompat#getProfile - The newly introduced ProfileStore let you manage the available profiles in your application, including the default profile.
- Existing WebView APIs such as CookieManager#getInstance will continue to operate on the Default profile.
- Added an API to inject and run Javascript before page load.
- The WebViewCompat#addDocumentStartJavascript API allows apps to inject scripts into a
WebView
which are guaranteed to run before any page scripts are executed. The API allows the app to specify a target list of origins for the script to be enabled on, ensuring that it only runs on intended pages. Unlike WebView#evaluateJavascript, this API will allow execution of scripts in embedded Iframes when they load. Apps can use this new API in combination with WebViewCompat#addWebMessageListener to set up two-way communication with JavaScript in the page in a reliable way.
- The WebViewCompat#addDocumentStartJavascript API allows apps to inject scripts into a
- Added APIs to modify how Privacy Sandbox Attribution Reporting events are registered.
- We introduced a new API WebSettingsCompat#setAttributionRegistrationBehavior which allows developers to configure whether attribution sources and triggers are registered as coming from the app itself or coming from the web content in the WebView. This method can also be used to disable Attribution Reporting in WebView. Additionally we added a new API
WebSettingsCompat#getAttributionRegistrationBehavior
to get the current behavior. - For more information see the Privacy Sandbox documentation.
- We introduced a new API WebSettingsCompat#setAttributionRegistrationBehavior which allows developers to configure whether attribution sources and triggers are registered as coming from the app itself or coming from the web content in the WebView. This method can also be used to disable Attribution Reporting in WebView. Additionally we added a new API
- Added APIs to override user-agent metadata for client hints.
- We introduced a new API, WebSettingsCompat#setUserAgentMetadata to override the user-agent metadata for WebView used to populate the user-agent client hints, and we also added another new API WebSettingsCompat#getUserAgentMetadata to get current user-agent overrides. We encourage apps to use the new API to set the right override values whenever the app changes the default user agent string using WebSettings.setUserAgentString to ensure the correct values are being used in all situations.
Version 1.9.0-rc01
November 15, 2023
androidx.webkit:webkit:1.9.0-rc01
is released. This release contains no changes from the 1.9.0-beta01
release.
Version 1.9.0-beta01
November 1, 2023
androidx.webkit:webkit:1.9.0-beta01
is released. Version 1.9.0-beta01 contains these commits.
API Changes
- Address user-agent metadata API's nullability issue. We update
BrandVersion
class to use builder pattern, make theUserAgentMetadata
class's getters and setters nullability consistent. (Ibf195) - Annotating
ProfileStore
,WebViewCompat#setProfile
andWebViewCompat.getProfile
with@UiThread
. (I499b2)
Version 1.9.0-alpha01
October 18, 2023
androidx.webkit:webkit:1.9.0-alpha01
is released. Version 1.9.0-alpha01 contains these commits.
New Features
- We added the multi-profile API which allows you to have separate browsing sessions between
WebViews
, each profile has its own data (e.g. cookies). You can create profiles, assign them toWebView
instances, and retrieve them later for any data access. There is a singleton classProfileStore
to help you manage profiles by creation or deletion with APIs;getOrCreateProfile
,getProfile
,getAllProfileNames
anddeleteProfile
. TheProfile
class will have different APIs to use to get associated data with this profile such as its name,GeoLocationPermissions
,ServiceWorkerController
,CookieManager
andWebStorage
. EachWebView
will run with the default profile by default however, you can change that usingWebViewCompat#setProfile
Related to that, aWebView
’s profile can be retrieved usingWebViewCompat#getProfile
. (I32d22) - Add APIs to modify how Attribution Reporting events are registered. We introduced a new API
WebSettingsCompat#setAttributionRegistrationBehavior
which allows developers to configure whether sources and triggers are registered as coming from the app itself or coming from the web content in theWebView
. This method can also be used to disable Attribution Reporting inWebView
. Additionally we added a new APIWebSettingsCompat#getAttributionRegistrationBehavior
to get the current behavior. For more information see the Privacy Sandbox documentation. (I661f2) - Add APIs to override user-agent metadata. We introduced a new API
WebSettingsCompat#setUserAgentMetadata
to override the user-agent metadata for WebView, which is used to populate the user-agent client hints, and we also added another new APIWebSettingsCompat#getUserAgentMetadata
to get current user-agent overrides. We encourage apps to use the new API to set the right override values instead of relying on changing user-agent. (I74500) - Add an API to inject Javascript to be run during page load. The
WebViewCompat.addDocumentStartJavascript
API allows apps to inject scripts into a WebView which will be run before any page scripts are executed. The API allows the app to specify a target list of origins for the script to be enabled on, ensuring that it only runs on intended pages. UnlikeWebView.evaluateJavascript
, this API will allow execution of scripts in embedded Iframes when they load. (Ide063)
Version 1.8
Version 1.8.0
September 6, 2023
androidx.webkit:webkit:1.8.0
is released. Version 1.8.0 contains these commits.
Important changes since 1.7.0
- Add support for passing
ArrayBuffer
overWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
andWebViewCompat#postWebMessage
, receivingArrayBuffer
from JavaScript overWebMessagePortCompat
andWebMessageListener
, and receiving transferableArrayBuffer
from JavaScript overWebMessagePortCompat
. (aosp/2596550, b/251152171)
Version 1.8.0-rc01
August 9, 2023
androidx.webkit:webkit:1.8.0-rc01
is released with no changes since 1.8.0-beta01
. Version 1.8.0-rc01 contains these commits.
Version 1.8.0-beta01
July 26, 2023
androidx.webkit:webkit:1.8.0-beta01
is released with no changes since 1.8.0-alpha01
. Version 1.8.0-beta01 contains these commits.
Version 1.8.0-alpha01
June 7, 2023
androidx.webkit:webkit:1.8.0-alpha01
is released. Version 1.8.0-alpha01 contains these commits.
API Changes
- See the External Contribution section.
External Contribution
- Add support for passing
ArrayBuffer
overWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
andWebViewCompat#postWebMessage
, receivingArrayBuffer
from JavaScript overWebMessagePortCompat
andWebMessageListener
, and receiving transferableArrayBuffer
from JavaScript overWebMessagePortCompat
. Please note that this API will only be available fromWebView
version 116. (Ie7567, b/251152171)
Version 1.7
Version 1.7.0
May 24, 2023
androidx.webkit:webkit:1.7.0
is released. Version 1.7.0 contains these commits.
Important changes since 1.6.0
- We added support for Image drag in
WebView
. You can enable your users to drag images out of theWebView
by adding the newDropDataContentProvider
to your app's manifest as described in the class documentation. - We added the
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
API which can be used to set the base directories thatWebView
will use for the current process. As with all methods onProcessGlobalConfig
, this method must be called before the first instance ofWebView
is instantiated. This method is added to provide Android framework the capability to tweakWebView
settings. For general purpose applications, using this method is not recommended.
Version 1.7.0-rc01
May 10, 2023
androidx.webkit:webkit:1.7.0-rc01
is released with no changes since 1.7.0-beta01
. Version 1.7.0-rc01 contains these commits.
Version 1.7.0-beta01
April 5, 2023
androidx.webkit:webkit:1.7.0-beta01
is released. Version 1.7.0-beta01 contains these commits.
API Changes
- Minor change to feature flag and method name and make
setDirectoryBasePaths()
accept File instead of String (Ib0d0a)
Version 1.7.0-alpha03
March 8, 2023
androidx.webkit:webkit:1.7.0-alpha03
is released. Version 1.7.0-alpha03 contains these commits.
API Changes
- Add
ProcessGlobalConfig#setDirectoryBasePath(String, String)
API which can be used to set the base directories thatWebView
will use for the current process. (Ibd1a1, b/250553687)
Bug Fixes
- Fix invalid
ProGuard
rule causing build errors when usingDexGuard
(Ia65c2, b/270034835)
Version 1.7.0-alpha02
February 8, 2023
androidx.webkit:webkit:1.7.0-alpha02
is released. Version 1.7.0-alpha02 contains these commits.
Bug Fixes
- Documentation bugs for
DropDataContentProvider
.
Version 1.7.0-alpha01
January 25, 2023
androidx.webkit:webkit:1.7.0-alpha01
is released. Version 1.7.0-alpha01 contains these commits.
New Features
- We are adding support for Image drag in
WebView
. You can enable your users to drag images out of theWebView
by adding the newDropDataContentProvider
to your app's manifest. (05a1a6)
Version 1.6
Version 1.6.1
March 22, 2023
androidx.webkit:webkit:1.6.1
is released. Version 1.6.1 contains these commits.
Bug Fixes
- Fix proguard parse error (Ia65c2)
Version 1.6.0
January 25, 2023
androidx.webkit:webkit:1.6.0
is released. Version 1.6.0 contains these commits.
Important changes since 1.5.0
- A new ProcessGlobalConfig API has been added to allow apps to provide configuration settings that need to be set before loading WebView, such as the WebView data directory suffix. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loads
WebView
into the process. - A new CookieManagerCompat API has been added to expand android.webkit.CookieManager with a new
getCookieInfo
method, which retrieves all attributes for all cookies set on a specific URL. This differs from the existing getCookie API inCookieManager
which returns only the name and value attributes of the cookies. WebSettingsCompat
has new methods to enable/disable the effect ofEnterpriseAuthenticationAppLinkPolicy
if set by admin inWebView
, and to get the current setting. This feature lets WebView open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.- Adding a new API to
WebSettingsCompat
to let applications explicitly send the app package name in theX-Requested-With
header to allowlisted origins. The header has traditionally been sent on every request fromWebView
.
Version 1.6.0-rc01
January 11, 2023
androidx.webkit:webkit:1.6.0-rc01
is released. Version 1.6.0-rc01 contains these commits.
Bug Fixes
- Fixed
NullPointerException
inWebViewFeature.isStartupFeatureSupported(Context, String)
when running on SDK < L. (Ic7292)
Version 1.6.0-beta01
December 7, 2022
androidx.webkit:webkit:1.6.0-beta01
is released. Version 1.6.0-beta01 contains these commits.
API Changes
ProcessGlobalConfig
has been changed to use a normal constructor and a static apply method. The apply method should only be called once per process, as early as possible, and will throwIllegalStateException
if called more than once.ProcessGlobalConfig
objects no longer have any restrictions on how many times setters can be called. (I456c3)
Version 1.6.0-alpha03
November 9, 2022
androidx.webkit:webkit:1.6.0-alpha03
is released. Version 1.6.0-alpha03 contains these commits.
New Features
- Add
ProcessGlobalConfig
class enabling users to set process global config before loadingWebView
.WebView
has some process-global configuration parameters that cannot be changed onceWebView
has been loaded (e.g. theWebView
data directory). This class allows apps to set these parameters. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loadsWebView
into the process. (I7c0e0, b/250553687) - Adding new API to let applications explicitly send the app package name in the X-Requested-With header to allowlisted origins. The header has traditionally been sent on every request from
WebView
. (I0adfe, b/226552535)
API Changes
- The
WebSettingsCompat#setAlgorithmicDarkeningAllowed
API is supported on all Android versions inWebView
version 105 and later. Previous versions ofWebView
only supported the API on Android Q and later. As a result, this api is no longer marked@RequiresApi(Build.VERSION_CODES.Q)
. (I3ac1d)
Version 1.6.0-alpha02
October 24, 2022
androidx.webkit:webkit:1.6.0-alpha02
is released. Version 1.6.0-alpha02 contains these commits.
New Features
- Adds a new
CookieManagerCompat
class along with agetCookieInfo
API which retrieves all attributes for all cookies set on a specific URL. This differs from the existinggetCookie
API inCookieManager
which returns only the name and value attributes of the cookies. (I07365, b/242161756)
Version 1.6.0-alpha01
August 24, 2022
androidx.webkit:webkit:1.6.0-alpha01
is released. Version 1.6.0-alpha01 contains these commits.
New Features
- Added APIs in
WebSettingsCompat
to enable/disable the effect ofEnterpriseAuthenticationAppLinkPolicy
if set by admin inWebView
. This feature letsWebView
open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.
Version 1.5.0
Version 1.5.0
August 24, 2022
androidx.webkit:webkit:1.5.0
is released. Version 1.5.0 contains these commits.
Important changes since 1.4.0
- A new
setAlgorithmicDarkeningAllowed
API onWebSettingsCompat
replaces the oldsetForceDark
andsetForceDarkStrategy
APIs. Apps targeting SDK 33 and higher (T) should use the new API, as the old API will no longer have any effect for those apps. - An allow-list of URLs to use the configured proxy can now be set through
ProxyCofig.Builder
by settingsetReverseBypassEnabled
totrue
. When this is in effect, all other URLs will bypass the configured proxy.
Version 1.5.0-rc01
August 10, 2022
androidx.webkit:webkit:1.5.0-rc01
is released with no changes since 1.5.0-beta01
. Version 1.5.0-rc01 contains these commits.
Version 1.5.0-beta01
June 29, 2022
androidx.webkit:webkit:1.5.0-beta01
is released. Version 1.5.0-beta01 contains these commits.
API Changes
- Alogrithimic Darkening related APIs are now annotated to require API level Q. The API will not have any effect on API levels < Q, since dark theme is not an option on these devices. (I0905e)
Version 1.5.0-alpha01
May 18, 2022
androidx.webkit:webkit:1.5.0-alpha01
is released. Version 1.5.0-alpha01 contains these commits.
New Features
- Add a new
getVariationsHeader()
method onWebViewCompat
to get the X-Client-Data header value sent by theWebView
. The returned value will be a base64 encoded ClientVariations protobuf. - Add APIs on
WebSettingsCompat
to allow/disallow algorithmic darkening for app with targetSdk >= 33. (I29597)
API Changes
- Add a new method in
ProxyCofig.Builder
to set reverse bypass. Setting reverse bypass to true means only URLs in the bypass list will use the proxy settings. (I9eaa2, b/168728599)
Bug Fixes
- Fixed a typo in dark theme documentation. (I36ebf, b/194343633)
- Fixed a bug where
WebViewAssetLoader.Builder
methods were unintentionally order-dependent. (If420d, b/182196765)
Version 1.4.0
Version 1.4.0
December 16, 2020
androidx.webkit:webkit:1.4.0
is released. Version 1.4.0 contains these commits.
Major changes since 1.3.0
- Added a new
setSafeBrowsingAllowlist()
API to replacesetSafeBrowsingWhitelist()
. This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API. - Fixed a bug in setProxyOverride that caused fallback rules not being correctly applied.
Version 1.4.0-rc02
December 2, 2020
androidx.webkit:webkit:1.4.0-rc02
is released. Version 1.4.0-rc02 contains these commits.
Bug Fixes
- Fixes fallback rules not being correctly applied when using setProxyOverride.
Version 1.4.0-rc01
November 11, 2020
androidx.webkit:webkit:1.4.0-rc01
is released with no changes since 1.4.0-beta01
. Version 1.4.0-rc01 contains these commits.
Version 1.4.0-beta01
October 14, 2020
androidx.webkit:webkit:1.4.0-beta01
is released with no changes since 1.4.0-alpha01
. Version 1.4.0-beta01 contains these commits.
Version 1.4.0-alpha01
September 16, 2020
androidx.webkit:webkit:1.4.0-alpha01
is released. Version 1.4.0-alpha01 contains these commits.
API Changes
- Added a new
WebViewCompat#setSafeBrowsingAllowlist()
API to replacesetSafeBrowsingWhitelist()
. This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API. (I8d65d)
Version 1.3.0
Version 1.3.0
August 19, 2020
androidx.webkit:webkit:1.3.0
is released. Version 1.3.0 contains these commits.
Major changes since 1.2.0
- ForceDarkStrategy API provides more control to WebView darkening (CSS/web content darkening versus auto darkening).
- WebMessageListener and its related APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
isMultiProcessEnabled
API to check whether WebView is running in multi process. This is possible starting in Android O and it means web content is rendered in a sandboxed renderer process separate to the application process. This sandboxed renderer may be shared with other WebViews in the same application but it's not shared with other application processes.
Version 1.3.0-rc02
August 5, 2020
androidx.webkit:webkit:1.3.0-rc02
is released. Version 1.3.0-rc02 contains these commits.
Bug Fixes
- This fixes a compatibility issue where
WebMessageListener
would sometimes crash during local development if your app was started with Android Studio instant run.
Version 1.3.0-rc01
June 24, 2020
androidx.webkit:webkit:1.3.0-rc01
is released with no changes since 1.3.0-beta01
. Version 1.3.0-rc01 contains these commits.
Version 1.3.0-beta01
June 10, 2020
androidx.webkit:webkit:1.3.0-beta01
is released. Version 1.3.0-beta01 contains these commits.
New Features
ForceDarkStrategy
API to control WebView darkening (CSS/web content darkening versus auto darkening).WebMessageListener
APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.MultiProcessEnabled
API to check if WebView is running in multi process mode.
Version 1.3.0-alpha03
May 27, 2020
androidx.webkit:webkit:1.3.0-alpha03
is released. Version 1.3.0-alpha03 contains these commits.
API Changes
addWebMessageListener
method now receives aSet<String>
of allowed origin rules (previously aList<String>
).
Version 1.3.0-alpha02
April 29, 2020
androidx.webkit:webkit:1.3.0-alpha02
is released. Version 1.3.0-alpha02 contains these commits.
New Features
- MultiProcessEnabled API to check if WebView is running in multi process mode.
API Changes
- All dark strategy constants are now prefixed with
DARK_STRATEGY
.
Version 1.3.0-alpha01
April 15, 2020
androidx.webkit:webkit:1.3.0-alpha01
is released. Version 1.3.0-alpha01 contains these commits.
New Features
ForceDarkStrategy
API to controlWebView
darkening (CSS/web content darkening versus auto darkening).WebMessageListener
APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
Version 1.2.0
Version 1.2.0
March 4, 2020
androidx.webkit:webkit:1.2.0
is released. Version 1.2.0 contains these commits.
Major changes since 1.1.0
- Added the ForceDark API to control if WebViews should be rendered in dark mode.
Version 1.2.0-rc01
February 19, 2020
androidx.webkit:webkit:1.2.0-rc01
is released with no changes since 1.2.0-beta01
. Version 1.2.0-rc01 contains these commits.
Version 1.2.0-beta01
February 5, 2020
androidx.webkit:webkit:1.2.0-beta01
is released with no changes since 1.2.0-alpha01
. Version 1.2.0-beta01 contains these commits.
Version 1.2.0-alpha01
December 18, 2019
androidx.webkit:webkit:1.2.0-alpha01
is released. Version 1.2.0-alpha01 contains these commits.
New features
- ForceDark API to control if WebViews should be rendered in dark mode.
Version 1.1.0
Version 1.1.0
November 7, 2019
androidx.webkit:webkit:1.1.0
is released. Version 1.1.0 contains these commits.
Important changes since 1.0.0
- Getter APIs to complement setWebViewClient() and setWebChromeClient().
- ProxyController API to set a network request proxy for an app's WebViews.
- WebViewAssetLoader API to simplify loading APK assets, resources, and files from the app data directory via request interception. This allows access to web and local resources without disabling CORS.
- TracingController API to collect WebView tracing information for debugging purposes.
- RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.
- Updated existing APIs to include nullability (
@NonNull
,@Nullable
) and thread (@UiThread
,@WorkerThread
) annotations.
Version 1.1.0-rc01
October 9, 2019
androidx.webkit:webkit:1.1.0-rc01
is released. Version 1.1.0-rc01 contains these commits.
Bug fixes
- Fixed an issue where
setWebViewRenderProcessClient()
could crash if passed a null client.
Version 1.1.0-beta01
September 5, 2019
androidx.webkit:webkit:1.1.0-beta01
is released. The commits included in this version can be found here.
New features
- New
InternalStoragePathHandler
inWebViewAssetLoader
to load files from the app's data directory.
API changes
ProxyConfig#getProxyRules()
now returns an unmodifiable list ofProxyRule
instances, which is a new class to hold a scheme filter and its corresponding proxy URL.
Bug fixes
WebViewAssetLoader
defaults to a "text/plain" MIME type (rather than null) when it can't guess the MIME type from the file path.WebViewAssetLoader
no longer throws aNullPointerException
when loading files with special characters in their path names.
Version 1.1.0-alpha02
August 7, 2019
androidx.webkit:webkit:1.1.0-alpha02
is released. The commits included in this version can be found here.
New features
WebViewAssetLoader
exposes thePathHandler
interface to allow apps to create custom path-handling functionality.
API changes
WebViewAssetLoader
is now a final class, since it's not meant to be subclassed.WebViewAssetLoader#PathHandler
implementations are now public and final.- Minor changes to ProxyConfig method names.
ProxyController
: added new methodsaddDirect()
andaddDirect(String)
to connect directly to servers; removed DIRECT String.- Updated existing APIs to include nullability (
@NonNull
,@Nullable
) and thread (@UiThread
,@WorkerThread
) annotations.
Version 1.1.0-alpha01
May 7, 2019
androidx.webkit:webkit:1.1.0-alpha01
is released. The commits included in this version can be found here.
New features
- Getter APIs to complement
setWebViewClient()
andsetWebChromeClient()
- ProxyController API to set a network request proxy for an app's WebViews.
- AssetLoader API to simplify loading APK assets and resources via request interception, allowing access to web resources without disabling CORS.
- TracingController API to collect WebView tracing information for debugging purposes.
- RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.
Bug fixes
- Minor fixes to documentation formatting for existing APIs.