Releases: microsoft/appcenter-sdk-dotnet
1.10.0
AppCenter
Android
- [Security] To enforce TLS 1.2 on all HTTPS connections the SDK makes, we are dropping support for API level 15 (which supports only TLS 1.0), the minimum SDK version thus becomes 16. Previous versions of the SDK were already using TLS 1.2 on API level 16+.
- [Bug fix] Fix validating and discarding
NaN
and infinite double values when callingsetCustomProperties
.
iOS
- [Fix] Add missing network request error logging.
UWP
- [Fix] Fix a crash when system or user locale cannot be read by falling back to using app locale.
- [Fix] Fix compatibility with SQLite 1.5.231.
App Center Crashes
iOS
- [Fix] Fix the list of binary images in crash reports for arm64e-based devices.
App Center Distribute
iOS
- [Fix] Fix translation of closing a dialog in Portuguese.
1.9.0
App Center
iOS
- [Fix] Fix a potential deadlock that can freeze the application launch causing the iOS watchdog to kill the application.
App Center Crashes
Android
- [Fix] Fix a bug where some initialize operations were executed twice.
- [Fix] Fix a bug where device information could be null when reading the error report client side.
iOS
- [Fix] The above deadlock was mostly impacting the Crashes module.
App Center Distribute
Android
- [Fix] Fix a crash that could happen when starting the application.
App Center Push
- [Fix] Fix a crash that could happen when using Push on devices behind a firewall or unstable network.
1.8.0
App Center
UWP
[Fix] Fix occasional crash when checking network connectivity
App Center Distribute
iOS
[Fix] Fix a bug where browser would open randomly when in-app updates were already enabled.
App Center Push
Android
The Firebase messaging SDK is now a dependency of the App Center Push SDK to be able to support Android P and also prevent features to break after April 2019 based on this announcement.
You need to follow some migration steps after updating the SDK to actually use Firebase instead of the manual registration mechanism that we are providing. The non Firebase mechanism still works after updating the SDK but you will see a deprecation message, but this will not work on Android P devices until you migrate.
After updating the app to use Firebase, you will also no longer see duplicate notifications when uninstalling and reinstalling the app on the same device and user.
1.7.0
Version 1.7.0
AppCenter
Android
- [Improvement] Enable TLS 1.2 on API levels where it's supported but not enabled by default (API level 16-19, this became a default starting API level 20). Please note we still support Android API level 15 and it uses TLS 1.0.
- [Improvement] Gzip is used over HTTPS when request size is larger than 1.4KB.
- [Fix] Fix a crash when disabling a module at the same time logs are sent.
- [Fix] Fix pretty print JSON in Android P when verbose logging is enabled.
AppCenterCrashes
UWP
- [Fix #543] Fix warning "The referenced component 'Microsoft.AppCenter.Crashes.dll' could not be found". You might need to clean solution and package cache after updating nuget to resolve the warning for good.
AppCenterPush
UWP
- [Fix] Prevent application from crashing when push setup fails due to unexpected errors.
1.6.1
Version 1.6.1
This version contains bug fixes.
AppCenter
Android
- [Fix] Fix a crash when network state changes at same time as SDK initializing.
- [Fix #664] Fix crashes when trying to detect we run on instrumented test environment.
- [Fix #649] Fix a deadlock when setting wrapper SDK information or setting log url while other channel operations performed such as when Crashes is starting.
iOS
- [Fix #670] Previous release was unintentionally requiring Mono 5.8 on iOS applications. This build issue is now fixed.
UWP
- [Fix #613] When marking an unhandled exception as handled, the SDK was shutting down and no further log could be sent. This is now fixed.
AppCenterCrashes
Xamarin
- [Fix] Fix a crash when calling
Crashes.TrackError
exception parameter with null, now prints an error instead. - [Fix] Fix a SDK crash while saving original crash if SDK cannot serialize the exception for client side inspection (with an exception that is not SerializableException).
- [Fix] When looking at
(await Crashes.GetLastSessionCrashReportAsync()).Exception
or when using the sending callbacks, the Exception object is now null instead of containing a serialization exception (on failure to get original exception object after restart). This is only for client side inspection, the crash stack trace is correctly reported to the server in all scenarios.
Android
- [Fix] Fix reporting crash when process name cannot be determined.
iOS
- [Fix] Fix an issue in breadcrumbs feature when events are being tracked on the main thread just before a crash.
- [Fix] Fix an issue with cached logs for breadcrumbs feature which are sometimes not sent during app start.
AppCenterPush
Android
- [Fix] Fix notification text being truncated when large and now supports multi-line.
1.6.0
Version 1.6.0
This version contains improvements and bug fixes.
Android, iOS and UWP
Analytics
- [Improvement] Analytics now allows a maximum of 20 properties by event, each property key and value length can be up to 125 characters long.
Android
Crashes
- [Fix] Fix capturing exceptions thrown directly from a .NET Thread.
Push
- [Feature] Configure default notification icon and color using meta-data.
- [Fix] Fixes the google.ttl field being considered custom data.
- [Fix] Fixes push notification not displayed if Google Play Services too old on the device (#630).
- [Fix] Don't crash the application when invalid notification color is pushed.
iOS
Push
- [Fix] Fix parsing custom data for push to avoid crash in the application.
UWP
Analytics
- [Fix] Fix session identifier when renewing session after background or after re-enabling SDK.
- [Fix] Avoid using tasks in background that can hang, use timers instead. Related to #517.
- [Fix] Fix storage exception catching so that they don't crash the app.
- [Fix] Fix some stability issues in the https sending logic.
1.5.0
1.4.0
Version 1.4.0
This version contains a new feature.
Android and iOS
AppCenterDistribute
- [Feature] Use tester app to enable in-app updates if it's installed.
- [Feature] Add reporting of downloads for in-app update.
- [Improvement] Add distribution group to all logs that are sent.
1.3.0
Version 1.3.0
This version has a breaking change as the SDK now requires iOS 9 or later. It also contains bug fixes and improvements.
iOS
AppCenter
- [Improvement] Successful configuration of the SDK creates a success message in the console with log level INFO instead of ASSERT. Errors during configuration will still show up in the console with the log level ASSERT.
AppCenterCrashes
- [Fix] Fix an issue where crashes were not reported reliably in some cases when used in Xamarin apps or when apps would take a long time to launch.
Android
AppCenter
- [Fix] Fix events association with crashes.
- [Fix] Fix network state detection.
- [Fix] Don't retry sending logs on HTTP error 429.
- [Fix] Some logs were not sent or discarded correctly on AppCenter enabled/disabled state changes.
AppCenterCrashes
- [Improvement] Increase attachment file size limit from 1.5MB to 7MB.
AppCenterPush
- [Fix] Fix a crash on Android 8.0 (exact version, this does not happen in 8.1) where having an adaptive icon (like launcher icon) would cause crash of the entire system U.I. on push. On Android 8.0 we replace the adaptive icon by a placeholder icon (1 black pixel) to avoid the crash, starting Android 8.1 the adaptive icon is displayed without fallback.
1.2.0
Version 1.2.0
This version has a potentially breaking change (in push behavior) with bug fixes and improvements.
UWP
AppCenter
- [Fix] The network loss detection code was missing some scenarios.
- [Fix] Disabling the SDK could send extra logs and could also discard logs supposed to be sent when re-enabled.
iOS
AppCenter
- [Fix] Fix an issue that enables internal services even if App Center was disabled in previous sessions.
- [Fix] Fix an issue not to delete pending logs after maximum retries.
AppCenterCrashes
- [Improvement] Improve session tracking to get appropriate session information for crashes if an application also uses Analytics.
AppCenterPush
-
[Fix] Fix "Missing Push Notification Entitlement" warning message after uploading an application to TestFlight and publishing to App Store.
-
[Improvement] (Breaking Change) In previous versions, it was required to add code to
DidReceiveRemoteNotification
callback in your application delegate if you or 3rd party libraries already implemented this callback. This is no longer necessary.
This is a breaking change for some use cases because it required modifications in your code. Not changing your implementation might cause push notifications to be received twice.- If you don't see any implementation of
DidReceiveRemoteNotification
callback in your application delegate, you don't need to do anything, there is no breaking change for you. - If you want to keep automatic forwarding disabled, you also don't need to do anything.
- If your application delegate contains implementation of
DidReceiveRemoteNotification
, you need to remove the following code from your implementation of the callback. This is typically the case when you or your 3rd party libraries implement the callback.
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, System.Action<UIBackgroundFetchResult> completionHandler) { var result = Push.DidReceiveRemoteNotification(userInfo); if (result) { completionHandler?.Invoke(UIBackgroundFetchResult.NewData); } else { completionHandler?.Invoke(UIBackgroundFetchResult.NoData); } }
- If you don't see any implementation of