Release Notes for Awesome Notifications Version 0.10.0
We're excited to announce the release of Awesome Notifications Version 0.10.0. This update encompasses a range of enhancements designed to improve the functionality and stability of your notification experiences on both Android and iOS platforms, as well as ensuring full compatibility with the latest Flutter developments.
Key Enhancements:
Extended Support for Flutter 3.24
Updated to Flutter 3.24: The entire Awesome Notifications framework, including the example app, has been updated to fully support Flutter 3.24. This includes adapting to new Gradle Java standards and leveraging the latest features and optimizations provided by Flutter.
Android Platform Enhancements
Android 14 and AGP 8 Support: Upgraded all dependencies and the example app for full compatibility with Android 14 and Android Gradle Plugin 8, utilizing the latest Android features and development tools.
Firebase Dependencies Updated: Updated all Firebase dependencies to support Firebase core 3.0.0, ensuring our framework integrates seamlessly with the latest Firebase improvements.
MediaPlayer Album Art Resolution Fix: Addressed an issue where album art was displaying at reduced resolution on Android 14 devices. Album artwork now renders clearly and crisply, improving the visual quality of the media player.
iOS Platform Enhancements
Resilience Against Misconfigured Notification Service Extensions: Made adjustments to enhance resilience against missing registered events caused by misconfigured Notification Service Extension targets. In such cases, events will be registered using the current date instead, avoiding crashes.
Cross-Platform Improvements
Interval Changes to Duration Type: Changed interval values from integers (seconds) to Duration type, enhancing readability and understanding of time intervals within code.
Deprecated Features
Deprecation of weekOfMonth Parameter: The weekOfMonth parameter is deprecated due to unimplemented dependencies expected in versions beyond 1.0.0. It may be reconsidered for future inclusion.
Breaking Changes
Minimum Android SDK Increased to 23: The minimum Android version supported is now Android 6.0 (Marshmallow), to utilize newer security and encryption features.
Minimum iOS Deployment Target Increased to iOS 12: The increase in iOS deployment target to iOS 12 enhances compatibility with newer iOS features and improves security and performance.
Manual Addition of Android Permissions Required: Developers must now manually declare necessary permissions in their AndroidManifest.xml to ensure full functionality of the notification features, in case they are needed:
android.permission.VIBRATE
android.permission.SCHEDULE_EXACT_ALARM
android.permission.USE_FULL_SCREEN_INTENT
android.permission.WAKE_LOCK
android.permission.FOREGROUND_SERVICE
android.permission.RECEIVE_BOOT_COMPLETED
This version represents our commitment to providing a powerful, flexible notifications framework that meets the demands of modern app development. By addressing key areas of enhancement and ensuring compatibility with the latest development standards, we aim to deliver a more reliable, feature-rich package that developers can depend on for creating engaging notification experiences.
We encourage all users to update to version 0.10.0 to take full advantage of these improvements.
Support to AGP 8: Added new proguard rules to allow SQLite database, used to capture notification events and schedules, to work with AGP 8.
Example app updated to support Flutter 3.19: The flutter example was updated to fully support Flutter 3.24 with new Gradle Java Standards.
Firebase dependencies updated: All Firebase dependencies was updated to support Firebase core 3.0.0.
Intervals changed to Duration type: The inteval value was changed from int (sec) to Duration, allowing a better understanding of time reading the code.
Documentation Updated: Documentation updated to also include AndroidManifest instructions to recreate schedules when the device is restarted.
Fixed
MediaPlayer Album Art Resolution Fix: Addressed an issue where album art was displaying at reduced resolution on Android 14 devices. Album artwork now renders clearly and crisply, improving the visual quality of the media player.
Removals
Gson Library Removal: Removed the Gson library due to compatibility issues with Android's latest releases and the R8 minification process. Transitioned to a more robust serialization framework that better supports obfuscation and modern Android versions.
Breaking changes
Minimal supported Android version increased to 23: The minimal android supported is now 23 (Android 6), since some encryption and security features rely on this minimal version.
Minimum iOS Deployment Target Increased to 12: The minimum iOS deployment target has been increased to iOS 12 to leverage newer API capabilities and enhance app security and performance.
Necessity to Manually Add Permissions in AndroidManifest.xml: Projects will now need to manually declare the following permissions in their AndroidManifest.xml in case needed:
android.permission.VIBRATE
android.permission.SCHEDULE_EXACT_ALARM
android.permission.USE_FULL_SCREEN_INTENT
android.permission.WAKE_LOCK
android.permission.FOREGROUND_SERVICE
android.permission.RECEIVE_BOOT_COMPLETED
Deprecated
weekOfMonth parameter is deprecated and scheduled for removal in a future release due to unimplemented dependencies expected in versions beyond 1.0.0. It may be reconsidered for inclusion in later versions.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps awesome_notifications from 0.9.3+1 to 0.10.0.
Release notes
Sourced from awesome_notifications's releases.
Changelog
Sourced from awesome_notifications's changelog.
Commits
5609585
Merge branch 'development'fb08f50
Merge branch 'features/add-agp-8-support' into developmentc15ffe8
Updated project to use last core packages on iOS at example app6319ace
Changelog and documentation updated to version 0.10.002a3478
Update test cases to use new Duration type and ensure high test coverage578b8e8
Update example app for Flutter 3.24 compatibilityb91a297
Example app updated to use the old App ID9bcc47b
Refactor NotificationInterval to use Duration typedf01d57
Added RECEIVE_BOOT_COMPLETED permission at example appe87ea6d
Deprecate weekOfMonth parameter in calendar modelDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show