Releases: katzer/cordova-plugin-local-notifications
Releases · katzer/cordova-plugin-local-notifications
Release 1.2.1
Android
- Bugfix: Prevent
NullPointerException
for trigger and clear- It could happen, that a
NullPointerException
occurred, 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.3
and notifications were already scheduled with the old plugin version.- This was due to not handling correctly the
-beta
in the version string0.9-beta.3
when trying to convert the string to an int. Now the pre-release identifiers-dev
and-beta
will be removed, before the version string will be converted to an int. - Fixes #2087
- This was due to not handling correctly the
- Update
meta.version
of 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.at
is not set: Notifications were filtered out when something other thantrigger.at
was set liketrigger.in
, ortrigger.every
Release 1.1.9
Android
- Bugfix: Subsequent notifications were ignored, when posting them without
trigger.at
: If notrigger.at
was 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.at
dates: Iftrigger.at
lays 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.at
will always be set, when no trigger is set. The current time will be used astrigger.at
then.
- Bugfix:
trigger.unit
andtrigger.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 valueminute
would become upper cased toMİNUTE
where 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
,hour
etc.- 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.at
was not functioning after adding these changes in issue 2070 - Throw exception if the
trigger
property is set wrong
- Bugfix: Use
cordova-android
default Kotlin support mechanism. The plugin has bypassedcordova-android
default Kotlin support mechanism by definingkotlin-bom
inlocalnotification.gradle
. To enable Cordova-Android's Kotlin support, the preference flagGradlePluginKotlinEnabled
is set to true inplugin.xml
andkotlin-bom
was removed. Fixes #2076 - Set default notification id to 1 instead of 0
- Code refactoring
- Renamed
DateTrigger.java
toTriggerHandler.java
- Added
OptionsTrigger
which is a helper to read the trigger properties - Split
IntervalTrigger
inTriggerHandlerAt
,TriggerHandlerIn
andTriggerHandlerEvery
, to better refelect the trigger options - Rename
MatchTrigger
toTriggerHandlerEvery
- Remove
BuilderCreator
and move code toNotification
- Move notification show code from
TriggerReceiver
toNotification
- 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
cancel
could 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
smallIcon
would 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.count
is set. Schedule one after the other, like it's done whentrigger.count
is 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
unit
value when usingtrigger: {in: xxx, unit: 'xxx'}
- Unit
minute
will be used ifunit
is set wrong. - Fixes Issue 2060
- Unit
- Bugfix: Calculation of next
trigger.every
: The second occurrence oftrigger.every
was 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 theSharedPreferences
of Android and restored when the next occurrence is scheduled and calculated.- Fixes Issue 2059
- Bugfix: Only fire
add
event, if a notification was scheduled successfully. Before it could also be fired, when an error occurred and the notification was not scheduled. - Fire event
clear
orcancel
always 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
MatchTrigger
used fortrigger: every { minute: xx, hour: xx, ...}
- Remove
Request.java
and useDateTrigger
directly in aNotification
. Intialise the appropriateDateTrigger
when aNotification
is created. - Rename
Builder
toBuilderCreator
and set the builder directly in aNotification
. Don't create a Notification from the Builder.
- Refactor
Common
- Improve documentation: trigger property
Release v1.1.3
What's Changed
- Hotfix: fix(crash):
ArrayIndexOutOfBoundsException
can occur, if the user dismisses a permission request without clicking a button by @UzverNumber47 in #2058
New Contributors
- @UzverNumber47 made their first contribution in #2058
Full Changelog: v1.1.2...v1.1.3
Release v1.1.2
What's Changed
Android
- Bugfix for input actions: Make PendingIntent for actions mutable. Fixes a crash when using input actions
- New methods for handling unused app restrictions settings
getUnusedAppRestrictionsStatus
: Gets the status of the unused app restrictions statusopenManageUnusedAppRestrictions
: Opens the settings for controlling the unused app restrictions status
iOS
- Fix warnigs when using cordova-ios 8.0.0
- Remove wrong named params from code documentation.
Common
- Improve documentation
- Issue template by @DutraGames in #2057
New Contributors
- @DutraGames made their first contribution in #2057
Full Changelog: v1.1.1...v1.1.2