Releases: MaikuB/flutter_local_notifications
Releases · MaikuB/flutter_local_notifications
flutter_local_notifications-v12.0.1
- [Android][iOS] fixed issue 1721 where a crash occurs upon tapping on a notification action fbut the
onDidReceiveBackgroundNotificationResponse
optional callback hasn't been specified. - [iOS] suppressed deprecation warnings where plugin was Apple's old notification APIs to support older iOS devices
flutter_local_notifications-v12.0.0
- Bumped
dbus
dependency viaflutter_local_notifications_linux
flutter_local_notifications-v11.0.1
- [Android] fixed crash when using notification actions with a foreground service. Thanks to the PR from Arnold Laishram
- [Android] Suppressed deprecation warning on calling the
getParcelableExtra
Intent API - Fixed typo in readme around Darwin (iOS/macOS) initialisation settings
- Added a link to an issue with using Flutter apps with desugaring enabled where crashes could occur on foldable Android devices. Link to this is flutter/flutter#110658 so those experience the problem can follow the issue and try out the solutions there as this isn't specific to the plugin
- Replaced usage of rxDart in example app use
StreamController
instead to minimise use of dependencies and removed unusedshared_preferences
dependency
flutter_local_notifications-v11.0.0
- Bumped
timezone
dependency. To err on the safe when it comes to dependency version conflicts, this is being published as major release as the updatedtimezone
package was published as a major release. Thanks to the PR from Joachim Nohl
flutter_local_notifications-v10.0.0
- Breaking change [Android]
zonedSchedule()
's implementation has switched to using desugaring instead of the ThreeTen Android Backport library. This required the plugin to update to using Android Gradle plugin 4.2.2 and applications may need to bump their Android Gradle plugin dependency to at least 4.2.2 as a result. Added a "Gradle setup" section underneath "Android setup" with details on the extra setup needed - [Android] Breaking change the following error codes included in
PlatformException
s that can occur on Android have been updatedINVALID_ICON
->invalid_icon
INVALID_LARGE_ICON
->invalid_large_icon
INVALID_BIG_PICTURE
->invalid_big_picture
INVALID_SOUND
->invalid_sound
INVALID_LED_DETAILS
->invalid_led_details
GET_ACTIVE_NOTIFICATIONS_ERROR_CODE
->unsupported_os_version
GET_NOTIFICATION_CHANNELS_ERROR_CODE
->getNotificationChannelsError
GET_ACTIVE_NOTIFICATION_MESSAGING_STYLE_ERROR_CODE
->getActiveNotificationMessagingStyle
PERMISSION_REQUEST_IN_PROGRESS
->permissionRequestInProgress
- [Android] Breaking change the
category
of theAndroidNotificationDetails
now requires an instance of the newly addedAndroidNotificationCategory
class instead of a string. This was to improve the discoverability of the APIs and improve the semantics as the category can specified in a similar fashion to using an enum value - Breaking change callbacks have now been reworked. There are now the following callbacks and both will pass an instance of the
NotificationResponse
classonDidReceiveNotificationResponse
: invoked only when the app is running. This works for when a user has selected a notification or notification action. This replaces theonSelectNotification
callback that existed before. For notification actions, the action needs to be configured to indicate the the app or user interface should be shown on invoking the action for this callback to be invoked i.e. by specifying theDarwinNotificationActionOption.foreground
option on iOS and theshowsUserInterface
property on Android. On macOS and Linux, as there's no support for background isolates it will always invoke this callbackonDidReceiveBackgroundNotificationResponse
: invoked on a background isolate for when a user has selected a notification action. This replaces theonSelectNotificationAction
callback
- Breaking change the
NotificationAppLaunchDetails
has been updated to contain an instanceNotificationResponse
class with thepayload
belonging to theNotificationResponse
class. This is to allow knowing more details about what caused the app to launch e.g. if a notification action was used to do so - [iOS][macOS] Breaking changes iOS and macOS classes have been renamed and refactored as they are based on the same operating system and share the same notification APIs. Rather than having a prefix of either
IOS
orMacOS
, these are now replaced by classes with aDarwin
prefix. For example,IOSInitializationSettings
can be replaced withDarwinInitializationSettings
- [macOS] Breaking change the
requestPermissions()
method of theMacOSFlutterLocalNotificationsPlugin
class now only accepts non-nullable parameters that default tofalse
. This makes it consistent with the iOS implementation of the plugin - Added support for notification actions. Massive thanks to Sebastian Roth, Pieter van Loon and Yaroslav Pronin for their work on this. Note that on Apple's platforms, notification actions are only supported on iOS 10 or newer and macOS 10.14 or newer
- [Linux] Breaking change the linux notification categories defined by
LinuxNotificationCategory
no longer has factory constructors but has static constant fields instead to make the semantics more similar to access enum values - [Android] Updated how scheduled notifications are saved to shared preferences so it is done in the background. This is to fix issue 1378 where
pendingNotificationRequests
method may not report the correct number of scheduled notifications if it is invoked before the data had been saved to shared preferences - [Android] fixed issue 1702 by handling deprecation warnings using specific Android Intent APIs on Android 13 (API level 33) or newer
- [iOS]
getActiveNotifications()
is now supported for iOS versions 10.0 or newer - [macOS]
getActiveNotifications()
is now supported for macOS versions 10.14 or newer - [iOS][macOS] thanks to the PR from maprohu, the following features are now available
- the ability to request permissions to show critical notifications
- the ability to specify the interruption level of a notification. This is only applicable to iOS 15.0 and macOS 12.0 or newer.
- Updated minimum Flutter version to 2.8 as that aligns with the minimum Dart SDK version of 2.1.5 required by one of
flutter_local_notifications_linux
's dependencies (dbus
) - Example app has been updated so that each notification has its own notification ID. Previously, they were all given a notification ID of
0
- Updated Android setup docs to mention setting up
compileSdkVersion
flutter_local_notifications-v10.0.0-dev.23
- Fixed issue 1694 where tree-shaking was removing code related to background isolates and thereby preventing notification actions from firing. Readme has also been updated as applications will need to annotate functions invoked by the
onDidReceiveBackgroundNotificationResponse
callback with the@pragma('vm:entry-point')
annotation as well. The example and docs have been updated to remove usages of theIsolateNameServer
APIs due to issues in release builds. If anyone knows how to get these working then please submit a PR
flutter_local_notifications-v9.9.1
- [Android] plugin has been updated to minimise clashing with other plugins that handle permission requests. Thanks to the PR from Tiernan
flutter_local_notifications-v10.0.0-dev.22
- Updated minimum Flutter version to 2.8 as that aligns with the minimum Dart SDK version of 2.1.5 required by one of
flutter_local_notifications_linux
's dependencies (dbus
) - Includes changes from 9.9.1
flutter_local_notifications-v9.9.0
- [Android] added the ability to specify audio attributes of a notification channel via the
audioAttributesUsage
property belonging to theAndroidNotificationChannel
andAndroidNotificationDetails
classes. Thanks to the PR from Jonas Bornold
flutter_local_notifications-v10.0.0-dev.21
- Includes changes from 9.9.0