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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions