Releases: microsoft/appcenter-sdk-dotnet
2.3.0-preview
This preview version adds support for .NET Core 3.0 WPF and WinForms applications for the Analytics and Crashes modules.
This preview version removes Crashes support for UWP. The App Center backend is not yet ready to process UWP crashes using the system introduced in this version. If your app relies on UWP crashes, do not update to this preview version.
App Center
WPF/WinForms
- [Fix] Fix configuration file location to be in a user-specific directory.
App Center Analytics
Windows
- [Fix] Fix reporting the incorrect device models when a placeholder was used in some cases.
WPF/WinForms
- [Feature] Add support for .NET Core 3.0 applications.
- [Fix] Optimize minimized window detection.
App Center Crashes
Android and iOS
- [Feature] Catch "low memory warning" and provide the API to check if it has happened in last session:
Crashes.HasReceivedMemoryWarningInLastSession()
.
WPF/WinForms
- [Feature] Add support for .NET Core 3.0 applications.
- [Fix] Wait to finish processing files before deleting files when calling
SetEnabledAsync(false)
during processing.
App Center Distribute
iOS
- [Fix] Obfuscate app secret value that appears as URI part in verbose logs for in-app updates.
App Center Push
Android
- [Fix] Fix confusing information log about the availability of the Firebase SDK.
- [Fix] Fix sending the push installation log after delayed start.
App Center Auth
iOS
- [Feature] App Center Auth logging now includes MSAL logs.
Android
- [Feature] App Center Auth logging now includes MSAL logs.
- [Fix] Redirect URIs are now hidden in logs.
2.2.1-preview
This preview version adds support for WPF and WinForms applications for the Analytics and Crashes modules.
This preview version removes Crashes support for UWP. The App Center backend is not yet ready to process UWP crashes using the system introduced in this version. If your app relies on UWP crashes, do not update to this preview version.
App Center
- [Breaking Change] This version is no longer compatible with PCL. Migrating to .NET standard is now required for portable libraries using the AppCenter SDK.
Android
- [Fix] Remove unsecure UUID fallback for UUID generation failures that cannot occur in reality.
WPF/WinForms
- [Feature] APIs from the
AppCenter
class can now be consumed in WPF and WinForms applications (exceptAppCenter.SetUserId
).
App Center Analytics
UWP
- [Fix] Fix validation of
TrackEvent
that was sending the event without properties instead of removing the invalid ones.
WPF/WinForms
- [Feature] Add support for WPF and WinForms.
App Center Crashes
WPF/WinForms
- [Feature] Add support for WPF and WinForms. User identification is not currently supported.
UWP
- [Breaking Change] This version introduces a breaking change where the SDK no longers register with Windows error reporting. UWP developers using the Crashes module must keep using the latest stable release (2.1.1).
iOS
- [Fix] Fix possible deadlock in
Crashes.TrackError
.
Android
- [Fix] The in-memory cache of error reports is now cleared when disabling Crashes.
App Center Push
Xamarin
- [Fix] Updated Android support packages to 28.0.0.1 version in Push module.
App Center Data
Xamarin
- [Feature] Add support for offline list of documents.
- [Feature] Change the default time-to-live (TTL) from 1 day to infinite (never expire).
- [Feature] Add
ReadOptions
parameter to thelist
API. - [Feature] Deserialization errors are now exposed through the document
Error
property (and leavingDeserializedValue
null) instead of throwing an exception. - [Feature] Serialize
null
document values.
Android
- [Fix] Allow null for
ReadOptions
andWriteOptions
parameters.
App Center Distribute
iOS
- [Fix] Fix crash when an application was minimized while trying to reinstall after setup failure.
2.1.1
2.1.0
Version 2.1.0
App Center
iOS
- [Fix] Improve encryption security.
Android
- [Fix] Handle incorrect usage of
AppCenter.setLogUrl
API to provide readable error message. - [Fix] Fix decrypting values that have been stored for more than a year (such as the in-app update token).
App Center Crashes
iOS
- [Fix] Fix a crash when tracking an exception without a message.
Android
- [Fix] Fix a crash that could sometimes occur while processing native crash reports.
App Center Distribute
Android
- [Feature] Add
Distribute.SetEnabledForDebuggableBuild(bool)
method to allow in-app updates in debuggable builds. - [Fix] Fix duplicate in-app update dialog when restarting (or switching) activity quickly after clicking download. Also fixes a crash when choosing "Ask me in a day" in the duplicate dialog.
- [Fix] Fix a crash that could occur when downloading the update with a customized dialog and then calling
Distribute.NotifyUserConfirmation(UpdateAction.Postpone)
right after callingDistribute.NotifyUserConfirmation(UpdateAction.Update)
. - [Fix] Fix a crash that could occur while trying to open the browser on some devices.
App Center Auth
- [Feature] Expose the ID Token and Access Token (as raw JWT format) in the
UserInformation
object returned from the sign-in method. - [Breaking change] The
UserInformation
class has been moved from theMicrosoft.AppCenter
namespace toMicrosoft.AppCenter.Auth
namespace.
iOS
- [Fix] Fix changing signing status may cause logs (e.g., events) to be delayed.
- [Fix] Validate custom URL scheme before starting Auth and log an error message when it is invalid.
- [Fix] Fix rare condition where a user is prompted again for their credentials instead of refreshing the token silently.
Android
- [Fix] Fix missing proguard rules so that the app does not have to specify them.
- [Fix] Fix crash on silently refreshing token if initialization of MSAL fails.
- [Fix] Fix sign-in before start auth service never ends and blocks every next try.
App Center Data
- [Fix] Fix an issue where invalid characters in the document ID are accepted at creation time but causing errors while trying to read or delete the document. The characters are
#
,\
,/
,?
, and all whitespaces.
iOS
- [Fix] Fix document serialization/deserialization to handle non string types inside an object.
2.0.0
Version 2.0.0
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
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.
App Center Data
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.
App Center Crashes
- [Fix] Fix intellisense for APIs.
Xamarin
- [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.
iOS
- [Fix] Print an error and return immediately when calling
Crashes.NotifyUserConfirmation(UserConfirmation)
with confirmation handlers not implemented.
App Center Distribute
- [Fix] Fix intellisense for APIs.
iOS
- [Fix] Starting the application with "Guided Access" enabled blocks the update flow since in-app update is not possible in this mode.
Android
- [Fix] Fix in-app updates not working on new Samsung devices.
App Center Push
- [Fix] Fix intellisense for APIs.
Xamarin
- [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
.
1.14.0
Version 1.14.0
AppCenter
iOS
- [Fix] Fix a crash in case decrypting a value failed.
Android
- [Fix] Fix network connection state tracking issue, which prevented sending data in some restricted networks.
- [Fix] Fix possible deadlock on changing network connection state.
AppCenterPush
iOS
- [Fix] Fix crash on invoking an optional push callback when it isn't implemented in the push delegate.
AppCenterDistribute
Android
- [Fix] Fix in-app updates not working on devices using Xiaomi MIUI from versions 10 and above.
1.13.2
AppCenter
- [Improvement] Add missing XML documentation in the NuGet packages.
Android
- [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.
iOS
- [Fix] Fix a possible deadlock if the SDK is started from a background thread.
- [Fix] Fix a crash if database query failed.
AppCenterDistribute
Android
- [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.
iOS
- [Fix] Fix a race condition crash on upgrading the application to newer version.
AppCenterCrashes
iOS
- [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).
1.13.0
Version 1.13.0
AppCenter
Android
-
[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.
iOS
- [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).
AppCenterAnalytics
UWP
- [Fix] Extend the current session instead of starting a new session when sending events from the background.
Android
- [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.
AppCenterDistribute
Android
- [Fix] Fix issue with forcing Chrome to open links when other browsers are the default.
1.12.0
Version 1.12.0
AppCenter
UWP
- [Fix] Update vulnerable
Microsoft.NETCore.UniversalWindowsPlatform
dependency from version5.2.2
to5.2.6
.
Android
- [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.LogLevel
. - [Fix] Fix logs duplication on unstable network.
iOS
- [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.
AppCenterCrashes
UWP
- [Fix] Downgrade the platforms verification error to a warning.
Android
- [Fix] Fix a bug where crash data file could leak when the database is full.
AppCenterPush
Android
- [Fix] Fix
PushNotificationReceived
event for pushes received in foreground after re-enabling the push service.
1.11.0
Version 1.11.0
AppCenter
iOS
- [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.
AppCenterCrashes
Android
- [Fix] Preventing stack overflow crash while reading a huge throwable file.
AppCenterPush
iOS
- [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.