- Fix: Ensure auth progress is preserved across configuration changes, preventing cases where a headless activity remains open and blocks user input.
- Breaking Change: Added new
AuthorizationResponse.Type.CANCELLEDto differentiate user-initiated cancellations from technical errors.- User cancellations (browser closed, back button pressed) now return
Type.CANCELLEDwithRESULT_CANCELED - Technical errors (malformed responses, missing data) return
Type.EMPTYwithRESULT_OK - OAuth errors (e.g.,
access_denied) continue to returnType.ERRORwithRESULT_OK - Client applications should update their authorization result handling to account for the new
CANCELLEDtype andRESULT_CANCELEDresult code.
- User cancellations (browser closed, back button pressed) now return
- Add mandatory redirect path pattern.
You can now define the path pattern in your app's build.gradle file as follows:
defaultConfig {
manifestPlaceholders = [
redirectSchemeName: "your-redirect-scheme",
redirectHostName: "your-redirect-host",
redirectPathPattern: "your/redirect/path/pattern" // New mandatory field
]
...
}If you want to retain the previous behavior (accepting any path), use .* as the path pattern. For more details, see the Google documentation.
- Requesting token now uses PKCE when:
- There is an installed Spotify app that supports PKCE.
- When web fallback is used.
- Token requests may return a refresh token if PKCE was used.
- Propagate tracking parameters when opening the native login flow
- Introduced RedirectUriReceiverActivity for web based auth flow
- Restructured web based flow, removed LoginDialog class
- Made AuthorizationClient final
- Bumped to Gradle 7.5, AGP 7.4.2
- Bumped targetSdkVersion to 33
- Bumped androidx.browser to 1.5.0 and test dependencies
- Introduce a new flavour store to generate a library called auth-store that default to the play store instead of CustomTabsIntent
- Expose method to check if the Spotify application is installed
- Fixed StackOverflowError at com.spotify.sdk.android.auth.browser.LoginDialog.onServiceDisconnected
- Fixed NullPointerException when creating CustomTabsIntent in LoginDialog
- Set LoginActivity launch mode to singleTask to avoid launching CustomTabs in a separate task
- Removed unused code related to WebView
- Replaced WebView usage with Custom Tabs since Google and Facebook Login no longer support WebViews for authenticating users.
- Removed AuthorizationClient#clearCookies method from the API. Custom Tabs use the cookies from the browser.
- Bumped targetSdkVersion to 31
- Fixes an issue related to package visibility changes in API 30
- Updated targetSdkVersion (API 30), buildTools and Gradle plugin
- Removed unused jcenter repository
- Conform to package visibility restrictions when targeting Android 11 (API 30)
- Fixed a few issues with the webview based redirect
- Remove custom-tabs handling due to issues
- Fixes an issue that produced a redirect error when the redirect uri contains CAPS.
- Breaking changes: Rename classes from AuthenticationClassName to AuthorizationClassName
- Pass state parameter in AuthorizationResponse
2019-08-12
- Add method to clear Spotify and Facebook cookies to AuthenticationClient
- Upgrade buildToolsVersion to 27.0.3
- Replace deprecated compile keyword in gradle files
2018-02-28
- Upgrade target and compile SDKs to 27
- Upgrade android support libraries to 27.0.2