- [Fix] Fix a crash when tracking an exception without a message.
Version 2.0.0 of the App Center SDK includes two new modules: Auth and Data.
These new modules are only supported in Xamarin (Android and iOS).
This version has a breaking change for Xamarin.iOS, it only supports Xcode 10.0.0+ and Mono 5.12+.
App Center Auth is a cloud-based identity management service that enables you to authenticate users and manage their identities. You can also leverage user identities in other App Center services.
The App Center Data service provides functionality enabling developers to persist app data in the cloud in both online and offline scenarios. This enables you to store and manage both user-specific data as well as data shared between users and across platforms.
- [Fix] Fix intellisense for APIs.
- [Feature] After calling
Auth.SignInAsync()
, the next crashes are associated with anaccountId
corresponding to the signed in user. This is a different field than theuserId
set byAppCenter.SetUserId(string)
. CallingAuth.SignOut()
stops theaccountId
association for the next crashes.
- [Fix] Print an error and return immediately when calling
Crashes.NotifyUserConfirmation(UserConfirmation)
with confirmation handlers not implemented.
- [Fix] Fix intellisense for APIs.
- [Fix] Starting the application with "Guided Access" enabled blocks the update flow since in-app update is not possible in this mode.
- [Fix] Fix in-app updates not working on new Samsung devices.
- [Fix] Fix intellisense for APIs.
- [Feature] After calling
Auth.SignInAsync()
, the push installation is associated to the signed in user with anaccountId
and can be pushed by using theaccountId
audience. This is a different field than theuserId
set byAppCenter.SetUserId(string)
. The push installation is also updated on callingAuth.SignOut()
to stop the association. - [Fix] Fix updating push installation when setting or unsetting the user identifier by calling
AppCenter.setUserId
.
- [Fix] Fix a crash in case decrypting a value failed.
- [Fix] Fix network connection state tracking issue, which prevented sending data in some restricted networks.
- [Fix] Fix possible deadlock on changing network connection state.
- [Fix] Fix crash on invoking an optional push callback when it isn't implemented in the push delegate.
- [Fix] Fix in-app updates not working on devices using Xiaomi MIUI from versions 10 and above.
- [Improvement] Add missing XML documentation in the NuGet packages.
- [Fix] The SDK normally disables storing and sending logs when SQLite is failing instead of crashing the application. New SQLite APIs were introduced in version 1.9.0 and the new API exceptions were not caught, this is now fixed.
- [Fix] Fix a possible deadlock if the SDK is started from a background thread.
- [Fix] Fix a crash if database query failed.
- [Fix] Fix exception if we receive deep link intent with setup failure before onStart.
- [Fix] Fix checking updates for applications installed on corporate-owned single-use devices.
- [Fix] Fix a race condition crash on upgrading the application to newer version.
- [Fix] Fix a crash on iOS when triggering null reference exception and starting Crashes in background. The conditon might still occur very rarely if trigger a null reference exception in another thread during the short time where the SDK configures native crash reporter. It is thus recommended to initialize AppCenter Crashes as early as possible (which is also recommended to capture early crashes).
-
[Feature] AppCenter SDK now supports the User ID string, with a maximum of 256 characters, that applies to crashes, handled errors, and push logs. Settable via
AppCenter.SetUserId()
. -
[Fix] Fix TLS 1.2 configuration for some specific devices running API level <21. The bug did not affect all devices running older API levels, only some models/brands, and prevented any data from being sent.
- [Feature] AppCenter SDK now supports the User ID string, with a maximum of 256 characters, that applies to crashes, handled errors, and push logs. Settable via
AppCenter.SetUserId()
. - [Fix] Fix issue where the SDK source could not be built in a directory that contains escaped characters (applies to all modules).
- [Fix] Extend the current session instead of starting a new session when sending events from the background.
- [Fix] Extend the current session instead of starting a new session when sending events from the background. Sessions are also no longer started in background by sending an event or a log from another service such as push, as a consequence the push registration information will be missing from crash events information.
- [Fix] Fix issue with forcing Chrome to open links when other browsers are the default.
- [Fix] Update vulnerable
Microsoft.NETCore.UniversalWindowsPlatform
dependency from version5.2.2
to5.2.6
.
- [Fix] Do not delete old logs when trying to add a log larger than the maximum storage capacity.
- [Fix] Fix disabling logging of network state changes according to AppCenter.getLogLevel.
- [Fix] Fix logs duplication on unstable network.
- [Fix] Do not delete old logs when trying to add a log larger than the maximum storage capacity.
- [Fix] Fix reporting carrier information using new iOS 12 APIs when running on iOS 12+.
- [Fix] Fix a memory leak issue during executing SQL queries.
- [Fix] Downgrade the platforms verification error to a warning.
- [Fix] Fix a bug where crash data file could leak when the database is full.
- [Fix] Fix
PushNotificationReceived
event for pushes received in foreground after re-enabling the push service.
- [Fix] Fix an issue where concurrent modification of custom properties was not thread safe.
- [Fix] Fix validating and discarding Not a Number (NaN) and infinite double values for custom properties.
- [Fix] Use standard SQL syntax to avoid affecting users with custom SQLite libraries.
- [Fix] Get database page size dynamically to support custom values.
- [Fix] Preventing stack overflow crash while reading a huge throwable file.
- [Fix] Fix
PushNotificationReceived
callback not triggered on notification tapped or received in foreground when aUNUserNotificationCenterDelegate
is set. If you have implemented this delegate please remove any call to thePush.DidReceiveRemoteNotification
method as it's now handled by the new User Notification Center Delegate Forwarder.
- [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
.
- [Fix] Add missing network request error logging.
- [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.
- [Fix] Fix the list of binary images in crash reports for arm64e-based devices.
- [Fix] Fix translation of closing a dialog in Portuguese.
- [Fix] Fix a potential deadlock that can freeze the application launch causing the iOS watchdog to kill the application.
- [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.
- [Fix] The above deadlock was mostly impacting the Crashes module.
- [Fix] Fix a crash that could happen when starting the application.
- [Fix] Fix a crash that could happen when using Push on devices behind a firewall or unstable network.
- [Fix] Fix occasional crash when checking network connectivity.
- [Fix] Fix a bug where browser would open randomly when in-app updates were already enabled.
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.
- [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.
- [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.
- [Fix] Prevent application from crashing when push setup fails due to unexpected errors.
This version contains bug fixes.
- [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.
- [Fix #670] Previous release was unintentionally requiring Mono 5.8 on iOS applications. This build issue is now fixed.
- [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.
- [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.
- [Fix] Fix reporting crash when process name cannot be determined.
- [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.
- [Fix] Fix notification text being truncated when large and now supports multi-line.
This version contains improvements and bug fixes.
- [Improvement] Analytics now allows a maximum of 20 properties by event, each property key and value length can be up to 125 characters long.
- [Fix] Fix capturing exceptions thrown directly from a .NET Thread.
- [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.
- [Fix] Fix parsing custom data for push to avoid crash in the application.
- [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.
This version contains new features.
- [Feature #140] Add support for handled exceptions with
Crashes.TrackError
API.
- [Feature] Add Session statistics for distribution group.
This version contains a new feature.
- [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.
This version has a breaking change as the SDK now requires iOS 9 or later. It also contains bug fixes and improvements.
- [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.
- [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.
- [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.
- [Improvement] Increase attachment file size limit from 1.5MB to 7MB.
- [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.
This version has a potentially breaking change (in push behavior) with bug fixes and improvements.
- [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.
- [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.
- [Improvement] Improve session tracking to get appropriate session information for crashes if an application also uses Analytics.
- [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); } }
-
- [Fix] Fix a locale issue that doesn't properly report system locale if an application doesn't support current language.
- [Improvement] Change log level to make HTTP failures more visible, and add more logs.
- [Fix #390] The SDK is now compatible with sqlite-net-pcl 1.5.* (currently in beta). It is still compatible with 1.3.*. Note that it is still not compatible with versions in the 1.4.* range due to a known issue.
- [Fix] Fix a locale issue that doesn't properly report system locale if an application doesn't support current language.
- [Improvement] HTTP warning and error logs now include more details: status code and full response body are now printed.
- [Fix] Fix a crash when sending an attachment larger than 1.4MB. The SDK is still unable to send large attachments (for Android) in this release but now it does not crash anymore. An error log is printed instead.
- [Improvement] Java exceptions caught from .NET runtime are now reported with .NET stack trace frames on the server. However the client side exception object returned by the SDK APIs will still be null and you have to look at
AndroidDetails
property to get the Java Throwable that caused this type of crash. (Java.Lang.Throwable is not serializable to a System.Exception object).
- [Fix #544] Remove message that crashes are not supported on UWP. Please note that none of the client side APIs besides
AppCenter.Start
are supported in UWP as crash reporting is provided by a system level component in Windows. Errors when registering the system level crash reporting are now also logged.
- [Improvement] Updated translations.
- [Improvement] Users with app versions that still use Mobile Center can directly upgrade to versions that use this version of App Center, without the need to reinstall.
- [Improvement] The Firebase SDK dependency is now optional. If Firebase SDK is not available at runtime, the push registers and generate notifications using only App Center SDK. The Firebase application and servers are still used whether the Firebase SDK is installed into the application or not.
- The SDK is still compatible with Firebase packages. But if you don't use Firebase besides App Center, you can now remove these packages and refer to the updated getting started instructions to migrate the set up. Migrating the push set up in the application remains optional.
- [Fix #518] Fix a crash that could occur when starting Push.
This release fixes the NuGet packages that were released for 1.0.0.
Please read the 1.0.0 release notes if you are not yet aware of this version.
Fixes from 1.0.1:
- Fix support for PCL that was broken in 1.0.0.
- Fix nuget licence acceptance.
This version contains breaking changes due to the renaming from Mobile Center to App Center. In the unlikely event there was data on the device not sent prior to the update, that data will be discarded.
Please follow the migration guide to update from an earlier version of Mobile Center SDK.
- [Fix] Don't send startService log while SDK is disabled.
- [Fix] Fix a bug where unrecoverable HTTP error wouldn't popup the reinstall app dialog after an app restart.
- [Improvement] Adding missing translations.
- [Known bug] Checking for last updates will fail if the app was updating from a Mobile Center app. A pop up will show next time the app is restarted to ask for reinstallation.
- [Fix] The view release notes button was not correctly hidden when no release notes were available.
- [Fix] Added missing translations for failed to enable in-app update dialog title and buttons. The main message, however, is not localized yet as it's extracted from a REST API text response.
- [Known issue] When updating an application that uses Mobile Center SDK using the in-app update dialog to an application version that uses AppCenter SDK version, the browser will be re-opened and will fail. User will need to re-install the application from the App Center portal.
This release include 2 bug fixes.
- [Fix] Prevents a possible crash on UWP startup #484
- [Improvement] Updates dependencies on Xamarin Firebase Push to avoid most package conflicts when updating Mobile Center Push on Android.
- [Fix] Fixes a crash when receiving a silent push in background with no message on iOS.
- Fixes from iOS SDK version 0.14.1.
This version contains bug fixes, a new API, and improvements.
- [Improvement] The NuGet packages now support .NET standard without adding extra project configuration, and the nugets remain compatible with PCL projects.
- [Feature] Added a
MobileCenter.SdkVersion
property to get the current version of Mobile Center SDK programmatically.
- [Breaking change] To support Android 8.0 applications that use
targetSdkVersion="26"
we updated the Firebase SDK dependency which forces applications to use Android 8.0 Mono frameworks.- You need to have Xamarin tools up to date, select Android 8.0 as a target framework and then make sure that in
package.config
the attribute for every package looks like this:targetFramework="monoandroid80"
and update as necessary. It's highly recommended to close Studio and clean every obj/bin folder manually in case of any build error after the update. - If you get a conflict with
Xamarin.GooglePlayServices.Basement
package, you need to update this one to prerelease version60.1142.0-beta1
(ore more recent) and retry updating the Mobile Center Push package.
- You need to have Xamarin tools up to date, select Android 8.0 as a target framework and then make sure that in
- [Fix] Fixed: prior to this release, calling
Push.SetEnabledAsync(true)
during startup could prevent UWP push registration. Please note that any call toSetEnabledAsync(true)
for any module is useless if you have not called it withfalse
before, modules are enabled by default once included in theStart
call.
Embed changes from the underlying native SDK releases:
- https://github.com/Microsoft/mobile-center-sdk-android/releases/tag/0.13.0
- https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.14.0
This release includes bug fixes for iOS from the native SDK: https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.13.0.
Please note that this release does not yet provide the .NET equivalent of the sdkVersion method introduced by the iOS change.
This release includes bug fixes for iOS from the native SDK: https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.12.3.
This release thus fixes the Mobile Center build incompatibility introduced in version 0.15.1.
This release includes bug fixes for iOS from the native SDK: https://github.com/Microsoft/mobile-center-sdk-ios/releases/tag/0.12.2
Known issue This release causes build error in Mobile Center or in environments where XCode version is lower than 9. As a consequence, this release was unlisted from nuget.org.
When you update to this release, there will be potential data loss if an application installed with previous versions of MobileCenter SDK on devices that has pending logs which are not sent to server yet at the time of the application is being updated.
- New feature: in app updates can now be received from public distribution groups.
- Fix a bug in UWP SDK where an
InvalidOperationException
could sometimes be thrown at launch time. - This release also includes changes from underlying Android and iOS SDKs of the following versions:
- Fix a bug in UWP where some crashes, especially those caused by
AggregateException
, would not be sent properly. - Fix a bug in UWP where Analytics would always emit a warning on startup.
- Reword some logs that used to look like errors when starting Mobile Center in multiple places to appear less harmful. (Issue #396).
- Improve the reliability of device screen size retrieval in UWP (used in device properties sent with logs).
- Fix a bug where getting the screen size in UWP could, in some cases, cause a crash. (Issue #398).
- Change the behavior of Analytics events so that now, when event fields exceed their capacity, they are truncated instead of dropped altogether. Limits:
- Event name maximum length: 256 characters.
- Maximum number of event properties: 5.
- Event property key maximum length: 64 characters.
- Event property value maximum length: 64 characters.
- This release also includes changes from underlying Android and iOS SDKs of the following versions:
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()
- 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:
- 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.
- 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.
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"
}
}
}
- 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:
- 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:
- 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:
- Add Push service to UWP to enable sending push notifications to your apps from the Mobile Center portal.
- Fix
ReleaseAvailable
callback in iOS to be able to customize the update dialog on iOS too. - Fix showing default update dialog after resetting
ReleaseAvailable
callback tonull
.
This version contains bug fixes, improvements and new features.
- 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.
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.
- Improve reporting and rendering of some Java
ClassNotFoundException
caught from .NET side.
- 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.
Include changes from https://github.com/Microsoft/mobile-center-sdk-android/releases/0.7.0
Include changes from https://github.com/Microsoft/mobile-center-sdk-ios/releases/0.7.0
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:
- Android
- iOS
- [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
[Breaking changes]
- Remove Crashes APIs related to attachments as it's not supported by backend yet.
Crashes.LastSessionCrashReport
property becomesCrashes.GetLastSessionCrashReportAsync()
async method.
[Bug fixes]
- Include underlying iOS SDK changes from the following releases:
- Include underlying Android SDK changes from the following releases:
- Add
MobileCenter.IsConfigured
boolean property to check for SDK already configured. - Fix issue where sdk could cause ios apps to crash while trying to handle SIGFPE signal.
- Fix a crash when starting analytics when using "Link All" in iOS.
- Fix a crash when calling
MobileCenter.InstallId
beforeMobileCenter.Configure
in Android, now returnsnull
like in the underlying SDK in that case. - Include underlying iOS SDK v0.3.4.
- Include underlying Android SDK v0.3.3.
- Fix crash that would occur when disabling Crashes service in iOS.
- Fix crash when trying to include a null ErrorAttachment in an ErrorReport.
- Log a debug message instead of crashing in UWP projects.
- Add raw stack trace information for backend processing.
- Include underlying iOS SDK v0.3.3.
- Include underlying Android SDK v0.3.2.
- Fix linker issues in iOS, you can also remove safely the
MobileCenterFrameworks
folder from iOS projects. - Fix issue where sdk could cause ios apps to crash while trying to handle signals.
- Fix a crash when starting MobileCenter on Android when "link all assemblies" is used.
- Add advanced crash features that were already available since version 0.2.0 of Android and iOS SDKs:
- Last session crash report.
- Crash callbacks.
Rename Android bindings so that they don't get used by mistake instead of the PCL.
- Rename
Initialize
toConfigure
. - Embed Android and iOS SDKs version 0.3.0.
- First release of Xamarin SDK.
- Using version 0.2.0 of underlying Android and iOS SDKs.
- Last session error report details and crash callbacks are not yet available.