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 APICustomTabsSession#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 to- CustomTabColorSchemeParamsto 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- @Nullable- TrustedWebActivityCallbackparameter. The bundle parameter is now marked as- @NonNullinstead of- @Nullable. (I64dbb)
- TrustedWebActivityServiceConnection.extraCommandmethod has been renamed to- sendExtraCommand(Id29a8)
- CustomTabsIntent.Builder#addDefaultShareMenuItem()has been deprecated in favor of the new- #setDefaultShareMenuItemEnabled(boolean)and- CustomTabsIntent.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:- registerClientand- getVerifiedPackageshave 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 a- TrustedWebActivityIntentinstead of a raw intent (aosp/I03fb6)
Bug fixes
- CustomTabsClientnow uses the legacy- requestPostMessageChannelif needed (aosp/Ibb324)
- Fixed CustomTabsSessionToken#equals(aosp/I7f249)
- CustomTabsClientnow uses the legacy- newSessionif 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.
