2.5.0 - May 5, 2022
Core
- [BREAKING][Android] Major target is now Android 12
- [Enhancement][Android] Bump all AndroidX libraries to next required version of Android 12 functionality
- [Enhancement] Improved boilerplate 3rd party library generation - now includes FFImageLoading
- [Enhancement] More extension methods (RX SwitchSelect, Task WithTimeout)
- [Enhancement] Internal improvements to repository
- [Enhancement] Generator now detects and initializes Xamarin.Forms.Maps
GPS
- [BREAKING] GpsAccuracy replaces Priority, Precise, Interval, ThrottledInterval, & MinimumDistance. These filters didn't work on iOS
Push
- [Android][Fix] OnEntry now works with click_action when set to SHINY_NOTIFICATION_CLICK
Push (Firebase)
- [Enhancement][iOS] Push to next major version of iOS firebase libraries
BluetoothLE
- [BREAKING][Enhancement] ManagedPeripheral has dropped ability to monitor any notification in favour of WhenNotificationReceived being a one stop shop for enabling/disabling notifications and restoring them on reconnections
- [Fix][Android] Peripheral.ReadRssi not working GH-913
- [Fix] ManagedPeripheral.WhenNotificationReceived was not checking equality properly for all characteristics GH-958
- [Fix][iOS] Service data had service UUID prefixed to the data GH-987
Bluetooth LE Hosting
- [Enhancement] MTU property now available on a connected peripheral GH-970
- [Enhancement] Service builder AddReadCharacteristic and AddWriteCharacteristic trap errors underneath the hood to send back failures to central. New signature also provides the actual central performing the action
Notifications
- [BREAKING] Badge is no longer a property - Use SetBadge (async) and GetBadge (async) instead (thank iOS for this change)
- [BREAKING] Clear is now Cancel
- [BREAKING] GetPending is now GetPendingNotifications
- [Enhancement] You can now set an ImageUri on notifications
- [Enhancement] Cancel allows for you to pass a scope of what to clear. DisplayedOnly - clears only notifications that are on the home screen. Pending - anything that has a trigger (geofence, schedule, interval). All - the default and does everything
- [Enhancement][Android] Android now uses exact timers as opposed to jobs
- [Enhancement][iOS] Channel importance now maps to iOS interruption level
- [Enhancement] Cross platform (repeatable) geofence based notifications
- [Enhancement] Ability to set thread (iOS)/group (Android) using notification.Thread
- [Enhancement][Android][iOS] Scheduled and Interval based repeatable notifications