Skip to content

Upgrading flutter_local_notifications 0.2 to 0.3

Breaking0.2.9 → 0.3.9Breaking3New6Changed1Fixed4Other6

BreakingUpgrade verdict

3 breaking changes.

  • An old piece of code that nothing uses anymore has been deleted.
  • You now import the plugin once, and several class names have been renamed to put Android or IOS at the front instead of the end.
  • On Android, scheduled notifications could show the wrong time. The plugin now builds the notification right before showing it, which changes how scheduled notifications work.
3 items need code or config changes
Breaking3
Removes a class that is no longer used due to changes in 0.3.0.
Restructures the code so only a single import is needed and renames platform-suffixed classes to platform-prefixed names.
InitializationSettingsAndroidAndroidInitializationSettingsInitializationSettingsIOSIOSInitializationSettingsNotificationDetailsAndroidAndroidNotificationDetailsNotificationStyleAndroidAndroidNotificationStyle
Fixes Android issue 71 where the wrong notification time was displayed; the receiver now builds the notification only just before displaying it.

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • added: class AndroidInitializationSettings
  • added: class AndroidNotificationDetails
  • added: class BigPictureStyleInformation extends DefaultStyleInformation
  • added: class BigTextStyleInformation extends DefaultStyleInformation
  • added: class DefaultStyleInformation extends StyleInformation
  • added: class IOSInitializationSettings
  • added: class IOSNotificationDetails
  • added: class Importance
  • added: class InboxStyleInformation extends DefaultStyleInformation
  • added: class InitializationSettings
  • added: class NotificationAppLaunchDetails
  • added: class NotificationDetails
  • added: class Priority
  • added: class StyleInformation: abstract
  • added: ctor AndroidInitializationSettings(this.defaultIcon)
  • added: ctor AndroidNotificationDetails( this.channelId, this.channelName, this.channelDescription, {this.icon, this.importance = …, this.priority = …, this.style = …, this.styleInformation, this.playSound = …, this.sound, this.enableVibration = …, this.vibrationPattern, this.groupKey, this.setAsGroupSummary, this.groupAlertBehavior = …, this.autoCancel = …, this.ongoing, this.color, this.largeIcon, this…
  • added: ctor BigPictureStyleInformation(this.bigPicture, this.bigPictureBitmapSource, {this.contentTitle, this.summaryText, this.htmlFormatContentTitle = …, this.htmlFormatSummaryText = …, this.largeIcon, this.largeIconBitmapSource, bool htmlFormatContent = …, bool htmlFormatTitle = …})
  • added: ctor BigTextStyleInformation(this.bigText, {this.htmlFormatBigText = …, this.contentTitle, this.htmlFormatContentTitle = …, this.summaryText, this.htmlFormatSummaryText = …, bool htmlFormatContent = …, bool htmlFormatTitle = …})
  • added: ctor DefaultStyleInformation(this.htmlFormatContent, this.htmlFormatTitle)
  • added: ctor IOSInitializationSettings( {this.requestAlertPermission = …, this.requestSoundPermission = …, this.requestBadgePermission = …, this.defaultPresentAlert = …, this.defaultPresentSound = …, this.defaultPresentBadge = …, this.registerUNUserNotificationCenterDelegate = …})
  • added: ctor IOSNotificationDetails( {this.presentAlert, this.presentBadge, this.presentSound, this.sound})
  • added: ctor Importance(this.value)
  • added: ctor InboxStyleInformation(this.lines, {this.htmlFormatLines = …, this.contentTitle, this.htmlFormatContentTitle = …, this.summaryText, this.htmlFormatSummaryText = …, bool htmlFormatContent = …, bool htmlFormatTitle = …})
  • added: ctor InitializationSettings(this.android, this.ios)
  • added: ctor NotificationAppLaunchDetails( this.didNotificationLaunchApp, this.payload)
  • added: ctor NotificationDetails(this.android, this.iOS)
  • added: ctor Priority(this.value)
  • added: ctor StyleInformation()
  • added: enum AndroidNotificationStyle
  • added: enum BitmapSource
  • added: enum GroupAlertBehavior
  • added: field AndroidInitializationSettings.defaultIcon: final String
  • added: field AndroidNotificationDetails.autoCancel: bool
  • added: field AndroidNotificationDetails.channelDescription: final String
  • added: field AndroidNotificationDetails.channelId: final String
  • added: field AndroidNotificationDetails.channelName: final String
  • added: field AndroidNotificationDetails.channelShowBadge: final bool
  • added: field AndroidNotificationDetails.color: Color
  • added: field AndroidNotificationDetails.enableVibration: bool
  • added: field AndroidNotificationDetails.groupAlertBehavior: GroupAlertBehavior
  • added: field AndroidNotificationDetails.groupKey: String
  • added: field AndroidNotificationDetails.icon: final String
  • added: field AndroidNotificationDetails.importance: Importance
  • added: field AndroidNotificationDetails.indeterminate: bool
  • added: field AndroidNotificationDetails.largeIcon: String
  • added: field AndroidNotificationDetails.largeIconBitmapSource: BitmapSource
  • added: field AndroidNotificationDetails.maxProgress: int
  • added: field AndroidNotificationDetails.ongoing: bool
  • added: field AndroidNotificationDetails.onlyAlertOnce: bool
  • added: field AndroidNotificationDetails.playSound: bool
  • added: field AndroidNotificationDetails.priority: Priority
  • added: field AndroidNotificationDetails.progress: int
  • added: field AndroidNotificationDetails.setAsGroupSummary: bool
  • added: field AndroidNotificationDetails.showProgress: bool
  • added: field AndroidNotificationDetails.sound: String
  • added: field AndroidNotificationDetails.style: AndroidNotificationStyle
  • added: field AndroidNotificationDetails.styleInformation: StyleInformation
  • added: field AndroidNotificationDetails.vibrationPattern: Int64List
  • added: field BigPictureStyleInformation.bigPicture: final String
  • added: field BigPictureStyleInformation.bigPictureBitmapSource: final BitmapSource
  • added: field BigPictureStyleInformation.contentTitle: final String
  • added: field BigPictureStyleInformation.htmlFormatContentTitle: final bool
  • added: field BigPictureStyleInformation.htmlFormatSummaryText: final bool
  • added: field BigPictureStyleInformation.largeIcon: final String
  • added: field BigPictureStyleInformation.largeIconBitmapSource: final BitmapSource
  • added: field BigPictureStyleInformation.summaryText: final String
  • added: field BigTextStyleInformation.bigText: final String
  • added: field BigTextStyleInformation.contentTitle: final String
  • added: field BigTextStyleInformation.htmlFormatBigText: final bool
  • added: field BigTextStyleInformation.htmlFormatContentTitle: final bool
  • added: field BigTextStyleInformation.htmlFormatSummaryText: final bool
  • added: field BigTextStyleInformation.summaryText: final String
  • added: field DefaultStyleInformation.htmlFormatContent: bool
  • added: field DefaultStyleInformation.htmlFormatTitle: bool
  • added: field IOSInitializationSettings.defaultPresentAlert: final bool
  • added: field IOSInitializationSettings.defaultPresentBadge: final bool
  • added: field IOSInitializationSettings.defaultPresentSound: final bool
  • added: field IOSInitializationSettings.registerUNUserNotificationCenterDelegate: final bool
  • added: field IOSInitializationSettings.requestAlertPermission: final bool
  • added: field IOSInitializationSettings.requestBadgePermission: final bool
  • added: field IOSInitializationSettings.requestSoundPermission: final bool
  • added: field IOSNotificationDetails.presentAlert: final bool
  • added: field IOSNotificationDetails.presentBadge: final bool
  • added: field IOSNotificationDetails.presentSound: final bool
  • added: field IOSNotificationDetails.sound: final String
  • added: field Importance.value: final int
  • added: field InboxStyleInformation.contentTitle: final String
  • added: field InboxStyleInformation.htmlFormatContentTitle: final bool
  • added: field InboxStyleInformation.htmlFormatLines: final bool
  • added: field InboxStyleInformation.htmlFormatSummaryText: final bool
  • added: field InboxStyleInformation.lines: List<String>
  • added: field InboxStyleInformation.summaryText: final String
  • added: field InitializationSettings.android: final AndroidInitializationSettings
  • added: field InitializationSettings.ios: final IOSInitializationSettings
  • added: field NotificationAppLaunchDetails.didNotificationLaunchApp: final bool
  • added: field NotificationAppLaunchDetails.payload: final String
  • added: field NotificationDetails.android: final AndroidNotificationDetails
  • added: field NotificationDetails.iOS: final IOSNotificationDetails
  • added: field Priority.value: final int
  • added: member AndroidNotificationStyle.BigPicture
  • added: member AndroidNotificationStyle.BigText
  • added: member AndroidNotificationStyle.Default
  • added: member AndroidNotificationStyle.Inbox
  • added: member BitmapSource.Drawable
  • added: member BitmapSource.FilePath
  • added: member GroupAlertBehavior.All
  • added: member GroupAlertBehavior.Children
  • added: member GroupAlertBehavior.Summary
  • added: method AndroidInitializationSettings.toMap(): Map<String, dynamic>
  • added: method AndroidNotificationDetails.toMap(): Map<String, dynamic>
  • added: method BigPictureStyleInformation.toMap(): Map<String, dynamic>
  • added: method BigTextStyleInformation.toMap(): Map<String, dynamic>
  • added: method DefaultStyleInformation.toMap(): Map<String, dynamic>
  • added: method FlutterLocalNotificationsPlugin.getNotificationAppLaunchDetails(): Future<NotificationAppLaunchDetails>
  • added: method IOSInitializationSettings.toMap(): Map<String, dynamic>
  • added: method IOSNotificationDetails.toMap(): Map<String, dynamic>
  • added: method InboxStyleInformation.toMap(): Map<String, dynamic>
  • added: method StyleInformation.toMap(): Map<String, dynamic>
  • added: static field Importance.Default: const
  • added: static field Importance.High: const
  • added: static field Importance.Low: const
  • added: static field Importance.Max: const
  • added: static field Importance.Min: const
  • added: static field Importance.None: const
  • added: static field Importance.Unspecified: const
  • added: static field Priority.Default: const
  • added: static field Priority.High: const
  • added: static field Priority.Low: const
  • added: static field Priority.Max: const
  • added: static field Priority.Min: const
  • added: static get Importance.values
  • added: static get Priority.values
  • removed: class InitializationSettings
  • removed: ctor InitializationSettings(this.android, this.ios)
  • removed: field InitializationSettings.android: final InitializationSettingsAndroid
  • removed: field InitializationSettings.ios: final InitializationSettingsIOS
  • removed: class NotificationDetails
  • removed: ctor NotificationDetails(this.android, this.iOS)
  • removed: field NotificationDetails.android: final NotificationDetailsAndroid
  • removed: field NotificationDetails.iOS: final NotificationDetailsIOS
  • removed: class InitializationSettingsAndroid
  • removed: ctor InitializationSettingsAndroid(this.defaultIcon)
  • removed: field InitializationSettingsAndroid.defaultIcon: final String
  • removed: method InitializationSettingsAndroid.toMap(): Map<String, dynamic>
  • removed: class Importance
  • removed: class NotificationDetailsAndroid
  • removed: class Priority
  • removed: ctor Importance(this.value)
  • removed: ctor NotificationDetailsAndroid( this.channelId, this.channelName, this.channelDescription, {this.icon, this.importance = …, this.priority = …, this.style = …, this.styleInformation, this.playSound = …, this.sound, this.enableVibration = …, this.vibrationPattern, this.groupKey, this.setAsGroupSummary, this.groupAlertBehavior = …, this.autoCancel = …, this.ongoing, this.color})
  • removed: ctor Priority(this.value)
  • removed: enum GroupAlertBehavior
  • removed: enum NotificationStyleAndroid
  • removed: field Importance.value: final int
  • removed: field NotificationDetailsAndroid.autoCancel: bool
  • removed: field NotificationDetailsAndroid.channelDescription: final String
  • removed: field NotificationDetailsAndroid.channelId: final String
  • removed: field NotificationDetailsAndroid.channelName: final String
  • removed: field NotificationDetailsAndroid.color: Color
  • removed: field NotificationDetailsAndroid.enableVibration: bool
  • removed: field NotificationDetailsAndroid.groupAlertBehavior: GroupAlertBehavior
  • removed: field NotificationDetailsAndroid.groupKey: String
  • removed: field NotificationDetailsAndroid.icon: final String
  • removed: field NotificationDetailsAndroid.importance: Importance
  • removed: field NotificationDetailsAndroid.ongoing: bool
  • removed: field NotificationDetailsAndroid.playSound: bool
  • removed: field NotificationDetailsAndroid.priority: Priority
  • removed: field NotificationDetailsAndroid.setAsGroupSummary: bool
  • removed: field NotificationDetailsAndroid.sound: String
  • removed: field NotificationDetailsAndroid.style: NotificationStyleAndroid
  • removed: field NotificationDetailsAndroid.styleInformation: StyleInformation
  • removed: field NotificationDetailsAndroid.vibrationPattern: Int64List
  • removed: field Priority.value: final int
  • removed: member GroupAlertBehavior.All
  • removed: member GroupAlertBehavior.Children
  • removed: member GroupAlertBehavior.Summary
  • removed: member NotificationStyleAndroid.BigText
  • removed: member NotificationStyleAndroid.Default
  • removed: member NotificationStyleAndroid.Inbox
  • removed: method NotificationDetailsAndroid.toMap(): Map<String, dynamic>
  • removed: static field Importance.Default: const
  • removed: static field Importance.High: const
  • removed: static field Importance.Low: const
  • removed: static field Importance.Max: const
  • removed: static field Importance.Min: const
  • removed: static field Importance.None: const
  • removed: static field Importance.Unspecified: const
  • removed: static field Priority.Default: const
  • removed: static field Priority.High: const
  • removed: static field Priority.Low: const
  • removed: static field Priority.Max: const
  • removed: static field Priority.Min: const
  • removed: static get Importance.values
  • removed: static get Priority.values
  • removed: class BigTextStyleInformation extends DefaultStyleInformation
  • removed: ctor BigTextStyleInformation(this.bigText, {this.htmlFormatBigText = …, this.contentTitle, this.htmlFormatContentTitle = …, this.summaryText, this.htmlFormatSummaryText = …, bool htmlFormatContent = …, bool htmlFormatTitle = …})
  • removed: field BigTextStyleInformation.bigText: final String
  • removed: field BigTextStyleInformation.contentTitle: final String
  • removed: field BigTextStyleInformation.htmlFormatBigText: final bool
  • removed: field BigTextStyleInformation.htmlFormatContentTitle: final bool
  • removed: field BigTextStyleInformation.htmlFormatSummaryText: final bool
  • removed: field BigTextStyleInformation.summaryText: final String
  • removed: method BigTextStyleInformation.toMap(): Map<String, dynamic>
  • removed: class DefaultStyleInformation extends StyleInformation
  • removed: ctor DefaultStyleInformation(this.htmlFormatContent, this.htmlFormatTitle)
  • removed: field DefaultStyleInformation.htmlFormatContent: bool
  • removed: field DefaultStyleInformation.htmlFormatTitle: bool
  • removed: method DefaultStyleInformation.toMap(): Map<String, dynamic>
  • removed: class InboxStyleInformation extends DefaultStyleInformation
  • removed: ctor InboxStyleInformation(this.lines, {this.htmlFormatLines = …, this.contentTitle, this.htmlFormatContentTitle = …, this.summaryText, this.htmlFormatSummaryText = …, bool htmlFormatContent = …, bool htmlFormatTitle = …})
  • removed: field InboxStyleInformation.contentTitle: final String
  • removed: field InboxStyleInformation.htmlFormatContentTitle: final bool
  • removed: field InboxStyleInformation.htmlFormatLines: final bool
  • removed: field InboxStyleInformation.htmlFormatSummaryText: final bool
  • removed: field InboxStyleInformation.lines: List<String>
  • removed: field InboxStyleInformation.summaryText: final String
  • removed: method InboxStyleInformation.toMap(): Map<String, dynamic>
  • removed: class StyleInformation: abstract
  • removed: ctor StyleInformation()
  • removed: method StyleInformation.toMap(): Map<String, dynamic>
  • removed: class InitializationSettingsIOS
  • removed: ctor InitializationSettingsIOS( {this.requestAlertPermission = …, this.requestSoundPermission = …, this.requestBadgePermission = …, this.defaultPresentAlert = …, this.defaultPresentSound = …, this.defaultPresentBadge = …})
  • removed: field InitializationSettingsIOS.defaultPresentAlert: final bool
  • removed: field InitializationSettingsIOS.defaultPresentBadge: final bool
  • removed: field InitializationSettingsIOS.defaultPresentSound: final bool
  • removed: field InitializationSettingsIOS.requestAlertPermission: final bool
  • removed: field InitializationSettingsIOS.requestBadgePermission: final bool
  • removed: field InitializationSettingsIOS.requestSoundPermission: final bool
  • removed: method InitializationSettingsIOS.toMap(): Map<String, dynamic>
  • removed: class NotificationDetailsIOS
  • removed: ctor NotificationDetailsIOS( {this.presentAlert, this.presentBadge, this.presentSound, this.sound})
  • removed: field NotificationDetailsIOS.presentAlert: final bool
  • removed: field NotificationDetailsIOS.presentBadge: final bool
  • removed: field NotificationDetailsIOS.presentSound: final bool
  • removed: field NotificationDetailsIOS.sound: final String
  • removed: method NotificationDetailsIOS.toMap(): Map<String, dynamic>