Skip to content

Releases: microsoft/appcenter-sdk-dotnet

1.10.0

18 Oct 10:23
cb1dc15
Compare
Choose a tag to compare

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 calling setCustomProperties.

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

17 Oct 21:48
f4f7813
Compare
Choose a tag to compare

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

20 Jul 02:57
70fe9f9
Compare
Choose a tag to compare

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

20 Jun 00:12
f3aba9f
Compare
Choose a tag to compare

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

17 May 01:21
795b065
Compare
Choose a tag to compare

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

19 Apr 18:42
f3157b7
Compare
Choose a tag to compare

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

28 Feb 19:09
d2d7df9
Compare
Choose a tag to compare

Version 1.5.0

This version contains new features.

Android and iOS

AppCenterCrashes

  • [Feature #140] Add support for handled exceptions with Crashes.TrackError API.

AppCenterDistribute

  • [Feature] Add Session statistics for distribution group.

1.4.0

28 Feb 00:41
9f13269
Compare
Choose a tag to compare

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

30 Jan 02:47
d87a62e
Compare
Choose a tag to compare

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

23 Jan 19:39
57028e1
Compare
Choose a tag to compare

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);
        }
    }