Better interoperability and stability improvements
This release does not introduce any breaking changes
Bug fixes:
- Plugin's database name is strictly transmitted to nSQL before each query to avoid possible conflicts with other plugins or the persistence of the host application itself.
- Task cancellation was not generating a task chain finalization event, leading to the event-driven scheduler remaining un-killed until the end of the scheduler timeout.
- Tasks are no longer prepared in parallel, meaning that if two tasks have the same preparation requirements one will fix the other instead o trying to prepare the two in parallel, thus improving app's user experience.
- Android task scheduler has been protected with a mutual execution lock, this prevents unexpected behaviors while canceling and scheduling tasks in parallel (e.g. due to coincident event triggers).
Enhancements:
- Event based task scheduler now extends its execution a few seconds after task finalization, thing that prevents the OS to start and stop the service repeatedly when multiple events raise close in an overlapping time window.
- Plugin's logger now logs error stack trace, if available.
- Plugin now uses native current time acquisition. This could lead to the scheduler being more accurate, speaking in terms of time.