firebase/flutterfire
66.3
Adequate · 22 September 2026
122.9k
lines of production code
Dart
with Swift, Objective-C, C++, Kotlin, Java
5
measurements over time
What this system is
This system is the official FlutterFire SDK, providing a comprehensive suite of plugins that enable Flutter applications to integrate with various Firebase services. It facilitates cross-platform development by offering native implementations for Android, iOS, macOS, Windows, and Web, covering core functionalities such as authentication, real-time database operations, analytics, and cloud functions. The codebase also extends into modern capabilities like generative AI access and application security through App Check, ensuring consistent API surfaces across all supported platforms.
How it got here
2017–2020 — Platform interface modernization and WASM support
98 changes.
This period focused on modernizing the FlutterFire architecture by migrating native Android and iOS implementations to Kotlin and Swift, and standardizing Dart-to-native communication through a Pigeon-based platform interface. Significant effort was dedicated to enabling WebAssembly (WASM) compatibility by rewriting web interop layers to use dart:js\_interop, alongside the introduction of new features like Firestore Pipelines, Cloud Functions streaming, and comprehensive multi-factor authentication support.
2021–2022 — New plugin releases and platform modernization
60 changes.
This period introduced several new Firebase plugins, including Data Connect, App Installations, and ML Model Downloader, while significantly expanding Firebase App Check with multi-platform provider support. Concurrently, the codebase underwent extensive modernization by migrating core plugins like Firestore, Analytics, and Auth to Pigeon for type-safe platform channels and updating web implementations to support WebAssembly via dart:js\_interop.
2023–2026 — Pigeon migration and Windows expansion
57 changes.
This period focused on migrating native Android and iOS implementations to Kotlin and Swift using the Pigeon code-generation framework, replacing legacy platform channel handling. It also introduced Windows desktop support across multiple plugins and modernized example apps to use standard Flutter embedding patterns.
Features
Add App Check token result API and Windows support via Pigeon interface
The platform interface for Firebase App Check has been updated to expose a new \getTokenResult\ method, which returns both the token and its expiration timestamp, allowing applications to inspect token validity without immediate refresh. Additionally, the Pigeon configuration now generates C++ bindings for Windows, enabling App Check functionality on that platform, while maintaining existing support for Android (Kotlin) and iOS (Swift).
_packages/firebase\_app\_check/firebase\_app\_check\_platform\interface/pigeons · high confidence
Add LoadBundleTaskState conversion utility
A new utility function has been added to convert string representations of load bundle task states ('running', 'success', 'error') into the corresponding platform interface enum values, throwing an UnsupportedError for any unrecognized state values.
_packages/cloud\_firestore/cloud\_firestore\_platform\_interface/lib/src/platform\interface/utils · high confidence
Add client-side password policy validation support
The Firebase Auth platform interface now includes a new \password\_policy\ module that enables client-side validation of passwords against backend-defined policies. This change introduces classes to fetch the current password policy configuration (including minimum/maximum length and character requirements like lowercase, uppercase, numeric, and non-alphanumeric symbols) from the Identity Toolkit API, and to validate user input against these rules locally before submission. Users will benefit from immediate feedback on password strength and compliance with organizational security standards.
_packages/firebase\_auth/firebase\_auth\_platform\_interface/lib/src/password\policy · high confidence
Add macOS example app for Cloud Functions
The Cloud Functions package now includes a native macOS example application, allowing developers to test and run the plugin on macOS desktop. This addition provides the full Xcode project structure, including the Runner target, Swift application entry points, and necessary configuration files, enabling end-to-end testing of Firebase Cloud Functions on the macOS platform.
_packages/cloud\_functions/cloud\functions/example/macos · high confidence
Add macOS example app project files
The Firebase Auth example application now includes the necessary Xcode project configuration files to support macOS development. This change introduces the \Runner.xcodeproj\ structure, including the main project file, workspace settings, and build schemes, alongside Flutter-specific configuration files (\Flutter-Debug.xcconfig\, \Flutter-Release.xcconfig\) and source files like \AppDelegate.swift\ and \MainFlutterWindow.swift\. Users can now build and run the Firebase Auth example directly on macOS.
_packages/firebase\_auth/firebase\auth/example/macos/Runner.xcodeproj · high confidence
Add macOS example app runner files for Firebase Auth
The Firebase Auth example application now includes the necessary macOS runner files, enabling users to build and run the example on macOS. This addition includes the Swift application delegate and main window implementations, the standard macOS menu interface, app icon assets, build configuration files, and entitlements required for sandboxing and network access.
_packages/firebase\_auth/firebase\auth/example/macos/Runner · high confidence
Add macOS example app scaffolding for firebase\_app\_check
The firebase\_app\_check package now includes a complete macOS example application, enabling developers to test and integrate the plugin on Apple desktop platforms. This addition provides the necessary Xcode project structure, including the Runner target, Swift application entry points (AppDelegate and MainFlutterWindow), build configurations, and Firebase configuration files, establishing the foundation for macOS support in the plugin's ecosystem.
_packages/firebase\_app\_check/firebase\_app\_check/example/macos, packages/firebase\_app\_installations/firebase\_app\installations/example/macos · high confidence
Add macOS support to the Firebase Auth example app
The Firebase Auth example application now includes the necessary Xcode workspace configuration files to support macOS development. This change adds the workspace structure and settings required to build and run the example app on macOS, enabling developers to test authentication features on Apple's desktop platform.
_packages/firebase\_auth/firebase\auth/example/macos/Runner.xcworkspace · high confidence
Add support for Cloud Functions streaming and 2nd gen functions
The Cloud Functions library now supports calling 2nd generation Callable functions via new \httpsCallableFromUrl\ and \httpsCallableFromUri\ methods, and introduces a \stream\ method on \HttpsCallable\ to handle Server-Sent Event (SSE) responses. This includes new \StreamResponse\, \Chunk\, and \Result\ types to manage streaming data, allowing users to receive intermediate chunks and final results from their functions.
_packages/cloud\_functions/cloud\functions/lib/src · high confidence
Added Android example app entry point for Firebase Data Connect
The Firebase Data Connect example application now includes a Kotlin MainActivity class that extends FlutterActivity, providing the necessary Android entry point for the example app to run on Android devices.
_packages/firebase\_data\_connect/firebase\_data\connect/example/android/app/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Added iOS example app configuration files
The example application for Cloud Firestore on iOS now includes standard Flutter configuration files: AppFrameworkInfo.plist, Debug.xcconfig, and Release.xcconfig. These files establish the basic bundle metadata and build configurations required for the example app to run correctly on iOS devices and simulators.
_packages/cloud\_firestore/cloud\firestore/example/ios/Flutter · high confidence
Added package version constant for Cloud Functions Web
A new \cloud\_functions\_version.dart\ file has been added to the \cloud\_functions\_web\ package, introducing a \packageVersion\ constant set to '6.5.0'. This provides a generated version number for the package, which can be used for identification or debugging purposes within the web implementation.
_packages/cloud\_functions/cloud\_functions\web/lib/src · high confidence
Android implementation of Firestore Pipelines and new expression support
The Android side of the cloud\_firestore plugin now supports Firestore Pipelines and a suite of new query expressions. This change introduces a new set of utility classes in the utils package to parse and execute pipeline stages (such as where, sort, select, aggregate, search, and union) and to handle complex boolean and value expressions (including and, or, xor, nor, coalesce, switch\_on, and timestamp functions). It also adds dedicated parsers for converting Pigeon interop types (like Source and ServerTimestampBehavior) and a new ExceptionConverter to standardize error reporting back to Flutter.
_packages/cloud\_firestore/cloud\firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils · high confidence
Android platform support for Firebase App Check
This change introduces the Android implementation for the Firebase App Check plugin. It adds the necessary AndroidManifest.xml to register the Flutter Firebase App Registrar service, sets up the Gradle wrapper to use Gradle 8.4, and includes a .gitignore file to exclude build artifacts and IDE files from version control.
_packages/firebase\_app\_check/firebase\_app\check/android · high confidence
Automated Build Scripts for Version Management and Validation
This change introduces a suite of new automation scripts in the \scripts/\ directory to streamline the release and maintenance process. \generate\_bom.dart\ and \bom\_analysis.dart\ now automatically calculate the next Bill of Materials (BoM) version based on package changes, update the \VERSIONS.md\ and \CHANGELOG.md\ files, and commit the results. Platform-specific scripts (\generate\_versions\_gradle.dart\, \generate\_versions\_spm.dart\, \generate\_versions\_web.dart\) automatically propagate version numbers and SDK configurations to Android, iOS/macOS (Swift Package Manager), and Web packages respectively. Additionally, \validate\_workspace.dart\ enforces repository integrity by ensuring all packages are listed in the root workspace and preventing \flutter\_test\ from being declared as a regular dependency, while \generate\_dataconnect\_version.dart\ and \generate\_firebaseai\_version.dart\ handle specific version file updates for those packages.
scripts · high confidence
Expanded App Check provider options and token metadata across platforms
The platform interface for Firebase App Check now exposes a richer set of provider choices and token details. On Android, developers can choose between Play Integrity, Debug, and reCAPTCHA providers. Apple platforms (iOS/macOS) now support App Attest, Device Check, and reCAPTCHA, including a fallback mode for older OS versions. Web apps can use reCAPTCHA Enterprise or reCAPTCHA v3, while Windows is supported via a debug-only provider. Additionally, the \AppCheckTokenResult\ class now includes an optional \expirationTime\ field, allowing users to see when tokens expire.
_packages/firebase\_app\_check/firebase\_app\_check\_platform\interface/lib/src · high confidence
Firebase Auth SDK restructured with platform interface and new MFA features
The Firebase Auth library has been restructured to use a platform interface pattern, introducing new classes like ConfirmationResult for phone sign-in flows, MultiFactor for managing second factors (including TOTP support), and RecaptchaVerifier for web-based phone authentication. The FirebaseAuth class now supports tenant IDs, custom auth domains, and emulator configuration via useAuthEmulator. User accounts now expose multi-factor capabilities through the User.multiFactor property, and the library includes updated documentation for email enumeration protection and password reset behaviors.
_packages/firebase\_auth/firebase\auth/lib/src · high confidence
Firebase Auth plugin now supports Windows
The Firebase Auth plugin now includes a native Windows implementation, enabling Flutter applications to run on Windows desktop with full authentication capabilities. This addition introduces the C++ plugin source, CMake build configuration, and Pigeon-generated message bindings required to bridge Flutter calls to the Firebase C++ SDK on Windows. Users can now utilize standard Firebase Auth features, such as email/password sign-in, anonymous authentication, and credential linking, on the Windows platform.
_packages/cloud\_firestore/cloud\_firestore/windows, packages/firebase\_auth/firebase\auth/windows · high confidence
Firebase ML Model Downloader plugin initial release and deprecation notice
The firebase\_ml\_model\_downloader plugin is now available, allowing Flutter apps to download and manage custom ML models via the Firebase ML Model Downloader API. This release includes the core plugin implementation for Android and iOS, along with an example app and integration tests. Please note that Firebase ML is deprecated and will shut down on June 15, 2027; existing projects should migrate hosted custom models to another solution before that date.
_packages/firebase\_ml\_model\downloader · high confidence
Firestore web plugin restructured with new pipeline and aggregation support
The web implementation for Cloud Firestore has been completely rewritten, introducing a new architecture that supports advanced query capabilities. This update adds native support for Firestore Pipelines, including the builder and expression parser logic required to serialize and execute complex query stages on the web platform. It also implements the AggregateQuery platform, enabling users to perform count, sum, and average operations on queries. The rewrite includes updated implementations for core components like DocumentReference, CollectionReference, Query, Transaction, and WriteBatch, ensuring compatibility with the latest platform interfaces and improved error handling via the shared \convertWebExceptions\ utility.
_packages/cloud\_firestore/cloud\_firestore\web/lib/src · high confidence
Initial release of Firebase Data Connect for Flutter
This change introduces the \firebase\_data\_connect\ package, providing a Flutter client SDK for the Firebase Data Connect API. The release includes the core library implementation, configuration files (such as \analysis\_options.yaml\ and \.gitignore\), and a comprehensive example application that demonstrates usage with a GraphQL schema and mutations. The package is published at version 0.1.0.
_packages/firebase\_app\_check/firebase\_app\_check, packages/firebase\_data\connect · high confidence
Initial release of firebase\_analytics\_web package
This change introduces the \firebase\_analytics\_web\ package, providing the web-specific implementation for the \firebase\_analytics\ plugin. The package includes the necessary boilerplate files such as \.gitignore\, \.metadata\, \LICENSE\, and \README.md\ to establish the package structure within the repository. This allows Flutter applications targeting the web platform to utilize Firebase Analytics by delegating to the underlying JavaScript SDK.
_packages/firebase\_analytics/firebase\_analytics\_web, packages/firebase\_app\_check/firebase\_app\check/lib · high confidence
Initial release of the Firebase AI Logic SDK
The \firebase\_ai\ package is introduced as a new Flutter plugin that replaces the previous Vertex AI in Firebase SDK (\FirebaseVertexAI\). This release provides access to generative AI models like Gemini and Imagen, including preview support for the Gemini Developer API (with its free tier) and generally available support for the Vertex AI Gemini API. The package includes the core Dart library, platform-specific native plugins for Android and iOS, and a sample application to demonstrate usage.
_packages/firebase\ai · high confidence
Initial release of the Firebase App Check platform interface
The \firebase\_app\_check\_platform\_interface\ package is introduced, establishing the core abstraction layer for Firebase App Check. This new library exports the necessary platform-specific provider interfaces (Android, Apple, Web, Windows) and the method channel implementation, enabling the underlying platform integrations to communicate with the higher-level Firebase SDKs.
_packages/firebase\_analytics/firebase\_analytics\_platform\_interface/lib, packages/firebase\_app\_check/firebase\_app\_check\_platform\interface/lib · high confidence
Initial release of the cloud\_functions\_web plugin
The \cloud\_functions\_web\ package is now available, providing the web-specific implementation for the Cloud Functions for Firebase plugin. This addition enables Flutter web applications to invoke Cloud Functions, completing the cross-platform support alongside the existing iOS and Android implementations.
_packages/cloud\_functions/cloud\_functions\web · high confidence
Initial release of the firebase\_app\_check example application
The example application for the firebase\_app\_check plugin has been added, providing a reference implementation for users to see how to integrate and use the plugin. The project includes standard Flutter configuration files such as .gitignore, .metadata, analysis\_options.yaml, and a README, establishing the baseline structure for the example app.
_packages/firebase\_app\_check/firebase\_app\check/example · high confidence
Initial web implementation for Firebase Analytics
This change introduces the \firebase\_analytics\_web\ package, providing the first web platform support for Firebase Analytics in Flutter. The implementation registers the plugin with the Flutter web engine and exposes core analytics capabilities such as logging events, setting user IDs and properties, managing consent, and controlling analytics collection. It also explicitly throws \UnimplementedError\ for features not supported on the web platform, including \getSessionId\, \resetAnalyticsData\, \setSessionTimeoutDuration\, \setDefaultEventParameters\, and \getAppInstanceId\.
_packages/firebase\_analytics/firebase\_analytics\web/lib · high confidence
Introduce Firebase App Installations platform interface
The platform interface for Firebase App Installations has been established, providing the core abstraction for installation management. This interface defines the contract for key operations including retrieving the installation ID, fetching authentication tokens, deleting installations, and listening for ID changes. It also supports initialization for specific Firebase app instances, ensuring that the correct platform implementation is delegated based on the target app.
_packages/firebase\_app\_installations/firebase\_app\_installations\_platform\_interface/lib/src/platform\interface · high confidence
Introduce Firestore Pipelines for advanced data transformation and aggregation
This change introduces the \Pipeline\ API, allowing users to define a sequence of stages to query, filter, transform, and aggregate Firestore data in a single request. The implementation adds the \Pipeline\ class and supporting components in \lib/src\, including \PipelineSnapshot\ and \PipelineResult\ for handling responses, \PipelineAggregateFunction\ classes (such as \Sum\, \Average\, \Count\, \Minimum\, \Maximum\, and \CountDistinct\) for defining aggregations, and \Expression\-based stages like \addFields\ for on-the-fly data transformation. It also includes \PipelineSource\ for specifying data origins and \DistanceMeasure\ for vector similarity search configurations. This feature operates on a request/response basis and does not utilize the local SDK cache or support realtime listeners.
_packages/cloud\_firestore/cloud\firestore/lib/src · high confidence
Introduce cloud\_firestore library entry point with platform interface exports
The \cloud\_firestore\ package now exposes a consolidated library entry point (\cloud\_firestore.dart\) that re-exports core types and utilities from the \cloud\_firestore\_platform\_interface\ and \firebase\_core\_platform\_interface\. This includes data types such as \AggregateField\, \Blob\, \GeoPoint\, \VectorValue\, and \Timestamp\, as well as configuration classes like \PersistenceSettings\, \Settings\, and \WebExperimentalLongPollingOptions\. Additionally, aggregate query functions (\average\, \count\, \sum\) and pipeline-related components are now available through this main export, providing a unified API surface for users interacting with Firestore features.
_packages/cloud\_firestore/cloud\firestore/lib · high confidence
Introduce platform interface models for Firebase Auth
The platform interface now exposes a set of new data classes that define the structure of authentication responses and settings. This includes \ActionCodeInfo\ and \ActionCodeSettings\ (which adds support for the \linkDomain\ property), \AdditionalUserInfo\ (exposing the Apple authorization code), \AuthCredential\ (supporting OAuth access tokens), and core user models like \UserInfo\, \UserMetadata\, and \IdTokenResult\ (which now exposes the \signInSecondFactor\ for MFA). These classes provide the foundational types used by the platform implementations to communicate authentication state and configuration.
_packages/firebase\_auth/firebase\_auth\_platform\interface/lib/src · high confidence
Introduce shared internal utilities for safe error handling and type casting
The \\_flutterfire\_internals\ package now exports a new \src/exception.dart\ module containing shared utilities for Firebase web integration. This includes the \guardWebExceptions\ function, which catches JavaScript errors on the web and transforms them into standard \FirebaseException\ instances, preserving stack traces for better debugging. It also provides the \ObjectX\ extension with \guard\ and \safeCast\ methods for safer null-checking and type casting, along with internal helpers like \\_safeConvertFromPossibleJSObject\ to handle JS interop string conversions robustly.
_packages/\_flutterfire\internals/lib · high confidence
Introduce web platform implementation for Cloud Functions
This change adds the initial web-specific implementation for the Cloud Functions plugin, enabling Flutter web applications to invoke HTTPS callable functions. It introduces the \FirebaseFunctionsWeb\ class to handle platform registration and delegate calls to the underlying JavaScript interop layer, and implements \HttpsCallableWeb\ to manage function invocation and streaming, including support for emulator usage, custom timeouts, App Check tokens, and web abort signals.
_packages/cloud\_functions/cloud\_functions\web/lib · high confidence
Introduces platform interface for Cloud Functions HTTPS triggers
The cloud functions platform interface now defines the abstract contracts for \FirebaseFunctionsPlatform\ and \HttpsCallablePlatform\. This establishes the foundational API layer that platform-specific implementations must extend, introducing support for specifying function regions, invoking HTTPS callable triggers via the \call\ method, and streaming data to HTTPS endpoints via the new \stream\ method.
_packages/cloud\_functions/cloud\_functions\_platform\_interface/lib/src/platform\interface · high confidence
Introduction of Cloud Firestore Platform Interface
The \cloud\_firestore\_platform\_interface\ package is introduced, providing a standardized abstraction layer for Firestore functionality across different platforms. This new interface exposes core data types and operations—including document references, snapshots, field values, filters, and bundle loading states—allowing platform-specific implementations to adhere to a common contract. It also includes helper methods for validating collection and document paths, ensuring consistent behavior for path resolution across the ecosystem.
_packages/cloud\_firestore/cloud\_firestore\_platform\_interface/lib, packages/firebase\_auth/firebase\_auth\_platform\interface/lib · high confidence
Introduction of Cloud Functions streaming support
The cloud\_functions library now exports the AbortSignal, TimeLimit, and Abort types from the platform interface, and includes a new part file for https\_callable\_stream\_result. This enables users to invoke Cloud Functions with streaming responses, allowing for real-time data processing and handling of large payloads that exceed standard timeout limits.
_packages/cloud\_functions/cloud\functions/lib · high confidence
Introduction of FirebaseAnalyticsObserver for automatic screen tracking
The firebase\_analytics package now includes a FirebaseAnalyticsObserver class that automatically sends screen view events to Firebase Analytics when the active route changes in a Flutter Navigator. This observer integrates with MaterialApp's navigatorObservers to track screen views for pushed, popped, and replaced routes, using configurable filters and name extractors to customize which routes are tracked and how screen names are derived from route settings.
_packages/firebase\_analytics/firebase\analytics/lib · high confidence
Introduction of the firebase\_app\_installations package
The \firebase\_app\_installations\ package has been introduced to provide Flutter support for the Firebase Installations API. This new package includes standard plugin scaffolding such as a README, license, and changelog, establishing the foundation for managing Firebase installation identifiers in Flutter applications.
_packages/firebase\_app\_installations/firebase\_app\installations · high confidence
Migrate Cloud Functions platform interface to Pigeon with streaming support
The method channel implementation for Cloud Functions has been rewritten to use Pigeon for platform communication, replacing the previous manual method channel approach. This change introduces support for streaming HTTPS callable functions, allowing users to receive real-time updates from their functions via a Stream. Additionally, the implementation now passes the \limitedUseAppCheckToken\ option to the backend and includes improved error handling that preserves stack traces when converting platform exceptions to Firebase functions exceptions.
_packages/cloud\_functions/cloud\_functions\_platform\_interface/lib/src/method\channel · high confidence
Migrate Firebase Auth web interop to dart:js\_interop for WASM compatibility
The Firebase Auth web plugin's JavaScript interop layer has been rewritten to use the new \dart:js\_interop\ API instead of the legacy \package:js\ bindings. This change updates the core interop files (\auth.dart\, \auth\_interop.dart\, \multi\_factor.dart\, and \window\_interop.dart\) to ensure compatibility with Dart's WebAssembly (WASM) compilation target, allowing the authentication library to function correctly in WASM-based web applications.
_packages/firebase\_auth/firebase\_auth\web/lib/src/interop · high confidence
New Cloud Firestore DartPad example for type-safe movie queries
A new interactive DartPad example has been added to the Cloud Firestore plugin, demonstrating type-safe data interactions using \withConverter\. The example app manages a list of movies, showcasing features such as sorting by year, score, or likes, filtering by genre (Fantasy, Sci-Fi), and utilizing \snapshotsInSync\ for UI state. It also includes a batch write operation to reset like counts, providing a practical reference for common Firestore patterns.
_packages/cloud\_firestore/cloud\firestore/dartpad · high confidence
New JS interop utility functions for Cloud Firestore Web
Added a new \utils.dart\ file in the Cloud Firestore Web package that provides \dartify\ and \jsify\ helper functions. These utilities handle the conversion between Dart objects and JavaScript objects using the \dart:js\_interop\ API, specifically supporting types like Timestamp, DocumentReference, GeoPoint, VectorValue, and Bytes, which ensures correct serialization and deserialization of data when interacting with the Firebase JS SDK on web platforms.
_packages/cloud\_firestore/cloud\_firestore\web/lib/src/interop/utils · high confidence
New exception handling and HTTP callable options with abort support
The platform interface now introduces a dedicated \FirebaseFunctionsException\ class to provide structured error details (code, message, and additional data) for Cloud Functions errors. Additionally, \HttpsCallableOptions\ has been expanded to support a \webAbortSignal\ property, allowing users to cancel long-running HTTP callable requests using new \TimeLimit\, \Abort\, and \Any\ signal types, alongside existing timeout and App Check token settings.
_packages/cloud\_functions/cloud\_functions\_platform\interface/lib/src · high confidence
New iOS example app project structure for Cloud Functions
The example application for the Cloud Functions package now includes a complete iOS project structure (Runner.xcodeproj and associated schemes). This provides a ready-to-run iOS environment for testing the plugin, including necessary build configurations, resource files like GoogleService-Info.plist, and CocoaPods integration setup.
_packages/cloud\_functions/cloud\functions/example/ios/Runner.xcodeproj · high confidence
New platform interface abstractions for phone auth, multi-factor, and reCAPTCHA
The platform interface layer now exposes dedicated abstract classes and types to support advanced authentication flows. A new \ConfirmationResultPlatform\ interface models the response from phone-number sign-in, providing the verification ID and a \confirm\ method to finalize the flow. Multi-factor authentication is supported via \MultiFactorPlatform\ (for enrolling/unenrolling factors), \MultiFactorResolverPlatform\ (for resolving sign-in challenges), and specific info classes like \PhoneMultiFactorInfo\ and \TotpMultiFactorInfo\. Additionally, \RecaptchaVerifierFactoryPlatform\ introduces a factory for creating reCAPTCHA verifiers with configurable size, theme, and callbacks, enabling secure phone authentication on web platforms.
_packages/firebase\_auth/firebase\_auth\_platform\_interface/lib/src/platform\interface · high confidence
New platform interface providers for Apple, Game Center, Play Games, and Yahoo authentication
The \firebase\_auth\_platform\_interface\ now includes dedicated provider and credential classes for Sign in with Apple (including \credentialWithIDToken\ and \AppleFullPersonName\ support), Game Center, Play Games, and Yahoo. Existing providers have been updated to support new capabilities: Google and Microsoft providers now support native sign-in via \signInWithProvider\, Twitter credentials now require a \secret\ for OAuth 1.0, and the generic \OAuthProvider\ and \OAuthCredential\ classes expose additional fields like \secret\, \rawNonce\, and \serverAuthCode\ to support these and other federated identity flows.
_packages/firebase\_auth/firebase\_auth\_platform\interface/lib/src/providers · high confidence
Platform interface introduces core data types and configuration models
The platform interface now defines the foundational data structures and configuration models used across all Firestore platforms. This includes new immutable value classes for Blob, GeoPoint, Timestamp, and VectorValue, alongside a FieldPath class that supports document ID references. Configuration capabilities are expanded with new models for GetOptions (controlling source and server timestamp behavior), SetOptions (supporting merge and mergeFields), and Settings (exposing Web-specific options like long-polling and persistent tab management). Additionally, a FilterPlatformInterface is introduced to support complex query filters, and LoadBundleTaskState is added to track bundle loading progress.
_packages/cloud\_firestore/cloud\_firestore\_platform\interface/lib/src · high confidence
Repository-wide configuration and documentation scaffolding
This change establishes the foundational configuration and documentation for the repository. It introduces \.clang-format\ and \.swiftformat\ to enforce consistent code styling for C++ and Swift files, and an \.editorconfig\ to standardize editor settings (indentation, line endings, and trailing whitespace) across all file types. A comprehensive \.gitignore\ is added to exclude build artifacts, generated files, and local environment configurations. Additionally, the repository is initialized with standard documentation files including \CHANGELOG.md\, \CONTRIBUTING.md\, \CODEOWNERS\, \LICENSE\, \AUTHORS\, and \VERSIONS.md\ to guide development, track releases, and define contribution processes.
(repo-wide) · high confidence
Web platform implementation for Firebase App Check
This change introduces the web-specific implementation for the Firebase App Check plugin. It adds a version constant file to track the package version (0.4.8) and an internals module that provides a helper function to convert web-specific errors into standard FirebaseExceptions, ensuring consistent error handling on web platforms.
_packages/firebase\_app\_check/firebase\_app\_check\web/lib/src · high confidence
Web plugin now supports persistent cache tab managers and long polling settings
The web implementation for Cloud Firestore now exposes granular control over web-specific behaviors. Users can configure \webPersistentTabManager\ (supporting both single and multiple tab managers) to manage persistent local cache synchronization across browser tabs, and can explicitly set \webExperimentalForceLongPolling\ and \webExperimentalAutoDetectLongPolling\ to control HTTP transport behavior. These settings are applied when updating Firestore settings, allowing for more robust offline handling and network connectivity management in web environments.
_packages/cloud\_firestore/cloud\_firestore\web/lib · high confidence
Windows example app scaffolding for Cloud Firestore
The Cloud Firestore example application now includes the necessary Windows runner files, enabling users to build and run the example on Windows. This change adds the CMake build configuration, Win32 window management, and Flutter engine integration code required to host the Flutter view on the Windows platform.
_packages/cloud\_firestore/cloud\firestore/example/windows · high confidence
Windows platform support added to Cloud Functions via Pigeon
Cloud Functions now supports the Windows platform. This change introduces autogenerated Pigeon message handlers (messages.g.cpp/h) for the Windows host side and updates the platform interface (messages.pigeon.dart) to use the Pigeon code-generation tool (v26.3.4) for cross-platform communication, enabling Windows apps to invoke Cloud Functions through the standard Flutter platform channel mechanism.
_packages/cloud\_functions/cloud\_functions/windows, packages/cloud\_functions/cloud\_functions\_platform\_interface/lib/src/pigeon, packages/firebase\_app\_check/firebase\_app\check/windows · high confidence
Windows platform support for Firebase Analytics via Pigeon code generation
This change introduces the Windows platform implementation for Firebase Analytics by adding autogenerated Pigeon message bindings (messages.g.cpp and messages.g.h) and the corresponding Dart interface (messages.pigeon.dart). These files establish the communication channel between the Flutter app and the Windows host, enabling core analytics capabilities such as logging events, setting user IDs and properties, managing consent, and retrieving session or app instance IDs. The inclusion of the \LogTransaction\ method in the generated API aligns with the broader platform updates for transaction logging.
_packages/firebase\_analytics/firebase\_analytics/windows, packages/firebase\_analytics/firebase\_analytics\_platform\interface/lib/src/pigeon · high confidence
Windows support added to the Firebase Auth example app
The Firebase Auth example application now includes a native Windows runner, enabling users to build and run the app on Windows desktop. This change adds the necessary CMake build configuration, Win32 window management, and Flutter plugin registration code to the \packages/firebase\_auth/firebase\_auth/example/windows\ directory, allowing developers to test authentication flows on the Windows platform.
_packages/firebase\_auth/firebase\auth/example/windows · high confidence
iOS example app project structure added
The iOS example application for the Firebase Analytics plugin now includes the necessary Xcode project and workspace configuration files. This adds the \Runner.xcodeproj\ and \Runner.xcworkspace\ structures, enabling developers to open, build, and run the example app directly in Xcode on iOS.
_packages/firebase\_analytics/firebase\analytics/example/ios/Runner.xcodeproj · high confidence
macOS example app scaffolding added
The cloud\_firestore example application now includes the necessary macOS project files, enabling developers to build and run the example on macOS. This addition includes the Xcode project configuration, Swift source files for the app delegate and main window, and the required Flutter macOS framework integration.
_packages/cloud\_firestore/cloud\_firestore/example/macos, packages/firebase\_analytics/firebase\analytics/example/macos · high confidence
Architecture
Android Firestore plugin re-architected with Pigeon and new error handling
The Android implementation of the Cloud Firestore plugin has been completely rewritten to use Pigeon (v26.3.4) for platform channel communication, replacing the previous method channel approach. This change introduces a new \FlutterFirebaseFirestoreException\ class that standardizes error handling by parsing native Firebase error codes and messages into user-friendly strings. The update also includes a new \FlutterFirebaseFirestoreMessageCodec\ to handle complex data types like \VectorValue\, \GeoPoint\, and \Timestamp\ more robustly, and updates the plugin registration to use the modern Firebase \ComponentRegistrar\ pattern.
_packages/cloud\_firestore/cloud\firestore/android/src/main/java/io/flutter/plugins/firebase/firestore · high confidence
Firebase Database Android plugin rewritten in Kotlin with Pigeon API
The Android implementation of the Firebase Database plugin has been completely rewritten in Kotlin and migrated to the Pigeon interop framework. This change introduces a new architecture for the plugin, including dedicated classes for handling event streams (EventStreamHandler, EventsProxy, ChildEventsProxy, ValueEventsProxy), query construction (QueryBuilder), and transaction execution (TransactionExecutor, TransactionHandler). Users benefit from improved type safety, cleaner code structure, and better alignment with modern Flutter plugin standards, while maintaining the same public API surface for database operations.
_packages/firebase\_database/firebase\database/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firebase In-App Messaging plugin federated and restructured
The \firebase\_in\_app\_messaging\ package has been federated and restructured, moving the main plugin code into a subdirectory (\firebase\_in\_app\_messaging/firebase\_in\_app\_messaging\) and introducing a dedicated platform interface package. This change includes adding standard project scaffolding files such as \analysis\_options.yaml\, \.gitignore\, \.metadata\, \LICENSE\, and \README.md\ to the plugin root, while the example app's configuration files (like \AndroidManifest.xml\ and iOS project files) are now located within the example subdirectory. This restructuring aligns the package with the federated plugin architecture used across the FlutterFire ecosystem.
_packages/firebase\_in\_app\messaging · high confidence
Introduces Pigeon-based platform interface for Firebase App Installations
The Firebase App Installations platform interface now uses Pigeon to generate the Dart, Kotlin, and Swift code for host API communication. This change adds the Pigeon configuration and the generated Dart stubs (messages.pigeon.dart) that define the channel methods for delete, getId, getToken, and registerIdChangeListener, replacing or supplementing the previous platform channel implementation with a type-safe, auto-generated binding.
_packages/firebase\_app\_installations/firebase\_app\_installations\_platform\_interface/lib/src/pigeon, packages/firebase\_app\_installations/firebase\_app\_installations\_platform\interface/pigeons · high confidence
Migration to Pigeon for platform channel code generation
The Firebase Auth platform interface has switched its platform channel implementation to use Pigeon for code generation. This change introduces a new \messages.dart\ configuration file that defines the data structures and interfaces for communication between Dart and native platforms (Android/Kotlin, iOS/macOS/Swift, and Windows/C++). The generated code is now output to specific locations for each platform, replacing the previous manual or different code-generation approach. This ensures consistent type-safe bindings across all supported platforms.
_packages/firebase\_auth/firebase\_auth\_platform\interface/pigeons · high confidence
firebase\_database package structure reorganization and example migration
The \firebase\_database\ package has been restructured, moving the main implementation into a \firebase\_database\ subdirectory and adding a dedicated \analysis\_options.yaml\ to enforce linting rules. The example application has been migrated to a new directory structure, updated to use Kotlin for its Android \MainActivity\, and now includes a comprehensive suite of integration tests covering \DataSnapshot\, \DatabaseReference\, and \Query\ behaviors.
_packages/firebase\database · high confidence
Behavioural changes
Add Pigeon-based platform interface for Firebase Analytics
The Firebase Analytics platform interface now uses Pigeon to generate cross-platform bindings for Dart, Kotlin, Swift, and C++. This change introduces a new \FirebaseAnalyticsHostApi\ that defines the contract for analytics operations, including logging events, managing user IDs and properties, configuring consent, and handling session data. Notably, the interface now includes support for \logTransaction\, enabling transaction logging on supported platforms.
_packages/firebase\_analytics/firebase\_analytics\_platform\interface/pigeons · high confidence
Added placeholder for iOS App Check resources
A .gitkeep file has been added to the iOS App Check resources directory to ensure the folder is tracked in version control. This supports the infrastructure for Swift Package Manager integration by maintaining the directory structure, though no functional resource files are included in this change.
_packages/cloud\_functions/cloud\_functions/ios/cloud\_functions/Sources/cloud\_functions/Resources, packages/firebase\_app\_check/firebase\_app\_check/ios/firebase\_app\_check/Sources/firebase\_app\check/Resources · low confidence
Android App Check implementation migrated to App Check Host API
The Android plugin implementation for Firebase App Check has been rewritten to use the new App Check Host API. This change introduces support for the reCAPTCHA provider on mobile devices, adds a new \getTokenResult\ method that returns both the token and its expiration time, and updates the internal architecture to use a dedicated registrar for debug secret handling and event channels for token refresh notifications.
_packages/firebase\_app\_check/firebase\_app\check/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Android Firestore stream handlers migrated to Pigeon 26 and EventChannel architecture
The Android plugin's snapshot and transaction listeners have been refactored into dedicated \StreamHandler\ classes (e.g., \DocumentSnapshotsStreamHandler\, \QuerySnapshotsStreamHandler\, \TransactionStreamHandler\) that communicate with Dart via \EventChannel\. This change aligns with the Pigeon 26 upgrade, ensuring that snapshot data is emitted as structured Pigeon objects rather than flattened lists, which prevents decoding errors on the Dart side. The new architecture also introduces support for configurable transaction timeouts and max attempts, and ensures that snapshot updates and transaction results are posted to the main UI thread to maintain frame scheduling stability.
_packages/cloud\_firestore/cloud\firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/streamhandler · high confidence
Android background messaging reliability and API modernization
The Android implementation of Firebase Messaging has been updated to improve reliability on modern Android versions and remove deprecated APIs. A new \JobIntentService\ implementation is introduced to handle background work, ensuring messages are processed correctly even when the device is in idle mode. Additionally, internal components have been refactored to replace deprecated APIs such as \LocalBroadcastManager\ and \AsyncTask\ with modern alternatives like \LiveData\ and \JobScheduler\, reducing potential crashes and improving compatibility with Android O and later.
_firebase\messaging · high confidence
Android core implementation migrated to Kotlin with new plugin registry
The Android native implementation for firebase\_core has been rewritten in Kotlin, introducing a new plugin registration system via FlutterFirebasePluginRegistry. This change replaces the previous Tasks.call approach with TaskCompletionSource for better async handling and ensures thread-safe access to registered plugins. Users benefit from improved stability during hot restarts and cleaner plugin lifecycle management, while maintaining compatibility with existing Dart APIs.
_packages/firebase\_core/firebase\core/android/src/main/java/io/flutter/plugins/firebase · high confidence
Android implementation migrated to Kotlin and Gradle updated to 8.4
The \firebase\_core\ plugin's Android native code has been rewritten from Java to Kotlin, and the Android build tooling has been upgraded to Gradle 8.4. This change modernizes the plugin's codebase and aligns it with current Android development standards, ensuring better compatibility with newer Android toolchains and build configurations.
_packages/firebase\core · high confidence
Android implementation migrated to Kotlin with Pigeon API integration
The Android side of the Firebase Remote Config plugin has been rewritten in Kotlin and now uses the Pigeon code-generation framework for method channel communication. This change introduces new plugin and registrar classes (FirebaseRemoteConfigPlugin and FlutterFirebaseAppRegistrar) that handle remote config operations, event streams, and custom signals via the generated host API, replacing the previous implementation.
_packages/firebase\_remote\_config/firebase\_remote\config/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Android implementation migrated to Kotlin with Pigeon-based communication
The Android native code for the Crashlytics plugin has been rewritten in Kotlin, replacing the previous Java implementation. Communication between Dart and the native layer now uses Pigeon, generating a typed host API that improves reliability and maintainability. The plugin also introduces an ELF build ID reader to ensure accurate symbol matching for obfuscated and split-debug-info builds, and adds support for deferred component crash stack traces.
_packages/firebase\crashlytics · high confidence
Android implementation migrated to Pigeon code generation
The Android side of the Firebase Analytics plugin has been refactored to use Pigeon for platform channel communication. This change replaces the previous manual MethodChannel handling with generated API bindings (FirebaseAnalyticsHostApi), introducing new Kotlin files for constants and the app registrar to support the updated interface.
_packages/firebase\_analytics/firebase\analytics/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Android implementation rewritten in Kotlin with Pigeon and streaming support
The Android side of the Cloud Functions plugin has been rewritten in Kotlin and now uses Pigeon (v26.3.4) for platform communication, replacing the previous Java/MethodChannel approach. This change introduces support for streaming HTTPS callable functions via EventChannel, allowing users to receive real-time responses from functions that return streams. Additionally, Android error codes are now consistently lowercased using Locale.ROOT to prevent locale-specific casing issues (such as those in Turkish/Azerbaijani) and to match the behavior on iOS and Web platforms.
_packages/cloud\_functions/cloud\functions/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Android module initialization with Gradle 8.4 and AGP 8 support
The Android side of the Firebase App Installations plugin now includes its own Gradle wrapper configured for Gradle 8.4 and an AndroidManifest.xml that registers the FlutterFirebaseAppRegistrar via ComponentDiscoveryService. This enables the plugin to build against Android Gradle Plugin 8.x and ensures the Firebase component is correctly discovered at runtime.
_packages/firebase\_app\_installations/firebase\_app\installations/android · high confidence
Android module updated to Gradle 8.4 and includes explicit Firebase registrar service
The Android implementation for Firebase Auth now uses Gradle 8.4 (via the wrapper properties) and includes a new AndroidManifest.xml that explicitly registers the FlutterFirebaseAuthRegistrar as a ComponentDiscoveryService. This ensures the plugin correctly initializes Firebase components on Android when using modern Gradle and AGP versions.
_packages/firebase\_auth/firebase\auth/android · high confidence
App Check API updates and new provider support
The \activate()\ method now accepts new \providerAndroid\, \providerApple\, and \providerWindows\ parameters, allowing users to select specific providers like Play Integrity, App Attest, or Windows Debug providers, while the older \androidProvider\ and \appleProvider\ parameters are deprecated. Additionally, the API introduces \getTokenResult()\ to retrieve token metadata, \getLimitedUseToken()\ for non-Firebase backend authorization, and \onTokenChange\ for observing token state updates.
_packages/firebase\_app\_check/firebase\_app\check/lib/src · high confidence
App Check platform interface expands provider support and adds token result API
The platform interface for Firebase App Check has been updated to support a wider range of security providers and token management features. The \activate()\ method now accepts specific provider arguments for Android (\providerAndroid\), Apple platforms (\providerApple\), and Windows (\providerWindows\), deprecating the older generic \androidProvider\ and \appleProvider\ parameters to allow for more granular configuration like Play Integrity, App Attest, and debug tokens. Additionally, a new \getTokenResult()\ method has been introduced to retrieve App Check tokens along with their associated metadata, complementing the existing \getToken()\ method.
_packages/firebase\_app\_check/firebase\_app\_check\_platform\_interface/lib/src/platform\interface · high confidence
App Check platform interface implementation via Method Channel
The platform interface for Firebase App Check now uses a Method Channel implementation to bridge to native code. This change introduces the \MethodChannelFirebaseAppCheck\ class, which handles core App Check operations including activation with provider selection (Android, Apple, Windows, Web), token retrieval (\getToken\, \getTokenResult\), limited-use token generation, and token change streams. It also manages the lifecycle of token listeners and ensures proper disposal of internal resources.
_packages/firebase\_app\_check/firebase\_app\_check\_platform\_interface/lib/src/method\channel · high confidence
Cloud Functions platform interface restructured and exported
The cloud\_functions\_platform\_interface library has been reorganized to explicitly export its core components: FirebaseFunctionsException, HttpsCallableOptions, and the platform interfaces for Firebase Functions and HTTPS callables. This change establishes a cleaner public API surface for the platform interface, ensuring that consumers of the package can directly access these essential types without needing to import internal source files individually.
_packages/cloud\_functions/cloud\_functions\_platform\interface/lib · high confidence
Example app MainActivity migrated to FlutterActivity
The example app's Android entry point has been updated to extend FlutterActivity instead of the legacy FlutterActivityWithRenderMode (or similar base class). This change ensures the example app uses the standard Flutter embedding, which may affect how the app initializes and interacts with the Android lifecycle in the example project.
_packages/cloud\_firestore/cloud\_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase, packages/cloud\_functions/cloud\functions/example/android/app/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Example app MainActivity migrated to Kotlin
The Android example application's entry point has been converted from Java to Kotlin. This change updates the MainActivity class to extend FlutterActivity using Kotlin syntax, aligning the example code with modern Android development standards.
_packages/firebase\_analytics/firebase\analytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Example app configuration and metadata updates
The example application's configuration files have been updated to align with current Flutter standards. A new .gitignore file has been added to exclude build artifacts, IDE settings, and generated files. The .metadata file now tracks the project's Flutter revision and channel, including migration history for web and root platforms. The README has been simplified to direct users to the main Flutter documentation, and analysis\_options.yaml has been configured to include the shared analysis options while excluding specific platform directories and relaxing certain lint rules for the example context.
_packages/firebase\_analytics/firebase\analytics/example · high confidence
Example app iOS project recreated with UIScene lifecycle support
The iOS example app project files have been regenerated to support the modern iOS UIScene lifecycle. This includes a new AppDelegate implementation, updated Info.plist configuration defining scene configurations, and fresh storyboard and asset files, ensuring the example app aligns with current iOS development standards.
_packages/cloud\_firestore/cloud\firestore/example/ios/Runner · high confidence
Example app now uses FlutterActivity for Firebase App Check
The Android example application for the Firebase App Check plugin has been updated to inherit from FlutterActivity. This change ensures the example app follows the standard Flutter embedding pattern, which is required for proper integration with the plugin's functionality.
_packages/firebase\_app\_check/firebase\_app\_check/example/android/app/src/main/kotlin/io/flutter/plugins/firebase, packages/firebase\_core/firebase\core/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecoreexample · high confidence
Example app now uses dummy credentials for the 'flutterfire-e2e-tests' project
The example app for Firebase App Installations has been updated to use a generated \firebase\_options.dart\ file containing dummy API keys and app IDs, targeting the 'flutterfire-e2e-tests' Firebase project. This change replaces previous configuration methods with a standardized, non-production setup intended for CI builds and emulator tests, ensuring the example can run without requiring real, secret-injected credentials.
_packages/firebase\_app\_installations/firebase\_app\installations/example/lib · high confidence
Example app regenerated for Flutter 3.22 and updated to iOS 12 minimum
The \firebase\_remote\_config\ example application has been regenerated to align with Flutter 3.22. This update raises the minimum iOS deployment target to version 12.0 and migrates the Android example to use the v2 embedding with Kotlin. The example now includes updated Gradle wrapper (8.4) and standard Flutter project structures, ensuring it builds correctly with current tooling.
_packages/firebase\_remote\config · high confidence
Example app scaffold updated for Flutter 3.47 compatibility
The example application's configuration files have been refreshed to align with the Flutter 3.47 toolchain. This includes adding a \.gitignore\ to exclude build artifacts and IDE files, a \.metadata\ file to track the stable channel revision for migration purposes, a standard \README.md\, and an \analysis\_options.yaml\ that enforces the \flutter\_lints\ package while excluding platform-specific directories from static analysis.
_packages/firebase\_app\_installations/firebase\_app\installations/example · high confidence
Example app updated to iOS 12 minimum and UIScene lifecycle
The iOS example app for Firebase App Installations has been updated to require a minimum deployment target of iOS 12, as specified in AppFrameworkInfo.plist. Additionally, the app now uses the modern UIScene lifecycle; the Info.plist includes a UIApplicationSceneManifest configuration pointing to a FlutterSceneDelegate, and the Xcode project references the FlutterGeneratedPluginSwiftPackage to support this architecture.
_packages/firebase\_app\_installations/firebase\_app\installations/example/ios · high confidence
Example app updated to support 2nd Gen Cloud Functions and streaming
The cloud\_functions example app now demonstrates calling 2nd generation Cloud Functions via the new \httpsCallableFromUrl\ method and showcases the new streaming API for handling chunked responses. The app has been migrated to use the new \Firebase.initializeApp\ API with generated \DefaultFirebaseOptions\ and is configured to connect to the 'flutterfire-e2e-tests' Firebase project.
_packages/cloud\_functions/cloud\functions/example/lib · high confidence
Example app updated to support Android Gradle Plugin 8 and modern Android embedding
The example app's Android configuration has been updated to support the Android Gradle Plugin (AGP) 8.x and Gradle 8.4. This includes upgrading the Gradle wrapper to version 8.4, adding a \.gitignore\ file to exclude build artifacts and keystore files, and refreshing the \AndroidManifest.xml\ and theme resources to use the V2 Flutter embedding (Flutter 2+). The changes ensure the example app builds correctly with modern Android tooling and removes deprecated references like \SplashScreenDrawable\.
_packages/firebase\_app\_installations/firebase\_app\installations/example/android · high confidence
Example app uses standard FlutterActivity
The Android example app for Firebase Crashlytics now uses the standard FlutterActivity class instead of a custom implementation. This simplifies the example codebase and ensures it aligns with current Flutter embedding best practices, making it easier for developers to understand and adapt the example for their own projects.
_packages/firebase\_app\_installations/firebase\_app\_installations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase, packages/firebase\_crashlytics/firebase\crashlytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecrashlyticsexample · high confidence
Example project initialization and configuration
The cloud\_functions example application has been initialized with standard Flutter project scaffolding, including a .gitignore file to exclude build artifacts and IDE files, a .metadata file tracking the stable channel revision for migration purposes, and an analysis\_options.yaml that includes the repository's shared linting rules while disabling specific API documentation and package dependency checks for the example.
_packages/cloud\_functions/cloud\functions/example · medium confidence
Firebase Analytics API updates and new capabilities
The Firebase Analytics plugin introduces several new features and behavioral changes. Users can now log transactions, retrieve session IDs, and include items in logEvent calls. Consent mode v2 is supported with granular controls for storage and personalization. On-device conversion measurement is available for iOS using phone numbers or hashed email addresses. The API now supports custom parameters (strings and numbers) for events and items, and allows null values in setDefaultEventParameters to remove defaults. Deprecated methods have been removed, and typing for event parameters has been fixed to Map\<String, Object\>?. Web support includes options configuration and an upgrade to Firebase JS SDK v9.8.1.
_packages/firebase\_analytics/firebase\analytics/lib/src · high confidence
Firebase Analytics Web package version updated to 12.6.0
The Firebase Analytics Web plugin now reports its internal version as 12.6.0. This change updates the version constant used by the web implementation, ensuring that analytics data and package metadata reflect the current release version.
_packages/firebase\_analytics/firebase\_analytics\web/lib/src · high confidence
Firebase Analytics example app migrated to new initialization and platform options
The example app has been updated to use the new \Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform)\ pattern, replacing previous initialization methods. This includes a new \firebase\_options.dart\ file that provides platform-specific configuration for web, Android, iOS, macOS, and Windows, and updates the main entry point to use this generated options class. The app now demonstrates \logTransaction\ support, consent mode v2 via \setConsent\, and uses \logScreenView\ instead of the deprecated \setCurrentScreen\ for screen tracking.
_packages/firebase\_analytics/firebase\analytics/example/lib · high confidence
Firebase Analytics iOS plugin migrated to Swift with Pigeon and new transaction logging
The iOS implementation of the Firebase Analytics plugin has been rewritten in Swift and now uses Pigeon for platform channel communication, replacing the previous Objective-C approach. This change introduces support for logging transactions via StoreKit (available on iOS 15+ and macOS 12+), adds a StoreKit configuration file for testing, and fixes the handling of hashed email addresses and phone numbers by converting them from hex strings to data before sending them to Firebase. The macOS plugin files are now symbolic links to the iOS sources, ensuring consistent behavior across Apple platforms.
_packages/firebase\_analytics/firebase\analytics/ios · high confidence
Firebase Android plugins migrate native implementation to Kotlin
The native Android implementations for Firebase Analytics, App Check, Auth, Core, Crashlytics, Database, Performance, and Remote Config have been rewritten in Kotlin. This migration replaces the previous Java (and Objective-C for some components) code with Kotlin, utilizing the Pigeon code-generation tool (v26.3.4) to handle platform channel communication. For users, this ensures the Android side of these plugins is now consistent with modern Kotlin standards and aligns with the Swift migration on iOS.
android · high confidence
Firebase App Installations Android plugin migrated to Kotlin with Pigeon
The Android implementation for the Firebase App Installations plugin has been rewritten in Kotlin and now uses Pigeon for platform channel communication. This change introduces a new \FirebaseInstallationsPlugin\ class that implements the generated \FirebaseAppInstallationsHostApi\, replacing the previous Java-based approach. The migration includes a dedicated \TokenChannelStreamHandler\ that ensures ID-change events are dispatched on the main thread via a \Handler\, addressing previous threading concerns. Additionally, a \FlutterFirebaseAppRegistrar\ has been added to register the library version with the Firebase platform info component.
_packages/firebase\_app\_installations/firebase\_app\installations/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firebase App Installations iOS plugin implementation migrated to Swift with Pigeon
The iOS implementation of the Firebase App Installations plugin has been rewritten in Swift and now uses Pigeon for platform channel communication. This change replaces the previous Objective-C implementation, introducing new Swift source files (including \FirebaseInstallationsPlugin.swift\ and \IdChangedStreamHandler.swift\) and an auto-generated Pigeon message handler (\FirebaseAppInstallationsMessages.g.swift\). For users, this is a transparent internal refactor that maintains the same API surface (getId, getToken, delete, registerIdChangeListener) but may affect build compatibility if custom native code previously relied on the old Objective-C headers or class names.
_packages/firebase\_app\_installations/firebase\_app\_installations/ios/firebase\_app\installations · high confidence
Firebase App Installations package renamed and restructured
The \flutterfire\_installations\ package has been renamed to \firebase\_app\_installations\. The public API entry point is now \lib/firebase\_app\_installations.dart\, which imports the platform interface and core dependencies, and exposes the \FirebaseInstallations\ class (defined in \src/firebase\_app\_installations.dart\) for managing installation IDs, tokens, and change events. This change reflects the package's new name and internal structure but maintains the same functional capabilities for users.
_packages/firebase\_app\_installations/firebase\_app\installations/lib · high confidence
Firebase App Installations platform interface now uses Pigeon for method channel communication
The platform interface for Firebase App Installations has been refactored to use Pigeon-generated code instead of the previous manual method channel implementation. This change updates the underlying communication mechanism between the Dart layer and native platforms, ensuring that platform exceptions preserve their stack traces for better debugging. Users interacting with the Firebase App Installations API will see no functional change, but the internal reliability of error reporting and cross-platform calls is improved.
_packages/firebase\_app\_installations/firebase\_app\_installations\_platform\_interface/lib/src/method\channel · high confidence
Firebase Auth Android implementation migrated to Kotlin
The Android native implementation for the Firebase Auth plugin has been rewritten in Kotlin, replacing the previous Java codebase. This migration introduces new Kotlin source files for core authentication flows, including user management, multi-factor authentication (TOTP and phone), and phone number verification. The change also includes a fix to ensure the code compiles correctly with Kotlin's type inference rules, specifically addressing checker-qual requirements on inferred types.
_packages/firebase\_auth/firebase\auth/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firebase Auth example app project structure and configuration files added
The example application for the firebase\_auth plugin now includes essential project configuration files, such as .gitignore, .metadata, and analysis\_options.yaml, alongside iOS workspace settings. This establishes the standard Flutter project scaffolding required to run the example app on iOS and other platforms, ensuring proper tooling integration and build environment setup.
_packages/cloud\_firestore/cloud\_firestore/example, packages/firebase\_auth/firebase\auth/example · medium confidence
Firebase Auth example app restructured with multi-provider support and emulator configuration
The Firebase Auth example application has been completely rewritten to support a wider range of authentication providers, including Apple, Google, GitHub, Microsoft, Twitter, Yahoo, and Facebook, with platform-specific logic (e.g., Apple-only on macOS). The app now uses a generated \firebase\_options.dart\ file for platform-specific configuration targeting the 'flutterfire-e2e-tests' project and includes explicit support for connecting to the Firebase Auth emulator via \useAuthEmulator\. Additionally, the UI has been updated to handle multi-factor authentication flows, such as silent SMS verification, and displays user profile details with options to update display names and photo URLs.
_packages/firebase\_auth/firebase\auth/example/lib · high confidence
Firebase Auth example app uses Flutter embedding v2
The Android example app for Firebase Auth now uses the modern Flutter embedding (FlutterActivity) instead of the legacy Activity. This ensures the example app is compatible with current Flutter versions and follows current best practices for Android integration.
_packages/firebase\_auth/firebase\auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firebase Auth library restructured with unified exports and new provider support
The main entry point for the Firebase Auth package has been reorganized to consolidate exports from the platform interface, making classes like MultiFactorInfo, TotpMultiFactorInfo, and various auth providers (including Microsoft, Yahoo, Game Center, and Play Games) directly accessible from the root library. This change also introduces new parts for multi-factor authentication, reCAPTCHA verification, and user credential handling, streamlining how developers import and use these features in their applications.
_packages/firebase\_auth/firebase\auth/lib · high confidence
Firebase Auth platform interface migrates to Pigeon for platform channels
The Firebase Auth platform interface has switched its internal communication with native platforms from the previous method to Pigeon (version 26.3.4). This change introduces a new generated \messages.pigeon.dart\ file that defines the structured data types and channel protocols used for cross-platform calls, ensuring more robust and type-safe interactions between the Dart code and native iOS/Android implementations.
_packages/firebase\_auth/firebase\_auth\_platform\interface/lib/src/pigeon · high confidence
Firebase Auth platform interface migrates to Pigeon for platform channels
The method channel implementation for Firebase Auth has been rewritten to use the Pigeon code-generation tool instead of the previous manual MethodChannel approach. This change updates the internal communication layer between the Dart platform interface and native iOS/Android hosts, introducing new generated API classes (e.g., \FirebaseAuthHostApi\, \MultiFactorUserHostApi\) and updating how authentication state listeners, user credentials, and multi-factor authentication flows are handled. For users, this represents an underlying architectural shift that improves type safety and maintainability of the platform bridge, while preserving the existing public API surface.
_packages/firebase\_auth/firebase\_auth\_platform\_interface/lib/src/method\channel · high confidence
Firebase In-App Messaging Android plugin rewritten in Kotlin with Pigeon
The Android implementation for the Firebase In-App Messaging plugin has been migrated from Java to Kotlin and now uses the Pigeon code-generation tool for platform channels. This change updates the underlying communication mechanism between Flutter and the native Android layer, ensuring the plugin uses the modern, type-safe channel infrastructure while maintaining the same public API surface for triggering events, suppressing messages, and managing data collection settings.
_packages/firebase\_in\_app\_messaging/firebase\_in\_app\messaging/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firebase Messaging plugin v16.7.0 release notes
This changelog entry for the \firebase\_messaging\ package documents version 16.7.0, which includes fixes for iOS and Android. On iOS, the plugin now correctly registers for Apple Push Notification service (APNs) after the Dart \Firebase.initializeApp()\ call, and handles cases where UIScene plugins miss launch callbacks. On Android, it fixes an issue where \onMessageOpenedApp\ was incorrectly triggered for terminated notification taps.
_packages/firebase\messaging · high confidence
Firebase Performance plugin restructured with Pigeon-based native implementation
The \firebase\_performance\ plugin has been restructured to use Pigeon for platform channel communication, with the Android implementation rewritten in Kotlin and the iOS implementation migrated to Swift. This change introduces a new handler system where performance metrics (traces and HTTP metrics) are managed via native-side handlers, improving reliability and aligning with modern Flutter plugin standards. The plugin now requires Android minSdk 21 and iOS 13, and includes updated example apps and integration tests to reflect these changes.
_packages/firebase\performance · high confidence
Firebase Storage Android implementation rewritten in Kotlin
The Android native code for the Firebase Storage plugin has been migrated from Java to Kotlin. This change introduces new Kotlin classes to handle storage operations, including a dedicated exception parser that maps Firebase Storage error codes to user-friendly messages, a task manager that tracks and cancels in-progress uploads and downloads, and a stream handler that reports task progress and state changes to the Flutter framework.
_packages/firebase\_storage/firebase\storage/android/src/main/kotlin/io/flutter/plugins/firebase · high confidence
Firestore example app updated to use default FirebaseApp initialization and type-safe converters
The Firestore example application has been updated to initialize the default FirebaseApp instance using the generated \DefaultFirebaseOptions\ class, supporting web, Android, iOS, macOS, and Windows platforms with dummy credentials for CI/emulator testing. Additionally, the app now demonstrates type-safe data interactions by using the \withConverter\ API on the \moviesRef\ collection reference, ensuring that document data is automatically mapped to and from a \Movie\ model.
_packages/cloud\_firestore/cloud\firestore/example/lib · high confidence
Firestore iOS plugin rewritten with Pigeon and new stream handlers
The iOS implementation of the Cloud Firestore plugin has been completely rewritten to use the Pigeon code-generation framework (upgraded to v26.3.4) and modern Objective-C stream handlers. This change replaces the previous serialization approach with a Pigeon-aware codec that correctly handles nested types like \InternalDocumentSnapshot\ and \InternalSnapshotMetadata\ without flattening. The new architecture introduces dedicated stream handlers for document snapshots, query snapshots, transactions, load bundles, and snapshots-in-sync events, ensuring proper lifecycle management and error reporting. It also adds support for client language identification, Firestore Pipelines, and new data types such as \VectorValue\ and \FieldPath\ in transactions, while preserving detailed native error messages for the user.
_packages/cloud\_firestore/cloud\firestore/ios · high confidence
Firestore platform interface migrated to Pigeon-based MethodChannel implementation
The \cloud\_firestore\_platform\interface\ has been completely rewritten to use the Pigeon code-generation tool (v26.3.4) for native communication. This migration replaces the previous method channel setup with a new, auto-generated \messages.pigeon.dart\ interface and corresponding \MethodChannel\\ implementations for core components like \FirebaseFirestore\, \Query\, \DocumentReference\, \Transaction\, and \WriteBatch\. Users benefit from improved type safety, better error handling via the Pigeon codec, and support for new platform features such as aggregate queries (count, sum, average), persistent cache index management, and Firestore Pipelines, all handled through the updated platform interface layer.
_packages/cloud\_firestore/cloud\_firestore\_platform\_interface/lib/src/method\channel · high confidence
Firestore platform interface updated to Pigeon 26 with custom codec support
The Firestore platform interface has been upgraded to use Pigeon version 26.3.4 for generating platform bindings. Because Pigeon 26 does not natively support custom codecs, a new \generate\_pigeon.sh\ script was added to automatically post-process the generated Java, Objective-C, C++, and Dart files. This script ensures that Firestore-specific types (such as Timestamp, GeoPoint, and FieldPath) are correctly serialized and deserialized by reparenting the generated codec classes to custom Firestore implementations and fixing naming conflicts (e.g., on Windows). This change enables the platform interface to correctly handle complex Firestore data structures across all supported platforms.
_packages/cloud\_firestore/cloud\_firestore\_platform\interface/pigeons · high confidence
Improved OAuth provider handling and platform exception parsing in Firebase Auth
The platform interface now includes utilities to convert specific OAuth providers (Microsoft, GitHub, Apple, Twitter, and Google) into a standard OAuthProvider format, ensuring that scopes and custom parameters are correctly transmitted to the native layer. Additionally, exception handling has been refined to better parse platform errors into user-friendly FirebaseAuthExceptions, including support for extracting email addresses and credentials from error details, handling multi-factor authentication errors, and preserving stack traces for debugging.
_packages/firebase\_auth/firebase\_auth\_platform\_interface/lib/src/method\channel/utils · high confidence
Improved error handling and provider string conversion utilities
The platform interface now includes dedicated utility files for handling platform exceptions and converting provider configurations to strings. The new \exception.dart\ file centralizes error conversion, ensuring that \PlatformException\s are properly transformed into \FirebaseException\s while preserving stack traces for better debugging. Additionally, \provider\_to\_string.dart\ introduces logic to handle both legacy and new Android and Apple provider enums, ensuring backward compatibility when converting provider settings (such as Play Integrity, App Attest, and Device Check) into their string representations for method channel communication.
_packages/firebase\_app\_check/firebase\_app\_check\_platform\_interface/lib/src/method\channel/utils · high confidence
Improved web authentication error handling and multi-factor support
The web plugin now includes a new utility module that centralizes error conversion from the underlying JavaScript SDK to Dart exceptions. This ensures that \FirebaseAuthException\ objects are correctly populated with details like email, phone number, and tenant ID, and specifically handles \FirebaseAuthMultiFactorException\ by attaching the appropriate resolver for multi-factor authentication flows. Additionally, the code now safely extracts OAuth credentials from error objects when available and supports parsing both Phone and TOTP multi-factor info types, providing more robust error reporting and MFA capability on the web platform.
_packages/firebase\_auth/firebase\_auth\web/lib/src/utils · high confidence
Internal path normalization helper added to Firestore platform interface
A new internal \Pointer\ class has been added to the \cloud\_firestore\_platform\_interface\ to manage and normalize Firestore document and collection paths. This helper simplifies path manipulation by providing methods to determine if a path points to a collection or document, retrieve the document ID, and navigate to parent paths, ensuring consistent path handling across the platform.
_packages/cloud\_firestore/cloud\_firestore\_platform\interface/lib/src/internal · high confidence
Introduce Pigeon-based platform interface for Cloud Functions
The Cloud Functions platform interface now uses Pigeon to generate platform-specific bindings for Android (Kotlin), iOS (Swift), and Windows (C++). This change adds the Pigeon configuration and message definitions, establishing a new code-generation pipeline for host-api communication that replaces or supplements the previous implementation.
_packages/cloud\_functions/cloud\_functions\_platform\interface/pigeons · high confidence
Introduces platform interface for Firebase Analytics with consent mode and session support
The \firebase\_analytics\ package now exposes a formal platform interface (\FirebaseAnalyticsPlatform\) that defines the contract for platform-specific implementations. This change introduces support for managing end-user consent states via \setConsent\ (covering ad, analytics, and security storage permissions), retrieving session identifiers via \getSessionId\, and accessing the app instance ID via \getAppInstanceId\. It also standardizes the \logEvent\ method to accept optional \AnalyticsCallOptions\ for web-specific configurations and allows \setUserId\ and \setUserProperty\ to accept null values to clear existing data.
_packages/firebase\_analytics/firebase\_analytics\_platform\_interface/lib/src/platform\interface · high confidence
Migrate Cloud Functions web interop to dart:js\_interop and add stream support
The web interop layer for Cloud Functions has been rewritten to use \dart:js\_interop\ (replacing the previous \package:js\ approach) and now supports Cloud Functions 2nd gen, including the new \stream\ API for streaming function results. This change introduces new extension types and wrapper classes in the \interop\ directory to bridge Dart and JavaScript, enabling features like \limitedUseAppCheckTokens\ and proper handling of async iterators for streaming responses.
_packages/cloud\_functions/cloud\_functions\web/lib/interop · high confidence
Migrate cloud functions example web directory to new structure
The web entry point for the cloud functions example has been restructured to align with the new standard Flutter web project layout. This change introduces a modernized \index.html\ that supports dynamic base href configuration for non-root deployment paths and includes a \manifest.json\ file to define the Progressive Web App (PWA) properties, such as app name, theme colors, and icon assets, ensuring the example app behaves correctly as a standalone web application.
_packages/cloud\_functions/cloud\functions/example/web · high confidence
Migrate firebase\_auth example web app to new Flutter web structure
The firebase\_auth example application's web directory has been restructured to align with the new Flutter web project layout. This change introduces a standard index.html entry point and a manifest.json file, ensuring the example app is properly configured as a standalone progressive web app with appropriate icons, theme colors, and base href handling for Flutter builds.
_packages/firebase\_auth/firebase\auth/example/web · high confidence
Migrate iOS example app to UIScene lifecycle
The iOS example app for Firebase Analytics has been updated to use the modern UIScene lifecycle. This involves adding a SceneDelegate configuration in Info.plist and implementing the corresponding AppDelegate to handle the implicit Flutter engine initialization, ensuring the app is compatible with iOS 13+ scene-based application management.
_packages/firebase\_analytics/firebase\analytics/example/ios/Runner · high confidence
Migrate web Firestore interop to dart:js\_interop for WASM compatibility
The web Firestore interop layer has been rewritten to use the new \dart:js\_interop\ library instead of the legacy \package:js\. This change replaces the previous JS interop bindings with static interop types, enabling the \cloud\_firestore\ web plugin to be compatible with WebAssembly (WASM) compilation targets. Users benefit from improved performance and the ability to run Firestore on web platforms that rely on WASM, while maintaining the same public API surface for interacting with Cloud Firestore.
_packages/cloud\_firestore/cloud\_firestore\web/lib/src/interop · high confidence
Migrated web analytics interop to dart:js\_interop for WASM compatibility
The web analytics interop layer has been rewritten to use the new \dart:js\_interop\ API (replacing the previous \package:js\ approach), enabling the Firebase Analytics plugin to function in WebAssembly (WASM) environments. This change introduces new interop bindings for core analytics methods including \logEvent\, \setConsent\, \setUserId\, and \setUserProperty\, while also ensuring event parameters are correctly serialized via \jsify()\ to prevent data loss during transmission.
_packages/firebase\_analytics/firebase\_analytics\web/lib/interop · high confidence
Migrated web example to new project structure
The web example for the Firebase App Check package has been migrated to a new directory structure. This update introduces standard web assets, including an \index.html\ entry point and a \manifest.json\ for Progressive Web App support, ensuring the example app is correctly configured for modern web deployment standards.
_packages/firebase\_app\_check/firebase\_app\check/example/web · high confidence
Migration to Pigeon-based platform interface for Firebase Analytics
The method channel implementation for Firebase Analytics has been rewritten to use Pigeon for code generation, replacing the previous manual method channel approach. This change introduces a new \FirebaseAnalyticsHostApi\ interface and updates the \MethodChannelFirebaseAnalytics\ class to delegate calls through this generated API. Users benefit from improved type safety and consistency in how analytics events, session IDs, consent settings, and on-device conversion measurements are communicated between the Dart layer and native platforms.
_packages/firebase\_analytics/firebase\_analytics\_platform\_interface/lib/src/method\channel · high confidence
New codec utility for encoding and decoding Firestore values
A new \CodecUtility\ class has been added to handle the serialization and deserialization of Firestore data. This utility manages the conversion of \DocumentReference\ objects to their underlying delegates during encoding and reconstructs them during decoding, while also handling nested maps and lists. Additionally, it includes a specific workaround for WASM environments to correctly convert numeric types (such as converting doubles to integers when they have no fractional part).
_packages/cloud\_firestore/cloud\firestore/lib/src/utils · high confidence
New encoding and decoding utilities for Firestore web data serialization
The \cloud\_firestore\_web\ package now includes dedicated utility classes (\EncodeUtility\ and \DecodeUtility\) and helper functions in \web\_utils.dart\ to handle the serialization and deserialization of Firestore data types on the web platform. These utilities ensure that complex types such as \GeoPoint\, \VectorValue\, \Blob\, \Timestamp\, and \FieldPath\ are correctly converted between Dart objects and the underlying JavaScript Firestore SDK representations. This change supports proper handling of server timestamp behaviors and ensures that document snapshots and query results are accurately decoded into their native Dart types, improving data integrity for web applications.
_packages/cloud\_firestore/cloud\_firestore\web/lib/src/utils · high confidence
New platform interface models for analytics call options and event items
The platform interface layer now exposes \AnalyticsCallOptions\ and \AnalyticsEventItem\ classes to structure analytics data. \AnalyticsCallOptions\ allows users to configure global application of analytics calls on the web platform. \AnalyticsEventItem\ provides a structured way to define product items with standard attributes (such as ID, name, price, and category) and supports custom string and number parameters, ensuring these items are correctly serialized for Google Analytics.
_packages/firebase\_analytics/firebase\_analytics\_platform\interface/lib/src · medium confidence
New platform interface utility classes for Firestore serialization and error handling
This change introduces a new set of utility files within the \cloud\_firestore\_platform\_interface\ package to support the method channel communication layer. It adds \AutoIdGenerator\ for synchronous client-side ID generation, \FirestoreMessageCodec\ to handle custom serialization of Firestore-specific types (such as Timestamps, GeoPoints, VectorValues, and large integers) between Dart and native platforms, and \convertPlatformException\ to map platform exceptions to FirebaseExceptions. Additionally, it includes helper utilities for map casting, source string conversion, and exception handling.
_packages/cloud\_firestore/cloud\_firestore\_platform\_interface/lib/src/method\channel/utils · high confidence
Platform interface rework for Cloud Firestore
The platform interface layer for Cloud Firestore has been completely restructured into a new set of abstract classes and data models. This change introduces dedicated platform interfaces for core entities such as \FirebaseFirestorePlatform\, \DocumentReferencePlatform\, \CollectionReferencePlatform\, and \QueryPlatform\, along with their corresponding snapshot and change types. It also adds support for new capabilities including aggregate queries (\AggregateQueryPlatform\), Firestore Pipelines (\PipelinePlatform\), and persistent cache index management (\PersistentCacheIndexManagerPlatform\), while standardizing the internal representation of field values and bundle loading tasks.
_packages/cloud\_firestore/cloud\_firestore\_platform\_interface/lib/src/platform\interface · high confidence
Preserve stack traces in platform exception handling
The firebase\_app\_installations platform interface now utilizes the \_flutterfire\_internals package to convert PlatformExceptions into FirebaseExceptions while preserving the original stack trace. This ensures that debugging information is retained when errors occur during platform channel communication, improving the diagnostic experience for developers.
_packages/firebase\_app\_installations/firebase\_app\_installations\_platform\_interface/lib/src/method\channel/utils · high confidence
Preserves stack traces on platform exceptions in Firebase Analytics
The Firebase Analytics platform interface now includes a dedicated utility to convert platform exceptions into FirebaseExceptions while preserving the original stack trace. This ensures that debugging information is retained when errors occur during method channel communication, improving the developer experience when diagnosing issues.
_packages/firebase\_analytics/firebase\_analytics\_platform\_interface/lib/src/method\channel/utils · high confidence
Rename platform interface package to firebase\_app\_installations
The platform interface for Firebase App Installations has been renamed from \flutterfire\_installations\ to \firebase\_app\_installations\. This change updates the package name and exports to reflect the new naming convention, ensuring consistency across the Firebase Flutter plugins.
_packages/firebase\_app\_installations/firebase\_app\_installations\_platform\interface/lib · high confidence
Standardized linting and example app structure for Firebase Storage
The Firebase Storage package now includes a standardized \all\_lint\_rules.yaml\ and \analysis\_options.yaml\ to enforce consistent code quality across the repository. Additionally, the example application has been restructured to include a complete set of integration tests (e2e) covering instance creation, reference handling, and list operations, along with updated Android manifest configurations and a dedicated CORS configuration file for local development.
_packages/firebase\storage · high confidence
Standardized web exception handling for Firebase Analytics
The Firebase Analytics web plugin now uses a dedicated utility to wrap web-specific errors into standard FirebaseExceptions. This change ensures that analytics-related error codes are normalized (stripping the 'analytics/' prefix) before being exposed to the application, providing a consistent error experience across platforms.
_packages/firebase\_analytics/firebase\_analytics\web/lib/utils · high confidence
Update Gradle wrapper to version 8.4
The example app's Gradle wrapper has been updated to use Gradle 8.4. This ensures that the example project builds with the specified Gradle distribution, aligning with the Android Gradle Plugin 8.3.0 requirements and providing a consistent build environment for developers testing the firebase\_app\_check plugin.
_packages/firebase\_app\_check/firebase\_app\check/example/android/gradle · high confidence
Updated App Check platform interface with new token result structure
The platform interface for Firebase App Check has been regenerated using Pigeon v26.3.4, introducing a new \InternalAppCheckTokenResult\ class that explicitly exposes the token string and expiration timestamp. This change updates the underlying message codec and host API communication layer to support the new data structure required for features like \getTokenResult\ and provider API updates.
_packages/firebase\_app\_check/firebase\_app\_check\_platform\interface/lib/src/pigeon · high confidence
Updated example app to support multi-platform App Check providers and debug tokens
The \firebase\_app\_check\ example application has been updated to demonstrate the latest provider APIs across Android, iOS, macOS, Windows, and Web. The app now initializes Firebase using generated \DefaultFirebaseOptions\ and configures \FirebaseAppCheck.activate()\ with platform-specific providers, including Play Integrity for Android, DeviceCheck and App Attest for Apple platforms, and ReCaptcha for Web. It also introduces support for Windows via a debug provider requiring a console-generated token, and allows users to toggle between debug and production providers directly in the UI to test token generation and activation flows.
_packages/firebase\_app\_check/firebase\_app\check/example/lib · high confidence
Updated iOS example app build configuration and minimum OS version
The iOS example app for Cloud Functions has been updated with new build configuration files (Debug.xcconfig, Release.xcconfig, AppFrameworkInfo.plist, and workspace definitions) that establish a minimum deployment target of iOS 11.0. This change ensures the example project aligns with modern iOS build standards and supports the necessary framework metadata for the Flutter engine.
_packages/cloud\_functions/cloud\functions/example/ios/Flutter · high confidence
Updated iOS example app configuration for Flutter 3.27+ standards
The iOS example app configuration has been updated to align with modern Flutter project structures. A new AppFrameworkInfo.plist has been added, setting the minimum supported iOS version to 12.0 and specifying arm64 as a required device capability. Additionally, the Debug and Release build configurations (xcconfig files) have been updated to include the standard Flutter generated configuration and conditional Pod support files, ensuring the example app builds correctly with current Flutter tooling.
_packages/firebase\_auth/firebase\auth/example/ios/Flutter · high confidence
Updated iOS example app configuration for Flutter tooling
The iOS example app configuration files have been updated to align with current Flutter standards. The AppFrameworkInfo.plist now explicitly sets the minimum iOS deployment target to version 12.0 and specifies arm64 as a required device capability. Additionally, the Debug and Release build configurations have been standardized to include the generated xcconfig files, ensuring consistent build settings for the example application.
_packages/firebase\_analytics/firebase\analytics/example/ios/Flutter · high confidence
Updated web entry point and manifest for the example app
The example application's web directory has been updated with a new index.html and manifest.json. The manifest now correctly identifies the app as 'flutterfire\_app\_installations' with associated icons, while the HTML entry point retains the title 'flutterfire\_auth'. This change reflects the structural migration of the example web files to the new package layout.
_packages/firebase\_app\_installations/firebase\_app\installations/example/web · medium confidence
Updated web example scaffolding for Flutter web and WASM support
The web example directory now includes standard Flutter web entry points (\index.html\, \manifest.json\) alongside a new \wasm\_index.html\ file, providing the necessary structure to run the Firestore example app in both standard JavaScript and WebAssembly (WASM) modes.
_packages/cloud\_firestore/cloud\firestore/example/web · high confidence
Updated web example structure and manifest
The web example directory has been migrated to a new structure, introducing a standard \index.html\ and \manifest.json\. The manifest now defines the app as a standalone PWA with specific theme colors and icon assets, while the HTML entry point includes standard meta tags and references the Flutter bootstrap script.
_packages/firebase\_analytics/firebase\analytics/example/web · high confidence
Web App Check interop layer rewritten for WASM and new provider support
The web interop implementation for Firebase App Check has been rewritten using \dart:js\_interop\ to ensure compatibility with WebAssembly (WASM). This change introduces support for the \ReCaptchaEnterpriseProvider\ alongside the existing \ReCaptchaV3Provider\ and \WebDebugProvider\. It also exposes the \getLimitedUseToken()\ API for retrieving limited-use tokens and refactors the \onTokenChanged\ stream to ensure proper cleanup of listeners and resources, particularly during hot restarts.
_packages/firebase\_app\_check/firebase\_app\_check\web/lib/src/interop · high confidence
Web App Check now persists and restores provider configuration across sessions
The web implementation now automatically saves the selected reCAPTCHA provider type and site key to local storage when \activate()\ is called, and restores this configuration on subsequent page loads or hot restarts. This ensures that users do not need to manually re-activate App Check or re-enter reCAPTCHA credentials after a navigation or refresh, providing a seamless experience for both reCAPTCHA v3 and Enterprise providers.
_packages/firebase\_app\_check/firebase\_app\_check\web/lib · high confidence
Web authentication now initializes before emitting state changes and reconnects to the emulator after hot reloads
The web implementation ensures that the Firebase Auth instance is fully initialized before any stream events (authStateChange, idTokenChange, userChanges) are emitted, preventing null-check errors and ensuring currentUser is populated immediately at startup. Additionally, the plugin now automatically re-applies the persisted Auth emulator origin after a hot reload or restart if the session storage indicates a previous emulator configuration, improving the developer experience during debugging.
_packages/firebase\_auth/firebase\_auth\web/lib · high confidence
Web implementation package scaffolding and CI alignment
The \firebase\_app\_installations\_web\ package has been initialized with standard project scaffolding, including \.gitignore\, \.metadata\, \LICENSE\, \README.md\, and \analysis\_options.yaml\ files. Additionally, the package's changelog reflects a CI fix to align the Android toolchain and analyzer with Flutter 3.47, ensuring compatibility with the latest Flutter release.
_packages/firebase\_app\_installations/firebase\_app\_installations\web · high confidence
Web plugin migrated to dart:js\_interop for WASM compatibility
The web implementation for Firebase App Installations has been rewritten to use the new \dart:js\_interop\ API instead of the legacy \dart:js\ interop. This change enables the plugin to run in WebAssembly (WASM) environments, resolving previous type-cast errors in \getId\ and \getToken\. The update introduces explicit interop types and a dedicated wrapper layer to bridge Dart with the Firebase JS SDK, ensuring stable behavior in modern web runtimes.
_packages/firebase\_app\_installations/firebase\_app\_installations\web/lib · high confidence
Web plugin restructured with new multi-factor, emulator, and Recaptcha implementations
The web plugin source files have been reorganized and expanded to support new authentication capabilities. A new \auth\_emulator.dart\ file ensures the Auth emulator connects correctly after page reloads by persisting and reapplying the emulator origin from session storage. Multi-factor authentication is now fully supported on Web with new classes for managing TOTP secrets, phone factors, and general multi-factor sessions. Additionally, the \RecaptchaVerifierFactoryWeb\ implementation has been updated to handle invisible Recaptcha containers and improve error handling, while user and credential classes have been refactored to properly parse provider data and metadata.
_packages/firebase\_auth/firebase\_auth\web/lib/src · high confidence
iOS example app migrated to UIScene lifecycle
The iOS example app for Cloud Functions has been updated to use the modern UIScene lifecycle. This change introduces a new AppDelegate implementation that conforms to FlutterImplicitEngineDelegate to handle plugin registration within the scene, updates the Info.plist to define scene configurations (including the FlutterSceneDelegate), and adds the necessary storyboard and asset files to support the new application lifecycle model.
_packages/cloud\_functions/cloud\functions/example/ios/Runner · high confidence
iOS example app migrated to UIScene lifecycle
The iOS example app for \firebase\_app\_check\ has been updated to use the modern \UIScene\ lifecycle. This change requires iOS 13 or later and updates the \AppDelegate\ to implement \FlutterImplicitEngineDelegate\, ensuring plugins are correctly registered when the implicit Flutter engine initializes within the scene-based architecture.
_packages/firebase\_app\_check/firebase\_app\check/example/ios · high confidence
iOS example app project structure regenerated
The iOS example app's Xcode project files (project.pbxproj, workspace, and scheme configurations) have been regenerated, introducing support for Swift Package Manager via the FlutterGeneratedPluginSwiftPackage framework and updating the project to object version 54 with Xcode 15.10 compatibility. This change ensures the example project structure aligns with modern Flutter iOS tooling and dependency management standards.
_packages/firebase\_auth/firebase\auth/example/ios/Runner.xcodeproj · medium confidence
iOS example app project structure regenerated with Swift Package Manager support
The iOS example app for Cloud Firestore has been regenerated to support Swift Package Manager. The Xcode project now includes a \FlutterGeneratedPluginSwiftPackage\ reference and registers it as a package product dependency, allowing the example to resolve plugins via SPM in addition to CocoaPods. The project configuration has been updated to object version 54 (Xcode 11+), and the build scheme now includes a pre-action to run the Flutter framework preparation script, ensuring the environment is correctly set up before building.
_packages/cloud\_firestore/cloud\firestore/example/ios/Runner.xcodeproj · high confidence
iOS example app scaffolded with UIScene lifecycle and modern authentication entitlements
The iOS example application has been restructured to support the modern iOS UIScene lifecycle, moving from the traditional UIApplicationDelegate model to a scene-based architecture defined in Info.plist and the new AppDelegate implementation. This update includes the addition of specific entitlements for Sign in with Apple and Game Center, enabling these authentication methods in the example. The project also now includes standard Flutter iOS assets, storyboards, and configuration files required to build and run the example app on current iOS versions.
_packages/firebase\_auth/firebase\auth/example/ios/Runner · high confidence
iOS/macOS App Check plugin rewritten in Swift with extended token API
The iOS and macOS implementation of the Firebase App Check plugin has been migrated from Objective-C to Swift. This rewrite introduces a new \getTokenResult\ method that returns the full token details, including the expiration timestamp, alongside the existing \getToken\ method. The plugin now uses the Pigeon code-generation tool for platform channel communication and includes a new \activate\ method that accepts a \recaptchaSiteKey\ parameter to support reCAPTCHA provider configuration on Apple platforms.
_packages/firebase\_app\_check/firebase\_app\_check/ios/firebase\_app\_check/Sources/firebase\_app\check · high confidence
iOS/macOS Cloud Functions plugin rewritten in Swift with Pigeon and streaming support
The iOS and macOS implementation of the Cloud Functions plugin has been migrated from Objective-C to Swift, utilizing the Pigeon code-generation tool (v26.3.4) to handle platform channel communication. This change introduces native support for Cloud Functions streaming on iOS 15+ and macOS 12+, allowing users to receive real-time event streams from callable functions via the new \FunctionsStreamHandler\. The migration also updates the internal codec utilities to properly encode and decode complex data types between Dart and Swift, ensuring consistent behavior for function calls and error handling across the platform.
_packages/cloud\_functions/cloud\_functions/ios/cloud\_functions/Sources/cloud\functions · high confidence
iOS/macOS Firebase Auth plugin rewritten in Swift with Pigeon API
The iOS and macOS Firebase Authentication plugin implementation has been migrated from Objective-C to Swift and now uses the Pigeon code-generation framework for platform channel communication. This rewrite introduces new Swift source files (including \FLTFirebaseAuthPlugin.swift\, \AuthErrors.swift\, and \PigeonParser.swift\) and establishes symlinks for the macOS target to share the iOS implementation. For users, this change modernizes the underlying platform code and ensures consistent behavior across iOS and macOS, while the Pigeon integration provides a more robust and type-safe interface for method calls and stream handlers.
_packages/firebase\_auth/firebase\auth/ios · high confidence
macOS Cloud Functions implementation unified with iOS via symlinks
The macOS implementation for Cloud Functions now shares its core Swift source files with the iOS implementation. The specific files in this location (CloudFunctionsMessages.g.swift, CodecUtility.swift, Constants.swift, FirebaseFunctionsPlugin.swift, and FunctionsStreamHandler.swift) have been replaced with symlinks pointing to their iOS counterparts, ensuring that macOS and iOS use identical logic for function invocation and streaming.
_packages/cloud\_functions/cloud\functions/macos · high confidence
macOS plugin now shares Swift source files with iOS
The macOS implementation of the Firebase App Check plugin has been restructured to use symbolic links pointing to the corresponding Swift source files in the iOS plugin directory (Constants.swift, FirebaseAppCheckMessages.g.swift, and FirebaseAppCheckPlugin.swift). This change aligns the macOS codebase with the iOS implementation, ensuring that updates to the shared Swift logic are automatically reflected on macOS without maintaining separate copies.
_packages/firebase\_app\_check/firebase\_app\check/macos · high confidence
macOS plugin now shares implementation with iOS via symlinks
The macOS implementation of the Firebase App Installations plugin has been restructured to share its Swift source code with the iOS plugin. The macOS source directory now contains symbolic links pointing to the corresponding iOS source files (Constants.swift, FirebaseAppInstallationsMessages.g.swift, FirebaseInstallationsPlugin.swift, and IdChangedStreamHandler.swift). This change ensures that the macOS platform uses the same logic and message definitions as iOS, reducing code duplication and keeping the two platforms in sync.
_packages/firebase\_app\_installations/firebase\_app\installations/macos · high confidence
Fixes
Android messaging implementation rewritten for stability and performance
The Android native code for Firebase Messaging has been completely rewritten to address crashes, ANRs, and deprecated API usage. The new architecture introduces a \ContextHolder\ to safely manage the Android \Context\, a \JobIntentService\ (\FlutterFirebaseMessagingBackgroundService\) to queue and process background messages without blocking the main thread, and a dedicated background isolate executor (\FlutterFirebaseMessagingBackgroundExecutor\) to handle Dart callbacks. Message storage has been refactored into \FlutterFirebaseMessagingStore\ with a 100-message limit, and permission requests are now managed by \FlutterFirebasePermissionManager\ to prevent race conditions. These changes ensure reliable message delivery and improved app responsiveness on Android.
_packages/firebase\_messaging/firebase\messaging/android/src/main/java/io/flutter/plugins/firebase · high confidence
Improved error handling and web compatibility in internal exception utilities
The internal exception handling logic now preserves stack traces when converting platform exceptions to FirebaseExceptions, ensuring debugging points to the correct invocation site. It also correctly extracts error codes from the \PlatformException.code\ field when the \details\ payload is missing (addressing Windows-specific behavior) and normalizes code casing. Additionally, a new conditional import for \dart:js\_interop\ and shim classes for JS types resolve dart2js build issues and fix type casting errors during web error parsing.
_packages/\_flutterfire\internals/lib/src · high confidence
Test coverage
Add FlutterFire e2e test application; Added Android test harness for runtime permission control; Added Pigeon test API for Firebase Auth platform interface; Added Pigeon-based test API for Cloud Functions platform interface; Added end-to-end integration tests for Cloud Functions; Added end-to-end integration tests for Firebase Analytics and App Installations example apps; Added end-to-end test drivers for Cloud Functions and Firebase Auth example apps; Added end-to-end tests for Firestore Pipeline operations; Added integration test driver for Cloud Firestore e2e tests; Added integration test drivers for Firebase Analytics, App Check, and App Installations example apps; Added integration tests for Firebase App Check on Apple platforms; Added platform interface tests for Firebase Analytics; Added platform interface unit tests for Firebase Auth core components; Added test activity for Firebase Performance example app; Added test mock utilities for Firebase Analytics platform interface; Added test utilities for mocking Cloud Functions platform interactions; Added test utility for decoding Firestore message types; Added tests for Auth emulator connection logic and error handling; Added tests for Firebase App Check provider selection logic; Added tests for Firebase Auth platform exception handling and phone auth callbacks; Added tests for exception conversion and web error guarding; Added tests for platform exception conversion utility; Added unit tests for Android error code mapping; Added unit tests for AppCheckTokenResult and test mocks; Added unit tests for Firebase Analytics Web plugin; Added unit tests for Firebase App Check platform interface and method channel; Added unit tests for Firebase App Check web platform; Added unit tests for Firebase Auth core and user operations; Added unit tests for Firebase Auth platform interface models; Added unit tests for Firebase Auth provider classes; Added unit tests for Firebase Installations API; Added unit tests for FirebaseAppCheck instance management; Added unit tests for Firestore Pipeline API and core query validation; Added unit tests for MethodChannelFirebaseAuth and MethodChannelUserCredential; Added unit tests for Pigeon-generated Firebase Analytics platform interface; Added unit tests for cloud\_firestore\_platform\_interface; Added unit tests for cloud\_firestore\_web FieldValueFactory and test infrastructure; Added unit tests for the Cloud Functions platform interface method channel implementation; Added unit tests for the ELF build ID reader; Added unit tests for the internal Pointer class; Example app adds runtime permission manipulation for integration testing; Firebase Auth example app gains comprehensive end-to-end integration tests; Initial test suite for Firebase Analytics plugin; Initial unit test coverage for Cloud Functions client API; New integration test suite for Cloud Firestore example app.
Dependencies
Add Firebase Functions CI script dependencies and update internal plugin constraints
This change introduces a new \package.json\ and \package-lock.json\ for the \.github/workflows/scripts/functions\ directory, establishing \firebase-admin\ (^13.2.0) and \firebase-functions\ (^6.3.2) as dependencies for CI scripts. It also adds the \\_flutterfire\_internals\ package with a Dart SDK constraint of ^3.6.0 and updates the \cloud\_firestore\ Android build configuration to enforce a dependency on \firebase\_core\ for retrieving the Firebase SDK version.
(dependencies) · high confidence
Example app Gradle wrapper upgraded to version 8.4
The cloud\_firestore example app now uses Gradle 8.4 for building, ensuring compatibility with modern Android development tools and the latest Android Gradle Plugin versions.
_packages/cloud\_firestore/cloud\firestore/example/android/gradle · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 58 → 66 (+8.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 98 → 86 (-11.3)
- Architecture 99 → 96 (-3.1)
- Maturity 50 → 53 (+3.2)
- Readiness 56 → 87 (+30.9)
- Security 51 → 68 (+16.5)
Resolved (59)
- Change coupling: document_reference_web.dart ↔ query_web.dart (packages/cloud_firestore/cloud_firestore_web/lib/src/document_reference_web.dart)
- Change coupling: firebase_app_check.dart ↔ firebase_app_check_web.dart (packages/firebase_app_check/firebase_app_check/lib/firebase_app_check.dart)
- Change coupling: firebase_app_check.dart ↔ method_channel_firebase_app_check.dart (packages/firebase_app_check/firebase_app_check/lib/firebase_app_check.dart)
- Change coupling: firebase_app_check.dart ↔ platform_interface_firebase_app_check.dart (packages/firebase_app_check/firebase_app_check/lib/firebase_app_check.dart)
- Change coupling: firebase_crashlytics.dart ↔ utils.dart (packages/firebase_crashlytics/firebase_crashlytics/lib/src/firebase_crashlytics.dart)
- Change coupling: method_channel_https_callable.dart ↔ https_callable_web.dart (packages/cloud_functions/cloud_functions_platform_interface/lib/src/method_channel/method_channel_https_callable.dart)
- Change coupling: transaction_web.dart ↔ write_batch_web.dart (packages/cloud_firestore/cloud_firestore_web/lib/src/transaction_web.dart)
- Change coupling: utils.dart ↔ method_channel_crashlytics.dart (packages/firebase_crashlytics/firebase_crashlytics/lib/src/utils.dart)
- Change coupling: utils.dart ↔ platform_interface_crashlytics.dart (packages/firebase_crashlytics/firebase_crashlytics/lib/src/utils.dart)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (.github/workflows/scripts/functions/package-lock.json)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Further sole-owners (lower concentration)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 39 more
New (370)
- Analytics.setConsent (cognitive 21) (packages/firebase_analytics/firebase_analytics_web/lib/interop/analytics.dart)
- AnalyticsEventItem.asMap (cognitive 24) (packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/analytics_event_item.dart)
- AnalyticsEventItem.asMap (cyclomatic 25) (packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/analytics_event_item.dart)
- AnyDecodable.init (cognitive 18) (packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CodecUtility.swift)
- AnyDecodable.init (cognitive 18) (packages/cloud_functions/cloud_functions/macos/cloud_functions/Sources/cloud_functions/CodecUtility.swift)
- AnyDecodable.init (cyclomatic 18) (packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CodecUtility.swift)
- AnyDecodable.init (cyclomatic 18) (packages/cloud_functions/cloud_functions/macos/cloud_functions/Sources/cloud_functions/CodecUtility.swift)
- AppCheckProviderWrapper.configure (cognitive 18) (packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift)
- AppCheckProviderWrapper.configure (cognitive 18) (packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift)
- Boundary-crossing change coupling: firebase_auth.dart ↔ firebase_storage.dart (packages/firebase_auth/firebase_auth/lib/src/firebase_auth.dart)
- Change coupling: cloud_firestore_platform_interface.dart ↔ firestore_interop.dart (packages/cloud_firestore/cloud_firestore_platform_interface/lib/cloud_firestore_platform_interface.dart)
- Change coupling: method_channel_firestore.dart ↔ cloud_firestore_web.dart (packages/cloud_firestore/cloud_firestore_platform_interface/lib/src/method_channel/method_channel_firestore.dart)
- Change coupling: method_channel_query.dart ↔ query_web.dart (packages/cloud_firestore/cloud_firestore_platform_interface/lib/src/method_channel/method_channel_query.dart)
- Change coupling: platform_interface_firestore.dart ↔ firestore.dart (packages/cloud_firestore/cloud_firestore_platform_interface/lib/src/platform_interface/platform_interface_firestore.dart)
- ClassTooLong: Expression (packages/cloud_firestore/cloud_firestore/lib/src/pipeline_expression.dart)
- ClassTooLong: ExpressionParsers (packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils/ExpressionParsers.java)
- ClassTooLong: FLTFirebaseAuthPlugin (packages/firebase_auth/firebase_auth/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.swift)
- ClassTooLong: FLTFirebaseAuthPlugin (packages/firebase_auth/firebase_auth/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.swift)
- ClassTooLong: FLTFirebaseDatabasePlugin (packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift)
- ClassTooLong: FLTFirebaseDatabasePlugin (packages/firebase_database/firebase_database/macos/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift)
- …and 350 more
Changes since last survey
- 85 commits — 54 feature/other, 31 fixes
By area
- packages/firebase_core — 16 commits
- .github/workflows — 13 commits
- packages/firebase_auth — 12 commits
- packages/cloud_firestore — 10 commits
- packages/firebase_messaging — 7 commits
- packages/firebase_ai — 6 commits
- packages/firebase_app_installations — 3 commits
- packages/firebase_crashlytics — 3 commits
- packages/firebase_data_connect — 2 commits
- packages/firebase_remote_config — 2 commits
- (root) — 1 commit
- docs/app-check — 1 commit
- docs/storage — 1 commit
- packages/cloud_functions — 1 commit
- packages/firebase_analytics — 1 commit
- packages/firebase_app_check — 1 commit
- packages/firebase_database — 1 commit
- packages/firebase_in_app_messaging — 1 commit
- packages/firebase_performance — 1 commit
- packages/firebase_storage — 1 commit
Notable commits
- fix: ci: stabilization pass — fix broken caches, flaky retries, and the e2e-fdc redness (#18532)
- fix: fix(ai): reuse a persistent http.Client in HttpApiClient (#18603)
- fix: fix(app_installations,android): dispatch ID-change events on the main thread (#18652)
- fix: fix(appcheck,macos): fix how appAttestWithDeviceCheckFallback is working on fallback (#18568)
- fix: fix(auth, web): connect Auth emulator after reload when sessionStorage already has the origin (#18690)
- fix: fix(auth,ios): guard URL and notification hooks when no default FirebaseApp exists (#18669)
- fix: fix(auth,macos): throw a clear error for unsupported provider sign-in flows (#18571)
- fix: fix(auth,web): convert Auth errors that omit customData without throwing (#18686)
- fix: fix(auth,windows): complete reauthenticateWithCredential on success (#18653)
- fix: fix(ci): align Android toolchain and analyzer with Flutter 3.47 (#18566)
- fix: fix(ci): bump Kotlin Gradle plugin to 2.3.0 (#18600)
- fix: fix(ci): stop e2e-fdc / web-wasm hanging until the job timeout (#18579)
- fix: fix(cloud_functions): lowercase Android error codes with Locale.ROOT (#18651)
- fix: fix(core, crashlytics): drop flutter_test from published dependencies (#18575)
- fix: fix(core, web): keep App Check registered for secondary Firebase apps (#18557)
- fix: fix(core,web): compile isA checks on Dart < 3.12 (#18612)
- fix: fix(core,web): preserve non-JavaScript app errors (#18552)
- fix: fix(data_connect): exclude generated protobuf sources from analysis (#18687)
- fix: fix(database,windows): fix transaction threwing and native error codes dropped (#18559)
- fix: fix(firebase_auth): compile Android Kotlin without checker-qual on inferred types (#18610)
- …and 65 more
Architecture
- Containers 0 added · 0 removed · contexts 1 added · 1 removed · edges 0 added · 0 removed
Added bounded contexts (1)
- firebase_messaging
Removed bounded contexts (1)
- .
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
firebase/flutterfire was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a646d5546a4686b21b2b0015a9d4e5f41ca92757 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.