Browser
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| October 8, 2025 | 1.9.0 | - | - | 1.10.0-alpha02 |
Declaring dependencies
To add a dependency on Browser, 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.browser:browser:1.9.0" }
Kotlin
dependencies { implementation("androidx.browser:browser: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.10
Version 1.10.0-alpha02
October 08, 2025
androidx.browser:browser:1.10.0-alpha02 is released. Version 1.10.0-alpha02 contains these commits.
API Changes
- Made
AuthTabIntent.AuthenticateUserResultContractpublic (I1e598, b/425405218) - Rename the window controls overlay display mode to be consistent with other modes. (I10b67)
Version 1.10.0-alpha01
August 13, 2025
androidx.browser:browser:1.10.0-alpha01 is released. Version 1.10.0-alpha01 contains these commits.
API Changes
- Added support for the
display_overrideTWA manifest property (Ib036b) - Removing obsolete
@RequiresApi(21)annotations (Ic4792) - Removing obsolete
@RequiresApi(21)annotations (I9103b) - Allow Null for
pageUrlinContentActionSelectedData(Ifed54) - Added an Intent to allow launching the initial url in an external app (Id9349)
- Add an Intent to allow launching the initial url in an external app (Ifed54)
Bug Fixes
- Moving the default
minSdkfrom API 21 to API 23. (Ibdfca, b/380448311, b/435705964, b/435705223) - Allow Null for
pageUrlinContentActionSelectedData. (Id9349)
Version 1.9
Version 1.9.0
July 30, 2025
androidx.browser:browser:1.9.0 is released. Version 1.9.0 contains these commits.
Version 1.9.0-rc01
July 16, 2025
androidx.browser:browser:1.9.0-rc01 is released. Version 1.9.0-rc01 contains these commits.
API Changes
- Added 'Contextual Menu Items' for custom tabs (Iab7d0)
Bug Fixes
- Updated JavaDocs for
setOpenInBrowserButtonStatefor (Iae1f2)
Version 1.9.0-beta01
July 2, 2025
androidx.browser:browser:1.9.0-beta01 is released. Version 1.9.0-beta01 contains no changes since the previous alpha version.
Version 1.9.0-alpha05
June 18, 2025
androidx.browser:browser:1.9.0-alpha05 is released. Version 1.9.0-alpha05 contains these commits.
API Changes
- Remove experimental annotation from ephemeral browsing API (If8b1b)
Version 1.9.0-alpha04
May 20, 2025
androidx.browser:browser:1.9.0-alpha04 is released. Version 1.9.0-alpha04 contains these commits.
API Changes
- Added new intent extra for custom tabs (I911e0)
- Added
BrowserandMiminalUimodes toTWADisplayMode(I230b5) - Added capability check API for Ephemeral Browsing (I17d42)
- Remove experimental annotation for
PendingSessionAPI (Id6fe3) - Added Auth Tab capability check API (Ifc029)
- Removed Custom Tab minimize signals experimental annotation (If2b44)
Version 1.9.0-alpha03
April 23, 2025
androidx.browser:browser:1.9.0-alpha03 is released. Version 1.9.0-alpha03 contains these commits.
API Changes
- Removed experimental annotation from Auth Tab. (I786ff)
Version 1.9.0-alpha02
April 9, 2025
androidx.browser:browser:1.9.0-alpha02 is released. Version 1.9.0-alpha02 contains these commits.
New Features
- Added support for multiple Progressive Web App APIs, such as Launch Handler, Protocol Handler and File Handler
API Changes
- Added overloads for
CustomTabsClient#createPendingAuthTabSession. (I71c3a) - Updated Auth Tab APIs (Iaf9b1)
- The
TrustedWebActivityIntentnow includes Launch Handler API client mode that allows a browser to use this API. (Ifc95c) - The
TrustedWebActivityIntentnow includes URIs of files opened via the app's registered intent filters, and grants the browser read-write permissions to those files. (I2134a) TrustedWebActivityIntentnow includes the originally launched URL in its extras, adding context for the browser when used by Protocol Handlers. (I3759a)- Added a new API to enable/disable the close button for Custom Tabs. (I35acd)
- Added close button icon customization support to Auth Tab (Iaf877)
Version 1.9.0-alpha01
January 29, 2025
androidx.browser:browser:1.9.0-alpha01 is released. Version 1.9.0-alpha01 contains these commits.
API Changes
- Added browser connection/session support to Auth Tab. (I6e47b)
- Added a new API
CustomTabsSession#isEphemeralBrowsingSupportedthat determines whether or not the ephemeral browsing is supported (Ie4dea, b/384548523) - Added color scheme params support to Auth Tab APIs. (I630e1)
- Added experimental ephemeral browsing option to Custom Tabs (I9549d)
- Updated experimental Auth Tab APIs (I8b674)
- Add new API to check if the Custom Tabs provider supports multi-network. (I4307a)
- Add new service intent filter category to support multi-network. (I4354a)
- Add new API to set/get the bound network when launching a URL over a custom tab. (I493e1)
- Added experimental Auth Tab APIs (I9b4d4)
- New experimental APIs for
PendingSession(Ib40e5)
Bug Fixes
- Updated AuthTabIntent Javadocs (I2490c)
- Fixed session support in Auth Tab (I4e280)
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler). (Ic7bf5, b/326456246) - 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. (I9496c, b/345472586)
External Contribution
- Introduce a new IPC call
ICustomTabsService#prefetchWithMultipleUrlsto avoid multiple IPC calls for single URLs. (Ie5025) - Make
CustomTabsSession#prefetchpropagateCustomTabsSession’s sessionid(mID)toCustomTabsService. (I4ec7b) - Add a new experimental API
CustomTabsSession#prefetch(List<Uri>, PrefetchOptions), which overloads the existing API to accept multiple URLs. (I54f35) - Add a new experimental API
CustomTabsSession#prefetch(Uri, PrefetchOptions), which tries to prefetch the main page (without subresources) for future navigations. (I340cf)
Version 1.8
Version 1.8.0
March 6, 2024
androidx.browser:browser:1.8.0 is released. Version 1.8.0 contains these commits.
Important changes since 1.7.0
- Added
CustomTabsIntent.Builder#setInitialActivityWidthPxwhich allows developers to specify the initial launch width of a Custom Tab. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetPositionwhich allows developers to specify the Custom Tab’s position when acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetDecorationTypewhich allows developers to specify the Custom Tab’s decoration type when it is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPositionwhich allows developers to specify the position of the rounded corners when the Custom Tab is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetMaximizationEnabledwhich allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (Ie3564) - Added
onActivityLayoutcallback method to interfaceCustomTabsCallbackto let developers know the coordinates of the area occupied by the Custom Tab and the state in which it is being displayed. This will be called when the Custom Tab is first displayed on the screen and each time the occupied area changes. (I443f6) - Added
onWarmupCompletedcallback method to interfaceCustomTabsCallbackto let developers know whenCustomTabsClient#warmupfinisheswarming up the browser process. (I107cf) - Added the session id to extras in
CustomTabsSession#setEngagementSignalsCallbackandCustomTabsSession#isEngagementSignalsApiAvailable. (Iba7f1) - Added experimental support for Minimized Custom Tabs APIs. (I67f2d)
Version 1.8.0-rc01
February 21, 2024
androidx.browser:browser:1.8.0-rc01 is released with no changes since 1.8.0-beta02. Version 1.8.0-rc01 contains these commits.
Version 1.8.0-beta02
February 7, 2024
androidx.browser:browser:1.8.0-beta02 is released. Version 1.8.0-beta02 contains these commits.
API Changes
- Renamed
CustomTabsIntent.Builder#setActivitySideSheetEnableMaximizationtoCustomTabsIntent Builder#setActivitySideSheetMaximizationEnabledand made it a public API. It allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (Ie3564)
Version 1.8.0-beta01
November 29, 2023
androidx.browser:browser:1.8.0-beta01 is released. Version 1.8.0-beta01 contains these commits.
New Features
- Add experimental support for Minimized Custom Tabs APIs. (I67f2d)
Version 1.8.0-alpha01
November 15, 2023
androidx.browser:browser:1.8.0-alpha01 is released. Version 1.8.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setInitialActivityWidthPxwhich allows developers to specify the initial launch width of a Custom Tab. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetBreakpointDpwhich allows developers to specify the minimum Custom Tabs window width in order for it to act as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetPositionwhich allows developers to specify the Custom Tab’s position when acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetEnableMaximizationwhich allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetDecorationTypewhich allows developers to specify the Custom Tab’s decoration type when it is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPositionwhich allows developers to specify the position of the rounded corners when the Custom Tab is acting as a side sheet. (I443f6) - Added
onActivityLayoutcallback method to interfaceCustomTabsCallbackto let developers know the coordinates of the area occupied by the Custom Tab and the state in which it is being displayed. This will be called when the Custom Tab is first displayed on the screen and each time the occupied area changes. (I443f6) - Added
onWarmupCompletedcallback method to interfaceCustomTabsCallbackto let developers know whenCustomTabsClient#warmupfinishes warming up the browser process. (I107cf)
Bug Fixes
- Added the session id to extras in
CustomTabsSession#setEngagementSignalsCallbackandCustomTabsSession#isEngagementSignalsApiAvailable. (Iba7f1)
Version 1.7
Version 1.7.0
November 15, 2023
androidx.browser:browser:1.7.0 is released. Version 1.7.0 contains these commits.
Important changes since 1.6.0
- Added
CustomTabsIntent.Builder#setBookmarksButtonEnabledthat enables the bookmarks button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setDownloadButtonEnabledthat enables the download button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabledthat enables sending initial urls to external handler apps. (Ia792e) - Added
CustomTabsIntent.Builder#setTranslateLanguagethat specifies the target language that the Translate UI should be triggered with. (Ia792e) - Added
CustomTabsIntent.Builder#setBackgroundInteractionEnabledthat enables interactions with the background app when a partial Custom Tab is launched. (Ia792e) - Added
CustomTabsIntent.Builder#setShareIdentityEnabledthat allows Custom Tabs to obtain the caller's identity. (I7bf2b) - Added
CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesturethat sets aPendingIntentto be sent when the user swipes up from the bottom toolbar. (Id42a2)
Version 1.7.0-rc01
November 1, 2023
androidx.browser:browser:1.7.0-rc01 is released with no changes. Version 1.7.0-rc01 contains these commits.
- No changes since alpha-01
Version 1.7.0-beta01
October 18, 2023
androidx.browser:browser:1.7.0-beta01 is released with no changes. Version 1.7.0-beta01 contains these commits.
Version 1.7.0-alpha01
October 4, 2023
androidx.browser:browser:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setBookmarksButtonEnabledthat enables the bookmarks button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setDownloadButtonEnabledthat enables the download button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabledthat enables sending initial urls to external handler apps. (Ia792e) - Added
CustomTabsIntent.Builder#setTranslateLanguagethat specifies the target language that the Translate UI should be triggered with. (Ia792e) - Added
CustomTabsIntent.Builder#setBackgroundInteractionEnabledthat enables interactions with the background app when a partial Custom Tab is launched. (Ia792e) - Added
CustomTabsIntent.Builder#setShareIdentityEnabledthat allows Custom Tabs to obtain the caller's identity. (I7bf2b) - Added
CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesturethat sets aPendingIntentto be sent when the user swipes up from the bottom toolbar. (Id42a2)
Version 1.6
Version 1.6.0
August 9, 2023
androidx.browser:browser:1.6.0 is released with no changes since 1.6.0-rc01. Version 1.6.0 contains these commits.
Version 1.6.0-rc01
July 26, 2023
androidx.browser:browser:1.6.0-rc01 is released with no changes since 1.6.0-beta01. Version 1.6.0-rc01 contains these commits.
Version 1.6.0-beta01
June 21, 2023
androidx.browser:browser:1.6.0-beta01 is released with no changes since 1.6.0-alpha02. Version 1.6.0-beta01 contains these commits.
Version 1.6.0-alpha02
June 7, 2023
androidx.browser:browser:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.
API Changes
- Removed
CustomTabsSession#getGreatestScrollPercentage. (I6c5ba) - Added a new
requestPostMessageChannelAPI which allows specifying the target origin. This means that users can be certain their messages are delivered only to the website they expect. (Id5b7f)
Bug Fixes
- Updated
EngagementSignalsCallbackdocumentation. (Ie833c)
Version 1.6.0-alpha01
May 3, 2023
androidx.browser:browser:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.
New Features
- Added Engagement Signals API, which allows developers to receive callbacks for user interactions on the web page such as scrolls. (I835e6)
API Changes
- Updated Engagement Signals API to simplify the API surface on the Custom Tabs implementation side. (Iaa6dc)
Version 1.5
Version 1.5.0
February 8, 2023
androidx.browser:browser:1.5.0 is released. Version 1.5.0 contains these commits.
Important changes since 1.4.0
- Added
CustomTabsIntent.Builder#setInitialActivityHeightPx, which allows developers to specify the initial launch height of a Custom Tab, and optionally the resize behavior (fixed or resizable). (I48bd3) - Added
CustomTabsIntent.Builder#setToolbarCornerRadiusDpwhich allows developers to specify the toolbar's top corner radius. (I48bd3) - Added
CustomTabsIntent.Builder#setCloseButtonPositionwhich allows developers to set the position of the close button on the toolbar. (I48bd3) - Added an
onActivityResizedcallback method to interfaceCustomTabsCallbackto let developers know when a Custom Tab is resized. (Ic864e) - Make parts of
CustomTabsCallbackAPIs asynchronous. (Ic86df) - Populates the current app's language in Accept-Language by default to align to Android’s per-app language experience. (I3d1d7)
- Added
@RequiresPermissionto APIs that require granting thePOST_NOTIFICATIONSpermission on SDK 33 and above. This was developed in an internal branch. b/238790278 for reference.
Version 1.5.0-rc01
January 25, 2023
androidx.browser:browser:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.
- No changes since 1.5.0-beta01.
Version 1.5.0-beta01
January 11, 2023
androidx.browser:browser:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.
- No changes since 1.5.0-alpha02
Version 1.5.0-alpha02
December 7, 2022
androidx.browser:browser:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.
API Changes
- Changed the
CustomTabsCallback#onActivityResizedbehavior and added new parameters to it. - Renamed
EXTRA_ACTIVITY_RESIZE_BEHAVIORtoEXTRA_ACTIVITY_RESIZE_HEIGHT_BEHAVIORto better reflect that it is height specific. (Ic864e) - Make parts of
CustomTabsCallbackAPIs asynchronous. (Ic86df)
Version 1.5.0-alpha01
October 24, 2022
androidx.browser:browser:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setInitialActivityHeightPx, which allows developers to specify the initial launch height of a Custom Tab, and optionally the resize behavior (fixed or resizable). (I48bd3) - Added
CustomTabsIntent.Builder#setToolbarCornerRadiusDpwhich allows developers to specify the toolbar's top corner radius. (I48bd3) - Added
CustomTabsIntent.Builder#setCloseButtonPositionwhich allows developers to set the position of the close button on the toolbar. (I48bd3) - Added an
onActivityResizedcallback method to interface CustomTabsCallback to let developers know when a Custom Tab is resized (expanded to full height or minimized back down to initial launch height). (Id99ce) - Populates the current app's language in Accept-Language by default to align to Android’s per-app language experience. (I3d1d7)
API Changes
- Added
@RequiresPermissionto APIs that require granting thePOST_NOTIFICATIONSpermission on SDK 33 and above. This was developed in an internal branch. b/238790278 for reference.
Version 1.4.0
Version 1.4.0
November 3, 2021
androidx.browser:browser:1.4.0 is released. Version 1.4.0 contains these commits.
Important changes since 1.3.0
- Mark PendingIntents as PendingIntent.FLAG_IMMUTABLE for Android 12 compatibility.
Version 1.4.0-rc01
October 13, 2021
androidx.browser:browser: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
September 29, 2021
androidx.browser:browser:1.4.0-beta01 is released with no change since 1.4.0-alpha01. Version 1.4.0-beta01 contains these commits.
Version 1.4.0-alpha01
September 15, 2021
androidx.browser:browser:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
Bug Fixes
- Mark PendingIntents as
PendingIntent.FLAG_IMMUTABLEfor Android 12 compatibility.
Version 1.3.0
Version 1.3.0
December 2, 2020
androidx.browser:browser:1.3.0 is released. Version 1.3.0 contains these commits.
Major features since 1.2.0
- Free form commands can be passed from a browser to a Trusted Web Activity client by calling
TrustedWebActivityServiceConnection#sendExtraCommand. The client can handle these inTrustedWebActivityService#onExtraCommand - Added
TrustedWebActivityCallbackinterface that can be used by a Trusted Web Activity client to return data to the browser. - Added
CustomTabsIntent#setShareState, which allows developers to specify whether to show a share option or not (or leave it up to the browser). - Developers can now set a default screen orientation with
setScreenOrientationmethod inTrustedWebActivityIntentBuilder setNavigationBarDividerColormethod is added toCustomTabColorSchemeParamsto support changing the color of the navigation bar divider.- Added
CustomTabsIntent.Builder#setDefaultColorSchemeParamsto replace the now deprecated#setNavigationBarColor,#setNavigationBarDividerColor,#setToolbarColorand#setSecondaryToolbarColormethods - Added the
CustomTabsClient#bindCustomTabsServicePreservePrioritymethod, allowing connecting to a Custom Tabs Service without using theContext.BIND_WAIVE_PRIORITYflag.
Version 1.3.0-rc01
November 11, 2020
androidx.browser:browser: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
October 28, 2020
androidx.browser:browser:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
API Changes
- Renamed
bindCustomTabServicePreservePrioritytobindCustomTabsServicePreservePriority(I29ac1)
Bug Fixes
- API lint check for
MissingGetterMatchingBuilderis enabled for androidx (I4bbea, b/138602561)
Version 1.3.0-alpha06
October 1, 2020
androidx.browser:browser:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits.
New Features
- Adds CustomTabsIntent#setShareState which allows the developer to set share state to either enabled, disabled or leave it up to the browser. (I153fe)
- Adds CustomTabsIntent.Builder#setDefaultColorSchemeParams which should be used in place of the now deprecated #setNavigationBarColor, #setNavigationBarDividerColor, #setToolbarColor, #setSecondaryToolbarColor methods.(I09012)
API Changes
- API lint check for the StaticFinalBuilder is enabled for androidx (I2b11b, b/138602561)
- Adds CustomTabsService#KEY_SUCCESS and TrustedWebActivityService#KEY_SUCCESS that can be used for indicating extraCommand is success. (I6f7b5)
Version 1.3.0-alpha05
August 5, 2020
androidx.browser:browser:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.
New Features
- Allow setting the orientation of launched Trusted Web Activities.
- Allow setting the navigation bar divider color for Trusted Web Activities and Custom Tabs.
API Changes
- Added a
setScreenOrientationmethod inTrustedWebActivityIntentBuilder. - Added an
@IntDefforScreenOrientation.LockTypeto represent a lock type (I802d2) - Added the
setNavigationBarDividerColormethod toTrustedWebActivityIntentBuilderandCustomTabColorSchemeParams. (Ia04dd)- Added
@IntDefs toTrustedWebActivityIntentBuildermethods that take a color scheme.
- Added
Version 1.3.0-alpha04
June 24, 2020
androidx.browser:browser:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits.
New Features
- Added the
CustomTabsClient#bindCustomTabServicePreservePrioritymethod, allowing connecting to a Custom Tabs Service without using theContext.BIND_WAIVE_PRIORITYflag.
Version 1.3.0-alpha03
June 10, 2020
androidx.browser:browser:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.
New Features
- Added
TrustedWebActivityCallbackinterface that can be used by a Trusted Web Activity client to return data to the browser. (I64dbb)
API Changes
TrustedWebActivityServiceConnection.extraCommandnow also takes a@NullableTrustedWebActivityCallbackparameter. The bundle parameter is now marked as@NonNullinstead of@Nullable. (I64dbb)TrustedWebActivityServiceConnection.extraCommandmethod has been renamed tosendExtraCommand(Id29a8)CustomTabsIntent.Builder#addDefaultShareMenuItem()has been deprecated in favor of the new#setDefaultShareMenuItemEnabled(boolean)andCustomTabsIntent.Builder#enableUrlBarHiding()has been deprecated in favor of the new#setUrlBarHidingEnabled(boolean). (Iad702)
Version 1.3.0-alpha01
January 8, 2020
androidx.browser:browser:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.
New features
- Free form commands can be passed from a browser to a Trusted Web Activity client by calling
TrustedWebActivityServiceConnection#extraCommand. The client can handle these inTrustedWebActivityService#onExtraCommand.
API changes
- The URL provided to
CustomTabsSession#mayLauncherUrland received inCustomTabsService#mayLaunchUrlhas been made@Nullable.
Version 1.2.0
Version 1.2.0
December 18, 2019
androidx.browser:browser:1.2.0 is released with no changes since 1.2.0-rc01. Version 1.2.0 contains these commits.
Major changes since 1.0.0
- Trusted Web Activities
- Support for Trusted Web Activities is now stable.
- The
TrustedWebActivityIntentBuildercan be used to customize and create aTrustedWebActivityIntent, to launch a Trusted Web Activity. - The
TrustedWebActivityServicecan be included or extended to allow clients to display web push notifications handed to them by the browser. - The
TrustedWebActivityServiceConnectionPoolcan be used by browsers to connect to theTrustedWebActivityServices in clients. ATrustedWebActivityServiceConnectionrepresents such a connection. - Trusted Web Activities can be launched providing information to a Web Share Target.
- Dark Theme
- Developers can provide (through
CustomTabColorSchemeParams) different theme colors to be used when the device is in light or dark mode. - Developers can request that the browser itself is in light or dark mode.
- Developers can provide (through
- Session resumption
CustomTabsSessions can be created with an id, allowing subsequent Custom Tabs launches from the same client and id to be merged.
- The navigation bar colour can be specified for Custom Tabs.
- Browser Actions related classes are marked deprecated due to incredibly low feature usage and will be removed in a future version of the library.
Version 1.2.0-rc01
December 4, 2019
androidx.browser:browser:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.
Bug fixes
- Javadoc formatting for code samples was fixed.
Version 1.2.0-beta01
November 20, 2019
androidx.browser:browser:1.2.0-beta01 is released with no changes since 1.2.0-alpha09. Version 1.2.0-beta01 contains these commits.
Version 1.2.0-alpha09
October 23, 2019
androidx.browser:browser:1.2.0-alpha09 is released. Version 1.2.0-alpha09 contains these commits.
New features
- The
Tokenclass can be used to represent the identity of a package, it contains both the package name and the signature of the package’s signing certificate.- It is designed to be serialized to a byte[] for persistence.
- It is used by the
TrustedWebActivityServiceto determine what TWA provider is allowed to connect to it. - It is used by the
TrustedWebActivityConnectionPoolby the TWA provider to determine which packages are valid to connect to.
- The
TokenStoreinterface is now used by theTrustedWebActivityServiceto determine which app is allowed to connect to it.- It is up to the client to call
TokenStore#store,TrustedWebActivityServiceonly loads the Tokens.
- It is up to the client to call
- The
TrustedWebActivityServiceConnectionPool(previously TrustedWebActivityServiceConnectionManager) no longer stores the set of verified packages:registerClientandgetVerifiedPackageshave now been removed.- The collection of verified packages is now provided manually to
execute(previouslyconnect) andserviceExistsForScope.
- The
TrustedWebActivityServicedelegates to the overriding class to store the verified provider.setVerifiedProviderhas been removed.- The client must implement
getTokenStorewhich returns aTokenStorethat can be used to store and retrieve aToken.
API changes
- The
TrustedWebActivityServiceConnectionManagerclass:- Is now called
TrustedWebActivityServiceConnectionPool. - Is now final.
- Is constructed by the static
createmethod instead of a public constructor.
- Is now called
- The
TrustedWebActivityServiceclass:- Has thread annotations on overridable methods.
- The
TrustedWebActivityServiceWrapperclass:- Is now called
TrustedWebActivityServiceConnection. - Is now final.
- Now throws raw RemoteExceptions instead of wrapping them in RuntimeExceptions.
- Is now called
- The
ShareTarget#FileFormFieldclass is now final. - The
TrustedWebUtils#splashScreensAreSupportedmethod has been renamed toareSplashScreensSupported. - The
TrustedWebActivityIntentBuilder#getUrlmethod has been renamed toTrustedWebActivityIntentBuilder#getUri. - The
SplashScreenParamKeystatic fields have been prefixed withKEY_.
Version 1.2.0-alpha08
September 18, 2019
androidx.browser:browser:1.2.0-alpha08 is released. Version 1.2.0-alpha08 contains these commits.
New features
- Introduced new Share Target APIs for Trusted Web Activities. Apps that use Trusted Web Activities can now send data to their Web Share Target, defined by the protocol https://wicg.github.io/web-share-target/level-2/ (aosp/I47b93, aosp/I0ec3e)
API changes
- Added the callback
extraCallbackWithResulttoICustomTabsCallback(aosp/Ic2cc2) - Marked some
CustomTabsSessionmethod parameters as Nullable or NonNull (aosp/Iec460) TrustedWebActivityIntentBuildernow builds aTrustedWebActivityIntentinstead of a raw intent (aosp/I03fb6)
Bug fixes
CustomTabsClientnow uses the legacyrequestPostMessageChannelif needed (aosp/Ibb324)- Fixed
CustomTabsSessionToken#equals(aosp/I7f249) CustomTabsClientnow uses the legacynewSessionif possible (aosp/Ie27dc)
External contribution
- API lint check for the MinMaxConstant is enabled for androidx (aosp/I29b78) (b/138602561)
Version 1.2.0-alpha07
August 7, 2019
androidx.browser:browser:1.2.0-alpha07 is released. The commits included in this version can be found here.
New features
Dark Theme
- Developers can provide theme colors to be used when the device is in dark mode.
- Developers can also override whether the launched browser should be in dark or light mode.
- The navigation bar color can be specified for Custom Tabs.
Trusted Web Activities
- The
TrustedWebActivityBuildercan be used to easily create and launch Trusted Web Activities. - The
TrustedWebActivityServiceand related classes can be used to communicate with the provider - accepting web push notifications for the linked website and displaying them from the client app. This part of the API is liable to change.
- The
Custom Tab Session Ids
- Custom Tabs sessions can now be created with ids, allowing the merging of two sessions launched by the same application with the same id.
API changes
- Browser Actions related classes and methods have been marked deprecated. Unfortunately, while we had high hopes for the feature, barely anyone ended up using it and only one browser ended up providing support for it. We’re deprecating it to keep the code and the API simple.
Version 1.0.0
Version 1.0.0
September 21, 2018
browser-1.0.0 is released.