Skip to content

Firebase UI Android v10.0.0-beta01 Release #2285

@thatfiredev

Description

@thatfiredev

Firebase UI Android v10.0.0-beta01 Release

We're excited to announce Firebase UI Android v10.0.0-beta01. This major update upgrades this library to natively support Jetpack Compose.

What's New in Beta

This development phase focused on 3 key areas of the Auth module:

  • Compose Upgrade: Removing legacy XML-based components in favor of modern Kotlin-based Composable components.
  • API Redesign: A complete redesign to better support developers and improve maintenance.
  • Feature Development: Build and improve upon a suite of features to provide a complete set of authentication flows, including MFA, custom providers and multi-app support.

Note: There are no major changes to the other Firebase UI Android modules (database, firestore and storage).

Improved Core API

The new API comes packed with a host of new supporting features and utilities for managing authentication in your applications. New features include:

  • FirebaseAuthScreen: A single entry point that manages the entire auth flow based on your configuration i.e AuthUIConfiguration.

  • AuthUIConfiguration: A type-safe configuration object that defines providers, UI theming, MFA, anonymous upgrade, and validation rules for the authentication flow.

  • Custom auth injection: For adding custom authentication via create(app, auth).

Native Compose UI & Theming

  • Fully Themed: With AuthUITheme, buttons and inputs automatically adopt your app’s Material branding. You can override typography, shapes, and colors, or inject your own ProviderStyle for distinct button looks.

  • Slot APIs: The new EmailAuthScreen and PhoneAuthScreen expose slot APIs, giving you access to state (EmailAuthContentState) while letting you render your own UI.

State Management

  • State Management: Access multiple supporting functions for managing authentication state is your application. Included in this release are isSignedIn(), getCurrentUser(), and authStateFlow to expose authentication state reactively.

  • Reactive Streams: Built on Kotlin Flow for improved integration with Compose and modern Android architecture.

  • Lifecycle Management: Controller returned by createAuthFlow(configuration) with start(), cancel(), and dispose() methods.

  • Flow Control: start() drives authentication flow per configuration.

  • Safe Cancellation: cancel() transitions to Cancelled state gracefully.

  • Resource Management: dispose() releases coroutines and listeners to prevent memory leaks

Sample app

The repository's sample application has been upgraded to use the new updates. Updated features include:

  • Upgraded application: A "Quickstart" example using FirebaseAuthScreen to demonstrate how to implement a full authentication flow with just a few lines of code.

  • Advanced Customization (Slot APIs): A deep dive into using the new Slot APIs (EmailAuthScreen, PhoneAuthScreen), showing how to inject your own custom UI layouts while retaining the library's state management and validation logic.

  • Theming & Styling: Examples of using AuthUITheme.fromMaterialTheme() to inherit your app’s branding, and using ProviderStyle to create custom buttons.

  • Feature Walkthroughs: End-to-end demonstrations of complex flows, including federated providers, Custom providers, Multi-Factor Authentication (SMS & TOTP) enrollment and Deep Linking.

Try it out

Documentation and source for the updated library are in the v10.0.0-beta-01 branch.
Check out auth/README.md to get started or upgrade-to-10.0.md to learn how to migrate from v9.

We're seeking your feedback as we continue shaping this project, so let us know what you think by commenting below or opening a new issue!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions