Releases: microsoft/appcenter-sdk-dotnet
0.14.0
Async APIs and Android strict mode
This release focuses on fixing Android strict mode issues (including Android 8 ones).
Since strict mode checks if you spend time reading storage on U.I. thread we had to make the following APIs asynchronous and is thus a breaking change on PCL and all targets:
{AnyClass}.Enabled
is now split intoGetEnabledAsync()
andSetEnabledAsync(bool)
MobileCenter.InstallId
is nowMobileCenter.GetInstallIdAsync()
Crashes.HasCrashedInLastSession
is nowCrashes.HasCrashedInLastSessionAsync()
Other changes
Android
- The Android crash reporting is now compatible with debugger attached (you need to continue execution after exception), Hockey App for Xamarin (only if initialized like getting started suggests) and
XA_BROKEN_EXCEPTION_TRANSITIONS=true
. This change is for Android only. - This release also includes changes from underlying Android SDK of the following versions:
iOS
- Fix null argument exceptions when passing null arguments to most APIs, an error is logged instead now.
- This release also includes changes from underlying iOS SDK:
- Xamarin SDK calls
MSCrashes.disableMachExceptionHandler()
automatically as it's not suitable in Xamarin environment.
UWP
- Fix various race conditions.
- Fix screen size reporting.
- Fix a bug where U.I. could be blocked for a long time when initializing push.
- Fix null reference exception when calling
SetCustomProperties
beforeStart
, now logs an error.
0.13.1
Roll back version 0.13.0 .NET standard change for portable libraries due to reported issues with it.
Also, version 0.13.0 was adding unnecessary packages to Android and iOS projects, and they can now be safely uninstalled. You will find a list of these unnecessary packages in the packages.config file attached to this release.
If your portable project is using .NET standard, you can still use our nugets by adding this to your project.json file:
"frameworks": {
"netstandard1.{DotNETStandardVersion}": {
"imports": "portable-net45+win8+wpa81"
}
}
After the dependencies section.
Example:
{
"dependencies": {
"Microsoft.Azure.Mobile.Analytics": "0.13.1",
"Microsoft.Azure.Mobile.Crashes": "0.13.1",
"Microsoft.Azure.Mobile.Distribute": "0.13.1",
"Microsoft.Azure.Mobile.Push": "0.13.1",
"NETStandard.Library": "1.6.1"
},
"frameworks": {
"netstandard1.0": {
"imports": "portable-net45+win8+wpa81"
}
}
}
0.13.0
- Add
MobileCenter.SetCustomProperties
method to enable audience segmentation with push notifications. - Fix a bug in UWP where logs would be mishandled on a network outage.
- Move initialization of
HttpClient
class to a background thread in UWP. - Fix bug in UWP SDK where starting
MobileCenter
from another place thanOnLaunched
sometimes crashed. Also removed the error log, now you can init the SDK in constructor too if you prefer. - Fix various race conditions in UWP.
- Fix a bug where 2 sessions could be reported at once when resuming from background (UWP and Android).
- Add a new Android specific method
Push.CheckLaunchedFromNotification
to use inOnNewIntent
iflaunchMode
of the activity is not standard to fix push listener when clicking on background push and recycling the activity. - Switch from PCL to .NET Standard for the portable projects.
- This release also includes changes from underlying Android and iOS SDKs of the following versions:
0.12.0
- Add capability to attach data to crash reports (via the
Crashes.GetErrorAttachments
callback) on Xamarin. - Fix a crash on old Xamarin.Android versions where mono version could not be read (
System.IndexOutOfRangeException
when callingStart
). - Fix push event on UWP.
- Fix
Push.Enabled
property behavior on UWP. - This release also includes changes from underlying Android and iOS SDKs of the following versions:
0.11.1
-
Add Push service to Xamarin.Android and Xamarin.iOS to enable sending push notifications to your apps from the Mobile Center portal.
-
This release also includes changes from underlying Android and iOS SDKs of the following versions:
0.10.0
0.9.2
0.9.1
This version contains bug fixes, improvements and new features.
MobileCenter
- Add method to manually set the country code in UWP apps:
MobileCenter.SetCountryCode(string)
. - Fix a bug where installing the Mobile Center NuGet packages can cause Mobile Center types not to appear in Intellisense.
- Use another sqlite package dependency in UWP.
- Add xamarin runtime version in logs sent to backend.
Analytics
Events have some validation and you will see the following in logs:
-
An error if the event name is null, empty or longer than 256 characters (event is not sent in that case).
-
A warning for invalid event properties (the event is sent but without invalid properties):
- More than 5 properties per event (in that case we send only 5 of them and log warnings).
- Property key null, empty or longer than 64 characters.
- Property value null or longer than 64 characters.
Crashes
- Improve reporting and rendering of some Java
ClassNotFoundException
caught from .NET side.
Distribute
- New distribute callback to provide an ability of in-app update customization (on Android only for now).
- New default update dialog with release notes view.
Android
Include changes from https://github.com/Microsoft/mobile-center-sdk-android/releases/0.7.0
iOS
Include changes from https://github.com/Microsoft/mobile-center-sdk-ios/releases/0.7.0
0.8.1
This release introduces the following features:
- Distribute module for Xamarin.iOS and Xamarin.Android.
- Analytics module support for UWP platform.
Those 2 features works also when using PCL and Xamarin Forms.
This release also includes changes from underlying Android and iOS SDKs of the following versions:
0.7.0
- [Feature] Can now initialize the SDK with multiple app secrets for different platforms (Android vs iOS) in the same
Start
call. No need to split the initialization betweenStart
andConfigure
anymore. Just useMobileCenter.Start("android={androidAppSecret};ios={iosAppSecret}", typeof(Analytics), typeof(Crashes));
for example. - [Bug fix] Fix a crash happening on iOS devices before iOS 10 when reading
MobileCenter.InstallId
property. - [Misc] Renamed
SetServerUrl
toSetLogUrl
. - [iOS] Include underlying iOS SDK changes from the following releases:
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.5.1
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.5.0
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.4.2
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.4.1
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.4.0