appcenter-sdk-unity/RELEASE.md

21 KiB
Исходник Постоянная ссылка Ответственный История

Version 4.4.0

App Center

iOS/Android/UWP

  • [Breaking change] Remove AppCenter.SetCustomProperties API.

iOS

  • [Fix] Fix throw an exception when checking to authenticate MAC value during decryption.

Android

  • [Fix] Fix crash in AppCenterLoader during call getContext() API when an application uses a custom context for initializing SDK. Such context should contain getApplicationContext() API which must return default Android application context.

App Center Analytics

iOS/Android/UWP

  • [Feature] Add Analytics.EnableManualSessionTracker and Analytics.StartSession APIs for tracking session manually.
  • [Feature] Increase the interval between sending logs from 3 to 6 seconds for the backend load optimization.

App Center Distribute

Android

  • [Feature] Replace installing a new release using the deprecated intent action ACTION_INSTALL_PACKAGE with the PackageInstaller API.
  • [Feature] Remove the download manager task if the download doesn't start within 10 seconds.
  • [Feature] Add sumcheck on the downloaded file before starting the install process.
  • [Fix] Fix a crash after discarding the installation if the download of a new release was interrupted in the previous application start and resumed in the current one.

iOS

  • [Fix] Cancel authorization process if application is not active, otherwise ASWebAuthenticationSession will fail opening browser and update flow will end up being in a broken state. This only affects updating from a private distribution group.

Release 4.3.0

AppCenter

UWP

  • [Fix] Fix sending pending logs after the first application start.

iOS

  • [Feature] Improved AES token encryption algorithm using Encrypt-then-MAC data authentication approach.

Android

  • [Feature] Improved AES token encryption algorithm using Encrypt-then-MAC data authentication approach.

App Center Crashes

iOS

  • [Improvement] Update PLCrashReporter to 1.10.

App Center Distribute

Android

  • [Fix] Fix a rare deadlock case when a new version starts downloading and at the same moment the download status is checked.
  • [Fix] Fix passing pending intent flag for a completed download notification on Android lower then 23 API.

Release 4.2.0

AppCenter

  • [Feature] Add a AppCenter.IsNetworkRequestsAllowed API to block any network requests without disabling the SDK.
  • [Fix] Remove android:allowBackup and android:supportsRtl from AndroidManifest.xml in appcenter-loader, to prevent these attributes from merging into the final AndroidManifest.xml in a client app.

UWP

  • [Fix] Fix infinite loop when old logs cannot be purged by a new one with a different channel name in a case when the storage is full.

App Center Crashes

iOS

  • [Fix] Merge the device information from the crash report with the SDK's device information in order to fix some time sensitive cases where the reported application information was incorrect.
  • [Improvement] Update PLCrashReporter to 1.9.0.

App Center Distribute

Android

  • [Fix] Fix crash during downloading a new release when minifyEnabled settings is true.
  • [Fix] Add a missing tag android:exported to the manifest required for Android 12.

Release 4.1.1

AppCenter

iOS

  • [Improvement] Use ASWebAuthenticationSession for authentication on iOS 12 or later.

App Center Crashes

Android

  • [Fix] Fix formatting of stack trace in the ErrorReport.

App Center Distribute

Android

  • [Fix] Fix NullPointerException occurring when settings dialog was intended to be shown, but there is no foreground activity at that moment.
  • [Fix] Fix a crash when download manager application was disabled.
  • [Fix] Fix showing the title in the push notification while downloading a new release.

iOS

  • [Fix] Fix kMSACUpdateTokenRequestIdKey never gets removed.

Release 4.1.0

AppCenter

UWP

  • [Feature] Add a SetMaxStorageSizeAsync API which allows setting a maximum size limit on the local SQLite storage. The default value is 10MiB.

iOS

  • [Fix] Fix a crash when SQLite returns zero for page_size.

App Center Distribute

iOS/Android

  • [Feature] Add NoReleaseAvailable callback to distribute listener.
  • [Fix] Fix show the custom dialog update after the application start.

iOS

  • [Feature] Add WillExitApp callback to distribute listener.

Android

  • [Fix] Fix a crash when the app is trying to open the system settings screen from the background.
  • [Fix] Fix browser opening when using a private distribution group on Android 11.

App Center Crashes

Android

  • [Fix] Fix removing throwable files after rewriting error logs due to small database size.

Release 4.0.0

App Center

Android

  • [Breaking change] Bumping the minimum Android SDK version to 21 API level (Android 5.0), because old Android versions do not support root certificate authority used by App Center and would not get CA certificates updates anymore.

iOS

  • [Fix] Fix NSInvalidArgumentException when using non-string object as a key in NSUserDefaults.
  • [Fix] Fix NSDateFormatter initialization in a concurrent environment.

App Center Analytics

  • [Fix] Fix naming conflict with iOS 14 private Apple framework.

App Center Crashes

iOS

  • [Improvement] Update PLCrashReporter to 1.8.0.

App Center Push

App Center Push has been removed from the SDK and will be retired on December 31st, 2020. As an alternative to App Center Push, we recommend you migrate to Azure Notification Hubs by following the Push Migration Guide.

Release 3.3.1

App Center

iOS

  • [Fix] Fix overriding custom URLScheme in the post-build script.

App Center Analytics

iOS

  • [Fix] Fix processing logs (e.g., events) emitted from the applicationWillTerminate application delegate method.

App Center Crashes

Android/iOS

  • [Fix] Fix sending attachments with a null text value.

iOS

  • [Improvement] Update PLCrashReporter to 1.7.2.

App Center Distribute

iOS

  • [Fix] Fix manually checking for updates before applicationDidBecomeActive event.

Release 3.3.0

This version has a breaking change on iOS - it drops Xcode 10 support, Xcode 11 is a minimal supported version now.

App Center

Android

  • [Fix] Fix possible delays in UI thread when queueing a large number of events.
  • [Fix] Fix an IncorrectContextUseViolation warning when calculating screen size on Android 11.
  • [Fix] All SQL commands used in SDK are presented as raw strings to avoid any possible static analyzer's SQL injection false alarms.

iOS

  • [Fix] Fix crash when local binary data (where unsent logs or unprocessed crashed are stored) is corrupted.
  • [Fix] When carrier name is retrieved incorrectly by iOS, show nil as expected instead of "carrier" string.

App Center Analytics

iOS

  • [Fix] Fix Analytics.TrackEvent crash if event properties contain null value.

App Center Crashes

iOS

  • [Improvement] Update PLCrashReporter to 1.7.1.
  • [Fix] Fix reporting stacktraces on iOS simulator.
  • [Fix] Add attachments verification in TrackError function to handle explicitly passed null array to variable arguments parameter.

App Center Distribute

Now when Distribute is turned off in AppCenterBehavior, it is unlinked from the application, in order to avoid Google Play flagging the application for malicious behavior. It must be turned off for build variants which are going to be published on Google Play. See the public documentation for more details about this change.

Android

  • [Fix] Fix Distribute can't get updates for Realme devices which use Realme UI.

iOS

  • [Fix] Obfuscate app secret value that appears as URI part in verbose logs when getting release updates info.

Release 3.2.1

App Center

iOS

  • [Fix] Fix reporting crashes caused by a thread exception.
  • [Improvement] Use namespaced NSUserDefaults keys with the MSAppCenter prefix for all the keys set by the SDK. Fixed a few keys missing namespace.

App Center Crashes

iOS

  • [Improvement] Update PLCrashReporter to 1.6.0.

Release 3.2.0

App Center

  • [Fix] Fix SDK doesn't work without Distribute package.

iOS

  • [Fix] Add missing system dependencies that aren't implicitly included when APPCENTER_DONT_USE_NATIVE_STARTER flag is used.

UWP

  • [Fix] Fix retry sending logs after timeout exception.

App Center Crashes

  • [Fix] Remove the multiple attachments warning as that is now supported by the portal.

Android

  • [Fix] Change minidump filter to use file extension instead of name.
  • [Fix] Fix removing minidump files when the sending crash report was discarded.

iOS

  • [Improvement] Update PLCrashReporter to 1.5.1.

App Center Distribute

Android

  • [Feature] Automatically check for update when application switches from background to foreground (unless automatic checks are disabled).
  • [Fix] Fix checking for updates after disabling the Distribute module while downloading the release.

Release 3.1.0

App Center

  • [Breaking change] Bump the minimal supported Unity version from 5.6 to 2018.1.

Android

  • [Fix] Fix a Unity warning that appears when building for Android.
  • [Fix] Fix a java.lang.IllegalArgumentException: Unknown pattern character 'X' in JavaHelper.JavaDateFormatter on Android 6.
  • [Fix] Fix infinite recursion when handling encryption errors.

iOS

  • [Fix] Fix converting string with the Unicode symbols (for example in push notification).
  • [Fix] Optimization of release objects from memory during the execution of a large number of operations.
  • [Fix] Disable module debugging for release mode in the SDK to fix dSYM warnings.
  • [Fix] Fix SDK crash at application launch on iOS 12.0 (CTTelephonyNetworkInfo.serviceSubscriberCellularProviders issue).
  • [Fix] The SDK was considering 201-299 status code as HTTP errors and is now fixed to accept all 2XX codes as successful.
  • [Improvement] Replaced sqlite query concatenation with more secure bindings.

UWP

  • [Feature] Support ARM64 architecture on Unity 2019.x or above.
  • [Breaking change] Native UWP libraries require .NETStandard now, therefore .NET 3.5 scripting runtime version and .NET scripting backend are no longer supported.
  • [Fix] Fix the bug that caused Install-Id to be generated every time the application was launched.

App Center Auth

App Center Auth is retired and has been removed from the SDK.

App Center Crashes

iOS

  • [Fix] Fix an issue where Crashes could not be started because StartCrashes method was stripped for a high managed stripping level.

App Center Distribute

  • [Feature] Add UpdateTrack property to be able to explicitly set either Private or Public update track. By default, a public distribution group is used. Breaking change: To allow users to access releases of private groups you now need to migrate your application to call Distribute.UpdateTrack = UpdateTrack.Private before the SDK start. Please read the documentation for more details.
  • [Behavior change] The public distribution is simplified to provide only one public group. If you have existing public groups defined for your application your users will receive the latest version of all public groups.
  • [Feature] Add a Automatic Check For Update checkbox that can be unchecked to turn off automatic check for update.
  • [Feature] Add a CheckForUpdate API to manually check for update.

iOS

  • [Fix] Fix a crash when SFAuthenticationSession accesses the controller which is in the process of being released.
  • [Fix] Fix sign-in when switching to third-party apps while activating updates.

Android

  • [Fix] Avoid opening browser to check for sign-in information after receiving an SSL error while checking for app updates (which often happens when using a public WIFI).
  • [Fix] When in-app update permissions become invalid and need to open browser again, updates are no longer postponed after sign-in (if user previously selected the action to postpone for a day).
  • [Fix] Fix a possible deadlock when activity resumes during background operation for some Distribute public APIs like Distribute.isEnabled().

App Center Push

  • [Bug fix] Fix triggering the notification event when restarting the application from a notification.

iOS

  • [Fix] Fix an issue where Push could not be started because StartPush method was stripped for a high managed stripping level.

Release 2.6.0

Updated native SDK versions:

  • Android from 2.5.0 to 2.5.1
  • iOS from 2.5.1 to 2.5.3
  • UWP from 2.6.1 to 2.6.4

App Center

  • [Fix] Fix Unity 2019.3 iOS build ('Use of undeclared identifier' error).
  • [Fix] Fix Unity 2019.3 Android build ('Requested value X86 was not found' error).
  • [Improvement] Detect App Center SDK location automatically.
  • [Fix] Mark changes as dirty when setting up Settings in AppCenterBehavior.

App Center Crashes

Android/iOS

  • [Fix] Validate error attachment size to avoid server error or out of memory issues (using the documented limit which is 7MB).

iOS

  • [Fix] Fix to send crashes when an application was launched in background and enters foreground.
  • [Fix] Fix an issue where crash might contain incorrect data if two consecutive crashes occurred in a previous version of the application.

App Center Push

  • [Bug fix] Fix missing NotifyPushNotificationReceived callback if push notification is received from the background.
  • [Improvement] Add ability to delay native start using a scripting define symbol APPCENTER_DONT_USE_NATIVE_STARTER.

App Center Distribute

iOS

  • [Fix] Fix missing alert dialogs in apps that use iOS 13's new UIScene API (multiple scenes are not yet supported).
  • [Fix] Fix an issue where users would sometimes be prompted multiple times to sign in with App Center.

App Center Auth

iOS

  • [Fix] Fix build warnings when adding App Center Auth framework in project.

Release 2.5.1

Updated native SDK versions:

  • Android from 2.3.0 to 2.5.0
  • iOS from 2.4.0 to 2.5.1
  • UWP from 2.1.0 to 2.6.1

App Center

  • [Fix] Fix AppCenterStarter.m was not included in the first build.
  • [Fix] Fix Unity 2019.3 iOS build.

App Center Auth

  • [Fix] Fix Auth was incorrectly caching the old app secret in the manifest if it was changed.

App Center Crashes

Android

  • [Behavior change] Fix a security issue with the Exception field on ErrorReport objects. As a result, the Exception.StackTrace now holds the raw stack trace, and the Exception.Message field is null.

App Center Push

UWP

  • [Feature] Allow developers to push notifications to a specific userId.

App Center Distribute

  • [Fix] Fix line endings Unity warning in UpdateAction class.

Android

  • [Feature] Downloading in-app update APK file has been failing on Android 4.x since TLS 1.2 has been enforced early September. The file is now downloaded using HTTPS direct connection when running on Android 4 instead of relying on system's download manager.
  • [Feature] Fix a crash and improve logging when downloading an update fails on Android 5+.
  • [Behavior change] If your minSdkVersion is lower than 19, Android requires the WRITE_EXTERNAL_STORAGE permission to store new downloaded updates. Please refer to the updated documentation site for detailed instructions. This is related to the download fix.

Release 2.4.0

Updated native SDK versions:

  • iOS from 2.3.0 to 2.4.0

App Center Auth

This version of App Center Unity SDK includes a new module: Auth.

App Center Auth is a cloud-based identity management service that enables developers to authenticate application users and manage user identities. The service integrates with other parts of App Center, enabling developers to leverage the user identity to view user data in other services and even send push notifications to users instead of individual devices.

App Center Analytics

iOS

  • [Fix] Fix crash involving SDK's ms_viewWillAppear method.

Release 2.3.0

Updated native SDK versions:

  • Android from 2.2.0 to 2.3.0
  • iOS from 2.2.0 to 2.3.0
  • [Feature] Catch "low memory warning" and provide the API to check if it has happened in last session: Crashes.HasReceivedMemoryWarningInLastSessionAsync().

Android

  • [Bug fix] Fixed handling the update actions in custom update dialog in Distributed module.

Release 2.2.0

Updated native SDK versions:

  • Android from 2.1.0 to 2.2.0

  • iOS from 2.1.0 to 2.2.0

  • [Bug fix] Separeted Push logic in order to avoid ClassNotFoundException.

Release 2.1.0

Updated native SDK versions:

  • Android from 2.0.0 to 2.1.0

  • iOS from 2.0.1 to 2.1.0

  • UWP from 2.0.0 to 2.1.0

  • [Feature] Add Distribute.setEnabledForDebuggableBuild(boolean) method to allow in-app updates in debuggable builds.

  • [Bug fix] Fixed UWP build in Unity 2019

Release 2.0.0

Updated native SDK versions:

  • Android from 1.11.4 to 2.0.0
  • iOS from 1.14.0 to 2.0.1
  • UWP from 1.14.0 to 2.0.0

Breaking changes

  • “This version has a breaking change, it only supports Xcode 10.0.0+.”

Release 1.4.1

Updated native SDK versions:

  • Android from 1.11.3 to 1.11.4

  • iOS from 1.13.2 to 1.14.0

  • UWP from 1.13.2 to 1.14.0

  • [Fix] Fixed async/await operators support by SDKs methods for .NETStandard 2.0 profile

  • [Fix] Fixed iOS application crash when trying to pass exception without stack trace to Crashes.TrackError

Release 1.4.0

Updated native SDK versions:

Release 1.3.0

Breaking changes

  • Method Crashes.HasCrashedInLastSession renamed to Crashes.HasCrashedInLastSessionAsync
  • Method Crashes.LastSessionCrashReport renamed to Crashes.GetLastSessionCrashReportAsync and now returns an instance of class AppCenterTask<ErrorReport>
  • Handler for an event Crashes.FailedToSendErrorReport must now contain additional parameter with type Microsoft.AppCenter.Unity.Crashes.Models.Exception

Android

  • [Bug fix] All of the callbacks and events of the class Crashes are now correctly work on Android

iOS

  • [Bug fix] Crash error report is now contains correct information about the device
  • [Bug fix] Fix incorrect values of properties ErrorReport.AppStartTime and ErrorReport.AppErrorTime on iOS

UWP

  • [Bug fix] Hidden some of the warnings in Unity Editor console when using App Center Unity SDK
  • [Bug fix] Fix warnings in Unity Editor console when building app with IL2CPP scripting backend and XAML build type