NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #201 most downloaded on pub.dev
Flutter plugin for Firebase Cloud Messaging, a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS.
Last release 24 days ago
14 Sep 2026
Ships on a steady schedule
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
245 releases · first in 2017
REFACTOR: Remove deprecated Tasks.call() API from android. (#8449).
Tasks.call() API from android. (#8449). (0510d113)Update a dependency to the latest release.
One column per quarter.
Update a dependency to the latest release.
Update a dependency to the latest release.
Packages with breaking changes:
onMessage callback is consistently called on iOS platform. (#8202). (54f5555e)Packages with breaking changes:
Packages with other changes:
Packages with breaking changes:
NSApplicationLaunchUserNotificationKey for macOS. (#8251). (46b54ccd)Packages with breaking changes:
Packages with other changes:
cloud_functions - v3.2.10firebase_auth - v3.3.10firebase_dynamic_links - v4.1.0firebase_dynamic_links_platform_interface - v0.2.2firebase_messaging - v11.2.9flutterfire_ui - v0.3.6FIX: getInitialMessage returns notification once & only if pressed for iOS. (#7634).
getInitialMessage returns notification once & only if pressed for iOS. (#7634). (85739b4c)FIX: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184).
FIX: Stream new token via onTokenRefresh when getToken invoked for iOS. (#8166).
FIX: Set APNS token if user initializes Firebase app from Flutter. (#7610).
FIX: bump Android compileSdkVersion to 31 (#7726).
FIX: Return app constants for default app only on Android. (#7592).
Android. (#7592).Update a dependency to the latest release.
DOCS: Fix typos and remove unused imports (#7504).
Update a dependency to the latest release.
FEAT(database): Swift Package Manager support (#16783).
FEAT: bump iOS SDK to version 11.0.0 (#13158).
FirebaseApp instances from Dart (#6549).BREAKING REFACTOR: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK v11 breaking change (#12872).
minSdk 21, auth requires minSdk 23 ahead of android BOM >=33.0.0 (#12873). (52accfc6)v11 breaking change (#12872). (de0cea2c)Map<String, Object>? (#12427). (3705ee1b)Note: This release has breaking changes.
minSdk version to 19 as this is required by Firebase Android SDK 29.0.0 (#7298).REFACTOR: remove deprecated Flutter Android v1 Embedding usages, including in example app (#7158).
null, do not attempt to handle RemoteMessage #6759 (#7094).TARGET_OS_OSX (#7116).REFACTOR: remove a deprecated FallThroughError (#10143).
FIX: was creating a new instance each time (#6961).
FIX: cache the result of event.snapshot to be able to compare the value (#9899).
contentAvailable:true (#6838).Update a dependency to the latest release.
CHORE: rm deprecated jcenter repository (#6431).
index.html (#6398).REFACTOR: add verify to QueryPlatform and change internal verifyToken API to verify (#9711).
index.html (#6398).Update a dependency to the latest release.
FIX: Fix FirebaseMessaging.onMessage and onMessageOpenedApp potentially throwing (#6093).
BREAKING FEAT: Firebase iOS SDK version: 10.0.0 (#9708).
Note: This release has breaking changes.
senderId named argument on getToken & deleteToken methods since the native Firebase SDKs no longer support it cross-platform.isSupported support for Web (#6109).FIX: Send default parameters for iOS when using setDefaultEventParameters() API. (#8402).
setDefaultEventParameters() API. (#8402). (7d3e5ba6)Update a dependency to the latest release.
FIX: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184).
DOCS: code comment typo - logAdImpression mentions wrong event (#8180).
logAdImpression mentions wrong event (#8180). (960a75a7)FEAT(auth,ios): add support for migrateCurrentUser (#18460).
FIX: use jsify() with event parameters for logEvent() so they are sent (#7509).
jsify() with event parameters for logEvent() so they are sent (#7509).Bump platform interface a major version due to pigeon dependency update
Bump platform interface a major version due to pigeon dependency update
REFACTOR: move all packages to workspace (#18182). (6cdfcb10)
FIX: update core, auth and app-check logic so internal resources on method channels are properly disposed (#18268). (a0de4ed8)
FEAT(auth,android): add revokeAccessToken support for Android (#18206) (#18207). (7e0a2227)
FIX: fix unhandled exception (#4676).
TESTS: update mockito API usage in tests
> Note: This release has breaking changes.
Note: This release has breaking changes.
iOSNotificationSettings.requestNotificationPermissions - use requestPermission instead.autoInitEnabled() - use setAutoInitEnabled() instead.deleteInstanceID() - use deleteToken() instead.FirebaseMessaging() - use FirebaseMessaging.instance instead.Nothing published for this version
DOCS: fix messaging regex examples (#4649).
> Note: This release has breaking changes.
Note: This release has breaking changes.
> Note: This release has breaking changes.
Note: This release has breaking changes.
REFACTOR: initial web release as pre-release version.
FlutterShellArgs instance from Android activity intent (fixes #4078) (#4341).FIRAuth canHandleNotification as it's iOS only (fixes #4136) (#4340).no implementation found error (#4339).FEAT: web implementation (#4206).
com.android.tools.build & 'com.google.gms:google-services versions (#4269).TEST: Explicitly opt-out from null safety.
FIX: potential crash (fixes #4032) (#4071).
Update a dependency to the latest release.
REFACTOR: use invokeMapMethod instead of invokeMethod (#4048).
UNUserNotificationCenter delegate when protocol conforms to FlutterApplicationLifeCycleDelegate (#4043).FIX: crash when senderId null (fixes #4024) (#4025).
- FEAT: roadmap rework (#4012).
FEAT: notification persistence.
FEAT: bump firebase sdk version to 6.33.0.
DEPRECATED: Calling FirebaseMessaging() has been deprecated in favor of FirebaseMessaging.instance & FirebaseMessaging.instanceFor().
This plugin is now federated to allow integration with other platforms, along with upgrading underlying SDK versions.
We've also added lots of features which can be seen in the changelog below, however notably the biggest changes are:
Removed all manual native code changes that were originally required for integration - this plugin works out of the box once configured with Firebase & APNs.
Support for macOS.
iOS background handler support.
Android background handler debugging and logging support.
Android V2 embedding support.
Reworked API for message handling (Streams + explicit handlers).
Fully typed Message & Notification classes (vs raw Maps).
New Apple notification permissions & support.
Detailed documentation.
FirebaseMessaging:
configure() has been removed in favor of calling specific static methods which return Streams.
configure() caused unintended side effects if called multiple
times (either to register a different handler, or remove handlers). This change allows developers to be more
explicit about registering handlers and removing them without effecting others via Streams.FirebaseMessaging() has been deprecated in favor of FirebaseMessaging.instance
& FirebaseMessaging.instanceFor().requestNotificationPermissions() has been deprecated in favor of requestPermission().deleteInstanceID() has been deprecated in favor of deleteToken().autoInitEnabled() has been deprecated in favor of isAutoInitEnabled.isAutoInitEnabled as a synchronous getter.getInitialMessage(). This API has been added to detect whether a messaging containing
a notification has caused the application to be opened via users interaction.deleteToken().getToken().getAPNSToken().getNotificationSettings(). See NotificationSettings below.requestPermission(). See NotificationSettings below. New permissions such
as carPlay, crtiticalAlert, announcement are now supported.sendMessage(). The sendMessage() API enables support for sending FCM
payloads back to a custom server from the device.setForegroundNotificationPresentationOptions(). By default, iOS devices will
not show notifications in the foreground. Use this API to override the defaults. See documentation for Android
foreground notifications.Event handling:
FirebaseMessaging.onMessage Returns a Stream that is called when an incoming FCM payload is
received whilst the Flutter instance is in the foreground, containing a [RemoteMessage].FirebaseMessaging.onMessageOpenedApp Returns a [Stream] that is called when a user presses a
notification displayed via FCM. This replaces the previous onLaunch and onResume handlers.FirebaseMessaging.onBackgroundMessage() Sets a background message handler to trigger when the app
is in the background or terminated.IosNotificationSettings:
IosNotificationSettings class is now deprecated (currently used with the now
deprecated requestNotificationPermissions() method).
requestPermission() and read the permissions back
via the returned NotificationSettings instance.NotificationSettings:
NotificationSettings class is returned from calls to requestPermission()
and getNotificationSettings(). It contains information such as the authorization status, along with the platform
specific settings.RemoteMessage:
RemoteMessage rather than a raw Map.RemoteNotification:
RemoteMessage includes a RemoteNotification rather
than a raw Map.Other:
BackgroundMessageHandler, AppleNotificationSetting, AppleShowPreviewSetting, AuthorizationStatus
, AndroidNotificationPriority, AndroidNotificationVisibilityUpdate a dependency to the latest release.
FIX: remove platform package usage (#3729).
platform package usage (#3729).FIX(core,iOS): use namespaced iOS Pigeon header import (#18281).
Bump platform interface a major version due to pigeon dependency update
firebase_core and migrate plugin to use firebase_core native SDK versioning features;
firebase_core.firebase_core.Nothing published for this version
Fix push notifications clearing after app launch on iOS.
Fix - register pluginRegistrantCallback on every FcmDartService#start call.
pluginRegistrantCallback on every FcmDartService#start call.Your coding agent can read these notes before it upgrades. Set up the MCP server →