6.0.1
6.0.1
Patched critical authentication issue where refreshing tokens would result in invalid user state.
6.0.0 (Do not use)
[Breaking Change - LucraClient signature update & new apiKey]
apiUrlis no longer required and the priorapiKeyCANNOT be reused. If you don't have the new key already contact Lucra for your new API key.
Added new
HomePageflow that launch the home page where user can create tournaments or matchups. Supports unauthed access.Added
submitUserScoreByMetadataandsearchMatchupsByMetadatatoLucraClientto allow headless tournament score submissions and searchingRedesign of the user profile screen
LucraUiProvider.LucraFlow.Profile
5.3.0
[Breaking Change - Repository Migration] SDK artifacts are now published to Maven Central instead of GitHub Packages.
No authentication required - artifacts are publicly accessible
Remove the
LucraGithubPackagesmaven repository and credentials from your build.gradleSimply use
mavenCentral()which is typically already included in your repositories block
Added support for unauthenticated tournament details screen.
Added support for new type of visibility for tournaments:
Private: Tournament can only be discovered by entering private code. (no change)
Visible: Tournament is publicly viewable on available locations. (no change)
Private Visible: Tournament is publicly viewable on available locations, but can only be joined by providing a private join code. (new)
Tournament details now auto updates the leaderboard every minute.
Other UI/UX improvements
5.2.0
Added
LucraUiProvider.LucraFlow.Walletflow to allow for a simplified user profile screen.Updated GeoComplyContexts to be more streamlined.
Added support for an unauthenticated Home Screen.
5.1.0
Added
submitUserScoretoLucraClientto allow headless tournament score submissionsAdded
Gamedata object toTournamentto provide more details about tournaments for headless API callsOptimized loading time for Tournaments/Games Landing screen queries.
Tournaments-only clients now have a simplified, vertically scrolling landing page for easier navigation.
Big cards for featured games now has a scroll indicator as well as "peek" animation for the card so it's more obvious that there are multiple cards in the carousel.
Add funds bottom sheet is now scrollable on smaller devices.
Location selector now only shows the venue name, instead of "city - venue name".
5.0.1
Hotfix for preconfigured phone numbers
5.0.0
Added
metadatafield toSDKUserto allow linking between client users and Lucra users. This can be updated via theconfigure(sdkUser: SDKUser)method.Added
LucraClient().setMatchupInviteDeeplinkProviderto allows clients to append a Lucra specific matchupID to their existing deeplinks[Breaking Change]
DemographicInformationMissingis now part ofUserStateErrorand can be returned if a user who is missing demographic information attempts to join a tournament that requires it.Added DemographicForm flow to
LucraUiProviderfor headless access to demographic collectionEnhanced tournament joining logic to validate demographic data and return specific error types
Updated demographic form UI to use direct text input for date of birth instead of date picker
Complete the Android 16kb platform alignment requirement.
Simplified unused code path for fund flows.
Added back phone number lock on login if
configure(sdkUser)is called prior.Major dependency updates and compatibility requirements:
Updated Dependencies:
Upgraded Kotlin from 1.9.23 to 2.0.21 (major version update with new K2 compiler)
Upgraded Android Gradle Plugin (AGP) from 8.3.2 to 8.10.1
Upgraded Gradle from 8.4 to 8.12
Updated Compose BOM from 2025.03.00 to 2025.09.01
Updated AndroidX Navigation from 2.8.3 to 2.9.3
Updated AndroidX Constraint Layout Compose from 1.1.0 to 1.1.1
Updated AndroidX Window Manager to 1.2.0
Updated AndroidX WebKit to 1.14.0
Updated Sardine MDI SDK from 1.2.46 to 1.2.59
Architecture Changes:
Migrated to new Compose Compiler plugin architecture
Removed Dependencies (cleanup):
Removed
android-installreferrerRemoved
androidx-core-splashscreenRemoved unused Camera2 dependencies
Removed unused tracing-ktx dependency
And more...
4.5.1
Fixed crash upon viewing completed tournament details
4.5.0
Added
LucraUiProvider.LucraFlow.MatchupDetailsLucra flow to allow routing to the respective details view for each Matchup Type.Added
LucraEvent.GamesContest.StartedActiveto indicate when a Games matchup creator starts a matchup while the non creator is viewing the matchup details.Added SnackBar
Reduced the amount of clicks/screens to complete KYC flow
Reduced number of clicks when Signing in by removing the Terms & Conditions checkbox.
Updated the funding and withdraw flow with a new design that reduces the number of clicks required to complete the process.
Improved the matchup joining flow, making it more streamlined with fewer clicks required.
Updated how we fetch tournament data to consume less bandwidth.
Introduced Feature Flag to configure profile FAB
4.4.0
Enhanced UI/UX for tournament flows.
You can now perform actions that are not dependent on the load state.
Enhanced haptic feedbacks.
Enhanced error handling.
Fixed a bug where only the "tournament" and "game" were filterable categories.
Fixed a bug where tournament details screen would not prompt for location permission.
Removed various unused assets.
Removed dispute button when user is not part of the matchup.
Demographic collection form will now auto-fill information provided before.
Updated to allow setting
locationIdviaLucraClientat any point (after SDK init) in the flow.Consolidated tournament location operations into
TournamentLocationProviderTournamentLocationProviderallows setting and getting oflocationIdeither from user or from client.
Tournaments where buy in is $0 (free) can be joined with a single tap from the big featured game cards.
Bug fix of how tournament pot was displayed in the big featured game cards.
4.3.0
Updated Wordings for free to play tournament
New UI for phone number authentication flow
Fixed a bug where game ID was not being passed when creating a Games matchup directly from bottom sheet
Other various UI improvements
4.2.1
Fixed issue where invalid geocomply license key would cause the SDK to crash
4.2.0
Updated Geocomply to 2.17.0
Added LucraEvent
LucraEvent.GamesContest.Startedto indicate when a Games matchup creator has pressed the "Start Matchup" button. Note: All other Games related events are now firing for the Free For All and Team vs Team matchups.Free to play products now does not require age assurance check, instead soft checks against DOB
Introduced OrbitMVI library (version
9.0.0)Added the ability to create a tournament with a private join code that only allows users with that code to join
Added the ability to replay a tournament for select locations and tournaments
4.1.1
[Breaking Change] updated
LucraMatchup'satStakefield tobuyInAmount, and type fromAtStakeobject toDouble.if the game is
tenantRewardbased, thebuyInAmountwill be0.0.
You can still access the
Rewardobject that represents atenantRewardthroughlucraMatchup.participantGroups.participants.tenantReward.
4.1.0
[Breaking Change]
LucraClient.getMatchup()returnsLucraMatchupon success. This version updates the object'srecreationGameExtensionproperty to includeAtStakeobject instead ofbuyInAmount: Intthat represented the buy in amount.[Breaking Change]
LucraMatchupRecreationalGameExtensionnow containsAtStakeobject instead ofbuyInAmount: Int.AtStakecan either be buy in amount, or a client definedRewardobject.Free to play (
Reward) feature added for group play!UI enhancements across Group Play and Tournaments.
4.0.1
Updates to GeoComply
4.0.0
[Breaking Change] Methods to get(both sport and recreational matchups), create, accept, and cancel recreational games matchup has been migrated:
LucraClient.getMatchupLucraClient.createRecreationalGameLucraClient.acceptVersusRecreationalGameLucraClient.acceptFreeForAllRecreationalGameLucraClient.cancelRecreationalGame
Profile page performance enhancement. We now only pre-load 20 items for in progress, accepted and completed matchups.
Updated
com.braintreepayments.apipaypal,venmo, anddata-collectorSDKs to5.8.0Improved geolocation related performance.
UI updates to Game Matchup Details screen.
Updated compose dependencies:
androidxComposeBomto2025.03.00,androidxConstraintLayoutComposeto1.1.0Upgraded
androidx.navigatio:nnavigation-composeto2.8.3, resolving backwards compatibility issues with2.7.7Patched authentication subscription issues when token would be dropped during an attempted request
Migrated to
androidx.compose.material3:material3removing dependency to the legacyandroidx.compose.material:materiallibraryAdded
LucraUiProvider.LucraFlow.TournamentDetailsLucra flowGroup play feature added. We now support teams versus (team vs team) and free for all matchups for games!
CreateGamesMatchupnow supports optionallocationIdto specify a location for filtered tournaments
3.13.1
Updated
Tournamentdata model to includepotNetAmount.
3.13.0
Added
accountStatustoSDKUserpayload to indicate the user's account statusFixed Games Creation and Acceptance flows to always show Loading dialogs after requesting location permission
Depreciated fields
background,onBackground,surface, andonSurfaceinColorStyleImproved Games Create flow with a more streamlined UI
Improved Sports You Watch flow with a more streamlined UI
Sports You Watch now supports live games
3.12.0
[Breaking Change] The [RetrieveGamesMatchupResult] now returns [TopLevelMatchupType] instead of [SportsMatchupType] on success callback.
[Breaking Change] The [TopLevelMatchupType]'s field
ownerIdis nowcreatorIdandtypeis nowsubtypeBumped Aerosync version from
1.0.9to1.3.0Updated how bank deletion logic is handled per provider
Added
LucraUiProvider.LucraFlow.GamesMatchupDetailsLucra flowUpdated Geocomply version to support TargetSDK 35
Added
LucraClient().closeFullScreenLucraFlows()to close all open LucraFlowsFixed network overlay from displaying too frequently
3.11.4
Renamed
TournamentfieldstournamentIdandpoolTotalAmount. AddedTournamentfieldsmetadataandiconUrlRenamed
PartcipiantfielduserId
3.11.3
Introduced support for Tournaments
Introduced
LucraClient().joinTournament(),LucraClient().queryRecommendedTournaments()andLucraClient().retrieveTournament()
3.11.2
Introduced Nuvei for Deposits
Introduced
LucraRewardProvider#viewRewardsto support the Profile "View My Rewards" entry. This will not be backwards compatible ifLucraRewardProvideris implemented.Added
LucraUiProvider.LucraFlow.CreateGamesMatchupByIdLucra flow
3.11.1
Upgraded
androidx.navigatio:nnavigation-composeto 2.8.3, resolving backwards compatibility issues with 2.7.7Patched authentication subscription issues when token would be dropped during an attempted request
RetrieveGamesMatchupResult now contains
gameparam that contains the game details associated with the matchup
3.11.0
NotificationChannel is now set up automatically by the SDK - no need to define it on the consumer side.
LucraRewardProvider is now available for FTP SYW usage. See release notes for details.
3.10.1
Introduced Nuvei for ACH withdrawals
UI improvements to Games contests
Bug fix related to Android Material library versions
3.10.0
[Breaking Change] The params for
LucraConvertToCreditWithdrawMethodwere updated. The paramtypewas remove andconversionTermswas added.[Deprecated] User's
birthdayfield for configuration. It will now be ignored and return as null inSDKUser.
3.9.2
UI improvements to Deposit & Withdraw funds flow
3.9.1
Various UI improvements to GYP flow
3.9.0
Added Convert to Credit Withdrawal option
3.8.1
Improvements to add funds flow.
Paypal/Venmo is no longer auto-selected as a default deposit method.
Bug fixes around feature flags and theming.
3.8.0
Get Matchup API call now supports unauthed calls
Improvements to Sports Player selection screens
Introduced Paypal and Venmo support for deposit and Withdrawal
3.7.0
Added "View All" to
MyMatchupsandProfileto view and search against specific categories of your MatchupsAdded the ability to rematch a GYP contest and automatically invite teammates and opponents.
Added 'TakeEm' contests to the public feeds
UX updates to Add Funds text field
3.6.1
Light & Dark mode styling updates
3.6.0
[Breaking Change] Updated
getSportsMatchup(matchupId)to return newSportsMatchupTypemodelUpon logging out in the middle of a Flow, LoginFlow will reset the Flow stack and launch
A "No network" screen will show if network drops for any reason.
Added Head to Head Stats
Client theme now supports light and dark mode.
ClientTheme'scolorStyleconstructor field is deprecated. Use newClientTheme(lightColorStyle: ..., darkColorStyle:...)instead.Fixed View All player and opponent stats
Loginflow can now be entered even if user is already logged in. They'll be met with "User is already onboarded"SDKUserwill now accept a birthdayCalendarobject to prefill KYC and SSN flows. This birthday will continue to emit with user updates.Updated money transaction notifications to navigate user to Transaction history
Added ability to edit a user's profile image
Added support to see all submitted support request and add additional comments to them
Various bug fixes around Verification status, sports public feeds and styling.
3.5.0
Fixed invalid login auth state
Added TOS bottom sheet
Fixed add funds logic around accepting GYP flow
Fixed various deposit flow bugs
Improved CC expiration date input
Added additional address line for CC entry
Added unsupported CC type error
Migrated user stats query from v3 to v4
3.4.1
[Deprecated Release] Use version >=3.5.0
Added update username feature from profile
Fixed SDK state when application restarts from configuration changes
Withdrawal and add funds actions will invoke device security.
Bug fix with suspension screens
Added responsible gaming screens
3.4.0
[Deprecated Release] Use version >=3.5.0
Added
SDKUserResult.WaitingForLoginto depict scenarios where the User action is awaiting completion of user login prior to completing the user action. E.g.LucraClient().configure(sdkUser)After successful configuration and login, the user info will be automatically updated
If
configure(sdkUser)is called prior to login, the (valid) phone number will be used to prepopulated the login screen.Lucra specific push notifications are now supported
Fixed user auth subscription issue when user logs out
Fixed SDKUser balance
3.3.1
[Deprecated Release] Use version >=3.5.0
Created Contest Flows now respect the configuration of the client. e.g. Games you play vs games you watch
Fixed insufficient funds logic
Multiple Games You Play bug fixes
Updated multiple androidx and plugin dependencies, please notify us if you notice any issues
Desuraging is now required by host application with latest kotlin and AGP dependencies
3.3.0
[Deprecated Release] Use version >=3.5.0
Added
LucraComponent.RecommendedMatchupsLucraComponentFixed unauthed flow user experience
Added
LucraClient().getSportsMatchup()API call to retrieve sports matchupsAdded support for unauthed API call for GYP and SYW contest details
3.2.0
[Deprecated Release] Use version >=3.5.0
Added
LucraComponent.ContestCard(View) to embed a sports contest card within the host appAdded Floating Action Button to User Profile
Updated MiniPublicFeed to allow a list of player ids instead of only two
Updated MiniPublicFeed to show empty state when no contests are available
Added
LucraComponent.FloatingActionButton(View) for embedded FABs to create sports contests.Added balance to SDKUser to represent the user's account balance
[Breaking Change]
FontFamilyno longer accepts a list of fonts. You must explicitly set eachFontassociated with each text styleParam name for
Fontchanged fromfontNametofontAssetFilePathweightparam was remove fromFontAll font files must be included in the
src/main/assetsdirectoryfontAssetFilePathmust include the file extension
Added
LucraClient().setDeeplinkTransformerto enable modification to QR deeplink uri generated by the SDK. This allows lucra specific URI to be modified/wrapped to client specific string.Added
LucraClient().getLucraFlowForDeeplinkUrito convert a valid deeplink lucra URI into a flow.setDeeplinkTransformerandgetLucraFlowForDeeplinkUriis meant to be used in conjunction to allow client specific QR code generation as well as later converting lucra URI contained in the QR code to a lucra flow (UI).Added
LucraClient().setEventListenerto allow a way for clients to listen to events and transmit data from event occurring within the SDK.
3.1.0
[Deprecated Release] Use version >=3.5.0
Allow public feed (
LucraFlow.PublicFeed) to be filtered by league IDs throughSdkIdFilter. It can be accessed throughLucraClient().getPublicFeedLeagueIdFilter().Deprecated
LucraClient().getSDKUserIntroduced
LucraClient().observeSDKUserFlow()andLucraClient().observeSDKUser { sdkUser -> }, these will emit the active user logged in and returns null upon logging outSDKUsernow includesavatarUrlAdded
LucraComponent.ProfilePill(View) for embedded Profile PillsAdded
LucraComponent.MiniPublicFeed(View) to embed the public feed within the host appAdded
LucraClient().getGamesMatchup()API call to retrieve games matchupsBug fixes to public feed and profile flows
3.0.0
[Deprecated Release] Use version >=3.5.0
Added required
apiUrltoLucraClientconstructorUpdated
authClientIdtoapiKeyAdded support for unauthed viewing of the public feed. Any proceeding actions will now launch the auth flow
Improvements to
LucraFlowexperienceAdded update username API for scenarios where only the username needs updates
2.3.1-beta
[Deprecated Release] Use version >=3.5.0
This version is largely a test to verify release automation
Various bug fixes and UI updates
Allow user info of a same user to be updated when username has not changed
Update Aerosync sdk to 1.0.8
Refactor Aerosync response handling per breaking change coming in March
Update deeplink handling back to the SDK
2.3.0-beta
[Deprecated Release] Use version >=3.5.0
Fixed issues around missing matchups
Fixed user balance emission updates
Included Aeropay functionality
Fixed deposit flow bugs
Aeropay deeplinks back to add funds page after bank link.
2.2.0-beta
[Deprecated Release] Use version >=3.5.0
Removed "Send Reminders" card from the public feed
Updated "Created Contest" popup to notify user where to find their contest
Added notifications to profile screen
Moved continue button up on sms auth screen
Fixed DatePicker UI
2.1.0-beta
[Deprecated Release] Use version >=3.5.0
Introduced
LucraClient().getSDKUser {...}to retrieve the current logged in userIntroduced
LucraClient().configure(sdkUser)to update the current logged in userFixed UserService state to listen to user authed status
Now showing username in SDK profile view
Fixed Public Feed refresh state
Introduced
LucraClient().logout(context)Introduced new flow
LucraFlow.Login
2.0.0-beta
[Deprecated Release] Use version >=3.5.0
[Breaking Change] Introduced required
LucraFlowListeneras a property ofLucraUito consume permitted flow launch points. See README for more detailsImplement
launchNewLucraFlowEntryPointto accept full screen launch pointsImplement
onFlowDismissRequestedto dismiss any full screen launch points, including the original launch point.
[Breaking Change] Removed
LucraClient#lucraClientListenerin favor ofLucraFlowListenerinLucraUiFixed duplicate logs upon client recreation
1.1.2-beta
[Deprecated Release] Use version >=3.5.0
Introduced SANDBOX Environment,
environment = Environment.SANDBOXUpdated maven artifact location from
https://maven.pkg.github.com/Lucra-Sports/lucra-androidtohttps://maven.pkg.github.com/Lucra-Sports/lucra-android-sdk
1.1.1-beta
[Deprecated Release] Use version >=3.5.0
Testing release process, no changes
1.1.0-beta
[Deprecated Release] Use version >=3.5.0
API Create and Cancel Contests
LucraUI introduced to support lucra flows
LucraUiProvider.LucraFlow.VerifyIdentityLucraUiProvider.LucraFlow.AddFundsLucraUiProvider.LucraFlow.WithdrawFundsLucraUiProvider.LucraFlow.CreateGamesMatchup
Last updated
