Releases: katzer/cordova-plugin-local-notifications
Releases · katzer/cordova-plugin-local-notifications
Release 1.2.3
Android
- Bugfix: Make Actions persistent
- Actions were not stored persistent. If the app was killed and a notification appeared, the actions were not shown anymore.
- Fixes Issue #2090.
- Auto dismiss notifications with input action: A clear does not work on notifications with input fields. Google recommends to update the notificiation after an input was made without adding actions. The input does this and removes the notification after a short delay. Fixes Issue #2080.
- Bugfix: Use
Object.assigninstead of spread in object literals inlocal-notification.js, to make this plugin work with an Android 7 emulator, where the WebView can't be updated - Some code refactoring
Common
- Readme: Improve documenation of actions and events
Release 1.2.2
iOS
- Ignore deprecation warning about using
UNNotificationPresentationOptionAlert- XCode could give a deprecation warning about using
UNNotificationPresentationOptionAlertwhich is deprecated since iOS 14. The code is already written in such a way that it can only be used on iOS 13 and older versions. So ignore the deprecation warning.
- XCode could give a deprecation warning about using
Common
- Add plugin method
getDefaultsback- The
getDefaultsmethod was accidentally removed in version1.1.0 - Thanks to @randnetdd who reported this issue
- Fixes #2088
- The
Release 1.2.1
Android
- Bugfix: Prevent
NullPointerExceptionfor trigger and clear- It could happen, that a
NullPointerExceptionoccurred, when a notification was triggered or a user cleared a notification, because the notification data was not found any longer in theSharedPreferences
- It could happen, that a
- Bugfix: Handle crash when updating from plugin version
0.9-beta.3and notifications were already scheduled with the old plugin version.- This was due to not handling correctly the
-betain the version string0.9-beta.3when trying to convert the string to an int. Now the pre-release identifiers-devand-betawill be removed, before the version string will be converted to an int. - Fixes #2087
- This was due to not handling correctly the
- Update
meta.versionof scheduled notifications from older plugin versions to the current plugin version. So if notifications were scheduled by version1.2.0, it will be updated to1.2.1, when the app is updated.
Release 1.2.0
Common
- Bugfix: Don't filter out notifications where
trigger.atis not set: Notifications were filtered out when something other thantrigger.atwas set liketrigger.in, ortrigger.every
Release 1.1.9
Android
- Bugfix: Subsequent notifications were ignored, when posting them without
trigger.at: If notrigger.atwas set, it was set to the current time, but due shallow copying the default properties, thetrigger-property of the defaults was changed also to that time and all subsequent notifications were getting the time which resulted in being ignored.- Fixes #2082
Release 1.1.8
Contains Android changes only.
Android
- Bugfix: Handle passed
trigger.atdates: Iftrigger.atlays more then 5 seconds in the past, ignore it, otherwise keep sure, it will be posted on iOS and Android by setting the trigger time 5 seconds in the future. - Bugfix: Open app when notification clicked. The app was not opened anymore, when a notification was clicked
- Bugfix: Already posted notifications could not be updated
- Bugfix: Already posted notifications will be shown again, when the app updates or the device reboots.
- Bugfix: Setting no trigger date fired endless notifications
trigger.atwill always be set, when no trigger is set. The current time will be used astrigger.atthen.
- Bugfix:
trigger.unitandtrigger.every(String) could fail in different user locales. The value of those two properties was upper cased by String.toUpperCase() and turned after into anEnum. The methodString.toUpperCase()is locale aware and will use the current user locale to upper case the string. In Turkish, for e.g., the valueminutewould become upper cased toMİNUTEwhere the I has a dot above it and would not recognized as an Enum. Now enums will not be used anymore and the values are taken as they come from JavaScript and are expected to be lower cased likeminute,houretc.- Thanks TheNotorius0 for sharing his experiences in issue 2060 as a comment and also pahenator for initially posting the issue.
- Thanks iamAdamGoodman noting that
trigger.atwas not functioning after adding these changes in issue 2070 - Throw exception if the
triggerproperty is set wrong
- Bugfix: Use
cordova-androiddefault Kotlin support mechanism. The plugin has bypassedcordova-androiddefault Kotlin support mechanism by definingkotlin-bominlocalnotification.gradle. To enable Cordova-Android's Kotlin support, the preference flagGradlePluginKotlinEnabledis set to true inplugin.xmlandkotlin-bomwas removed. Fixes #2076 - Set default notification id to 1 instead of 0
- Code refactoring
- Renamed
DateTrigger.javatoTriggerHandler.java - Added
OptionsTriggerwhich is a helper to read the trigger properties - Split
IntervalTriggerinTriggerHandlerAt,TriggerHandlerInandTriggerHandlerEvery, to better refelect the trigger options - Rename
MatchTriggertoTriggerHandlerEvery - Remove
BuilderCreatorand move code toNotification - Move notification show code from
TriggerReceivertoNotification
- Renamed
Release 1.1.7
Fix for npm: The dev version 1.1.6-dev was accidentally published to npm and there were also problems with version 1.1.6. Correct this to 1.1.7.
Release 1.1.6
Fix for npm: The dev version 1.1.6-dev was accidentally published to npm. This will correct this as published as 1.1.6.
Release 1.1.5
Android
- Bugfix: Don't crash when getting none existent notification. Calling
cancelcould crash the app, if a notification does not exist for an id.- Fixes Issue 2064
Release v1.1.4
Android
- Restore notifications correctly from old plugin versions
- Old properties were only corrected in JavaScript, but not on Java. If an app was updated with the new plugin version and had scheduled notifications before, the notifications could be triggered with no sound and the default
smallIconwould always be used. - Fixes Issue 2059
- Old properties were only corrected in JavaScript, but not on Java. If an app was updated with the new plugin version and had scheduled notifications before, the notifications could be triggered with no sound and the default
- Refactor trigger handling
DateTrigger: Set occurrence initial to 0 (not 1)- Don't schedule all occurrences at once when
trigger.countis set. Schedule one after the other, like it's done whentrigger.countis not set - Repeating notification: Don't cancel previously posted notification, when scheduling next notification, fixes Issue 2059
- Restore a trigger date exactly like it was before the restoration
- Fallback for false
unitvalue when usingtrigger: {in: xxx, unit: 'xxx'}- Unit
minutewill be used ifunitis set wrong. - Fixes Issue 2060
- Unit
- Bugfix: Calculation of next
trigger.every: The second occurrence oftrigger.everywas calculated wrong, because the base date was not set to the last trigger date of the last occurrence but instead to the current time. Now the trigger date will be saved in theSharedPreferencesof Android and restored when the next occurrence is scheduled and calculated.- Fixes Issue 2059
- Bugfix: Only fire
addevent, if a notification was scheduled successfully. Before it could also be fired, when an error occurred and the notification was not scheduled. - Fire event
clearorcancelalways when a notification is cleared or canceled. Before it could be possible, that these events were not fired though notifications got cleared or canceled. - Code changes:
- Refactor
MatchTriggerused fortrigger: every { minute: xx, hour: xx, ...} - Remove
Request.javaand useDateTriggerdirectly in aNotification. Intialise the appropriateDateTriggerwhen aNotificationis created. - Rename
BuildertoBuilderCreatorand set the builder directly in aNotification. Don't create a Notification from the Builder.
- Refactor
Common
- Improve documentation: trigger property