- [Improvement] Update target iOS and tvOS version to 12.0.
- [Fix] Handle the special value (--) returned by CTCarrier after it has been depcrecated with iOS 16.
- [Improvement] Update PrivacyInfo files to include all relevant information.
- [Improvement] Update PLCrashReporter to version 1.11.2.
- [Improvement] Update App Center SDK to include privacy manifest.
- [Internal] Add
dataResidencyRegion
option. - [Fix] Mitigate the runtime pressure when starting App Center Crashes.
- [Fix] Fix the build issue with Xcode 15 beta when integrating via Swift Package Manager.
- [Fix] Fix NSLog congestion on Apple's Framework Thread.
- [Improvement] Always specify
isDirectory
parameter for[NSURL URLByAppendingPathComponent:]
for better performace. - [Improvement] Disable treating warnings as errors in code to avoid blockers when new Xcode warnings are introduced.
- [Fix] Fix Unsafe Object Deserialization.
- [Fix] Fix "Collection was mutated while being enumerated" exception in MSACChannelGroupDefault.
- [Fix] Fix crash channel:didPrepareLog in MSACChannelGroupDefault
- [Fix] Fix crash in getPresentationAnchor function if the active scene is not an instance of UIWindowScene.
- **[Feature] Add Xcode 14 support. Xcode 11 and Xcode 12 are out of support now. Bump minumum supported iOS version to iOS 11.
- [Improvement] Update PLCrashReporter to 1.11.0.
- [Fix] Fix SwiftUI Preview in Xcode 14 when adding App Center SDK through SwiftPM.
- [Improvement] Update PLCrashReporter to 1.10.2.
- [Feature] Support build via the command line
swift build
.
- [Feature] Support build via the command line
swift build
. - [Fix] Add exception null check for
Crashes.trackError
API.
- [Fix] Fix warning about broken symlink
MSACCustomProperties.h
when integrating via Swift Package Manager.
- [Breaking change] Remove
AppCenter.setCustomProperties
API. - [Fix] Fix
Undefined symbol: OBJC_CLASS$_CTTelephonyNetworkInfo
error for Mac Catalyst platform when integrating the SDK via Swift Package Manager with Swift 5.5 and higher. - [Fix] Fix throw an exception when checking to authenticate MAC value during decryption.
- [Improvement] Specified minimum cocoapods version in podspec to 1.10.0.
- [Feature] Increase the interval between sending logs from 3 to 6 seconds for the backend load optimization.
- [Feature] Add
Analytics.enableManualSessionTracker
andAnalytics.startSession
APIs for tracking session manually.
- [Feature] Add
(NSString *)description
method to convertMSACErrorReport
to a string and additional useful information about sending error. - [Feature] Save a crash report from the Xamarin.Mac platform.
- [Fix] Fix build failure on Xcode 13, because of warning
Сompletion handler is never used
. Only observable when SDK is integrated as source code. Continuation of the previous fix that fixed the issue on the beta version. - [Fix] Fix sending
Crashes.trackError
logs after allowing network requests after the launch app. - [Improvement] Update PLCrashReporter to 1.10.1.
- [Fix] Cancel authorization process if application is not active, otherwise ASWebAuthenticationSession will fail opening browswer and update flow will end up being in a broken state. This only affects updating from a private distribution group.
- [Feature] Improved
AES
token encryption algorithm usingEncrypt-then-MAC
data authentication approach.
- [Feature] Add support for tracking handled errors with
Crashes.trackError
andCrashes.trackException
APIs. - [Fix] Fix build failure on Xcode 13, because of warning
completion handler is never used
. Only observable when SDK is integrated as source code. Workaround: SetTreat Warnings as Errors
toNo
in target's build settings. - [Improvement] Update PLCrashReporter to 1.10.0.
- [Fix] Fix a warning
'Resources/AppCenterDistribute.strings': file not found
when resolving swift packages using Swift 5.5. - [Fix] Fix the part of the script which is responsible for cleanup the resource bundles inside the xcframework.
- [Fix] Fix
Undefined symbols for architecture x86_64
forASWebAuthenticationSession
for Cocoapods (v 1.11) integration.
- [Feature] Improved
AES
token encryption algorithm usingEncrypt-then-MAC
data authentication approach. - [Feature] Add a
AppCenter.networkRequestsAllowed
API to block any network requests without disabling the SDK. - [Fix] Fix umbrella header warnings in Xcode 12.5.
- [Fix] Fix error nullability in crashes delegate.
- [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.
- [Fix] Fix linking framework
AuthenticationServices
. - [Fix] Fix a warning in Distribute module that prevented using SDK as a source code on Xcode 12.5.
- [Improvement] Use ASWebAuthenticationSession for authentication on iOS 12 or later.
- [Fix] Fix Objective-C properties attributes warnings in MRC projects.
- [Fix] Fix
kMSACUpdateTokenRequestIdKey
never gets removed.
- [Fix] Fix
double-quoted
warnings in Xcode 12. - [Fix] Fix a crash when SQLite returns zero for
page_size
. - [Feature] Use XCFramework format for the binary distribution via CocoaPods. CocoaPods version 1.10+ is a requirement now.
- [Fix] Fix nullability for attachments methods in crashes delegate.
nil
is valid return value now (4.0.0 regression).
- [Feature] Add
distributeNoReleaseAvailable
callback to Distribute delegate. - [Feature] Add
distributeWillExitApp
callback to Distribute delegate. - [Feature] Add the Distribute module to Swift Package Manager. Please note that due to additional resources bundle, it requires Swift 5.3 (Xcode 12 and higher).
- [Feature] Add support for Apple Silicon to existing macOS modules (
arm64
simulators for iOS and tvOS are not supported via CocoaPods). - [Feature] [Breaking change] Make SDK API more Swift-friendly. You can find the API updates in the swift migration table.
- [Breaking change] The App Center prefix
MS
in Objective-C is consolidated toMSAC
for collision prevention. Please follow the migration guide for adopting the new naming. - [Fix] Fix
NSInvalidArgumentException
when using non-string object as a key inNSUserDefaults
. - [Fix] Fix
NSDateFormatter
initialization in a concurrent environment.
- [Improvement] Update PLCrashReporter to 1.8.0.
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.
- [Fix] Fix manually checking for updates before
applicationDidBecomeActive
event.
- [Fix] Fix compatibility with Xcode 12 beta when integrating SDK from sources.
- [Fix] Fix processing logs (e.g., events) emitted from the
applicationWillTerminate
application delegate method.
- [Improvement] Update PLCrashReporter to 1.7.2.
- [Fix] Obfuscate app secret value that appears as URI part in verbose logs when getting release updates info.
- [Fix] Update PLCrashReporter to 1.7.1 that fixes a crash on old operating systems (macOS <=10.11.x and iOS 9.x).
- [Fix] Fix reporting stacktraces on iOS and tvOS simulators.
Add support for Mac Catalyst to App Center Analytics and App Center Crashes. Also, this version has a breaking change - it drops Xcode 10 support, Xcode 11 is a minimal supported version now.
- [Feature] Add support for Mac Catalyst.
- [Fix] Fix
Undefined symbol: ___llvm_profile_runtime
when the SDK was built from source by Carthage. - [Fix] Fix building tvOS frameworks from source by Carthage.
- [Fix] Fix screen resolution detection on macOS.
- [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.
- [Feature] Add support for Mac Catalyst.
- [Feature] Add support for Mac Catalyst.
- [Improvement] Update PLCrashReporter to 1.7.0.
- Crashes module doesn't work on old operating systems: macOS <=10.11.x and iOS 9.x
- [Feature] Add support for XCFrameworks.
- [Improvement] Use namespaced
NSUserDefaults
keys with the MSAppCenter prefix for all the keys set by the SDK. Fixed a few keys missing namespace. - [Feature] Swift Package Manager support for Analytics and Crashes modules.
- [Improvement] Update PLCrashReporter to 1.6.0.
- [Improvement] Update PLCrashReporter to 1.5.1.
- [Fix] Remove the multiple attachments warning as that is now supported by the portal.
- [Feature] Add a
disableAutomaticCheckForUpdate
API that needs to be called before SDK start in order to turn off automatic check for update. - [Feature] Add a
checkForUpdate
API to manually check for update.
- [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.
- [Fix] Fix macOS SDK binaries not to contain strong copies for symbolic links.
- [Improvement] Replaced sqlite query concatenation with more secure bindings.
App Center Auth is retired and has been removed from the SDK.
- [Fix] Fix an issue to call Crashes delegate callbacks even though a modal window is being shown on macOS apps.
- [Fix] Fix an issue when React Native SDK did not send wrapperSdk information.
- [Improvement] Update PLCrashReporter to 1.4.0.
App Center Data is retired and has been removed from the SDK.
- [Feature] Add
updateTrack
property to be able to explicitly set eitherMSUpdateTrackPrivate
orMSUpdateTrackPublic
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 callMSDistribute.updateTrack = MSUpdateTrackPrivate
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.
- [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.
- [Fix] Improve log messages for errors when it failed to read/write auth token history.
- [Fix] Fix build warnings when adding App Center Auth framework in project.
- [Improvement] Report additional details for macOS exceptions thrown on the main thread.
- [Fix] Fix to send crashes when an application was launched in background and enters foreground.
- [Fix] Validate error attachment size to avoid server error or out of memory issues (using the documented limit which is 7MB).
- [Fix] Fix an issue where crash might contain incorrect data if two consecutive crashes occurred in a previous version of the application.
- [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.
- [Fix] Fix warnings in Xcode 11 when SDK is installed via CocoaPods.
- [Fix] Fix header issues with projects not using clang modules.
- [Feature] iOS and macOS extensions support.
- [Fix] Reduce retries on Data-related operations to fail fast and avoid the perception of calls "hanging".
- [Fix] Fix an issue where the optional delegate method
data:didCompletePendingOperation:forDocument:withError:
would throw an exception if not implemented (when usingMSData.setRemoteOperationDelegate
).
- [Feature] App Center now supports Carthage integration.
- [Fix] Fix token storage initialization if services are started via
[MSAppCenter startService:]
method. - [Fix] Redirect URIs are now hidden in logs.
- [Fix] Fix interactive sign in on iOS 13. Temporary fix, will be revisited in the future.
- [Feature] Updated the Microsoft Authentication Library dependency to v0.7.0.
- [Fix] Fix crash involving SDK's
ms_viewWillAppear
method.
- [Behavior change]
MSCrashesDelegate
callback methods are now invoked on the main thread (crashes:willSendErrorReport:
,crashes:didSucceedSendingErrorReport:
, andcrashes:didFailSendingErrorReport:withError:
).
- [Breaking change] Rename delegate method
data:didCompletePendingOperation:forDocument:withError:
fromMSRemoteOperationDelegate
todata:didCompleteRemoteOperation:forDocumentMetadata:withError:
.
- [Feature] App Center Auth logging now includes MSAL logs.
- [Feature] Catch "low memory warning" and provide the API to check if it has happened in last session:
MSCrashes.hasReceivedMemoryWarningInLastSession()
. - [Fix] Fix main thread checker's warning during crash processing on macOS.
- [Fix] Obfuscate app secret value that appears as URI part in verbose logs for in-app updates.
- [Feature] Now supports tvOS.
- [Feature] Add
isRunningInAppCenterTestCloud
inMSAppCenter
to provide method to check if the application is running in Test Cloud. - [Fix] Drop and recreate the database when it is corrupted.
- [Feature] Now supports tvOS.
- [Feature] Now supports tvOS.
- [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] Serialize
nil
andNSNull
document values.
- [Fix] Fix crash when an application was minimized on trying to reinstall after setup failure.
- [Fix] Remove Keychain permission pop-up on macOS.
- [Fix] Improve encryption security.
- [Feature] Support setting latency of sending events via
[MSAnalytics setTransmissionInterval:]
.
- [Feature] Expose the ID Token and Access Token JWTs in the
MSUserInformation
object passed to the sign in callback. - [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.
- [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. - [Feature] Added
setRemoteOperationDelegate
method to set a delegate to be notified of a pending operation being executed when the client device goes from offline to online.
Version 2.0.1 of the App Center SDK includes two new modules: Auth and Data. This version has a breaking change, it only supports Xcode 10.0.0+.
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. *iOS only, not available for macOS.
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. *iOS only, not available for macOS.
- [Feature] After calling
[MSAuth signInWithCompletionHandler:]
, the next crashes are associated with anaccountId
corresponding to the signed in user. This is a different field than theuserId
set by[MSAppCenter setUserId:]
. Calling[MSAuth signOut]
stops theaccountId
association for the next crashes. - [Fix] Print an error and return immediately when calling
[MSCrashes notifyWithUserConfirmation:]
with confirmation handlers not implemented.
- [Fix] Starting the application with "Guided Access" enabled blocks the update flow since in-app update is not possible in this mode.
- [Feature] After calling
[MSAuth signInWithCompletionHandler:]
, 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 by[MSAppCenter setUserId:]
. The push installation is also updated on calling[MSAuth signOut]
to stop the association. - [Fix] Fix updating push installation when setting the user identifier via
[MSAppCenter setUserId:]
.
- [Fix] Fix a crash in case decrypting a value failed.
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data on macOS. There is no impact on your current workflow when using App Center.
- [Fix] Fix crash on invoking an optional push callback when it isn't implemented in the push delegate.
- [Fix] Fix a crash if database query failed.
- [Fix] Fix a race condition crash on upgrading the application to newer version.
- [Fix] Fix a possible deadlock if the SDK is started from a background thread.
- [Feature] Add class method
+ [MSAppCenter setCountryCode:]
that allows manually setting the country code on platforms where there is no carrier information available.
- [Fix] Fix issue where the SDK source could not be built in a directory that contains escaped characters (applies to all modules).
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data. There is no impact on your current workflow when using App Center.
- [Feature] Allow users to set userId that applies to crashes, error and push logs. This feature adds an API, but is not yet supported on the App Center backend.
- [Fix] Do not delete old logs when trying to add a log larger than the maximum storage capacity.
- [Fix] Fix minimum storage size verification to match minimum possible value.
- [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] Fix a keychain permission issue on macOS applications.
- [Feature] Add preview support for arm64e CPU architecture.
- [Feature] Add preview support for arm64e CPU architecture.
- [Feature] Add preview support for arm64e CPU architecture by using PLCrashReporter 1.2.3-rc1. PLCrashReporter 1.2.3-rc1 is a fork of the official repository and can be found at https://github.com/Microsoft/PLCrashReporter. It is maintained by the App Center team and based on PLCrashReporter 1.2.1 (commit fda23306) with additional fixes and changes.
- [Feature] Add preview support for arm64e CPU architecture.
- [Feature] Add preview support for arm64e CPU architecture.
- [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.
- [Feature] Add new trackEvent APIs that take priority (normal or critical) of event logs. Events tracked with critical flag will take precedence over all other logs except crash logs (when AppCenterCrashes is enabled), and only be dropped if storage is full and must make room for newer critical events or crashes logs.
-
[Fix] Do not force crash macOS application on uncaught exception. If you need this behavior you can set the special flag yourself:
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions" : @YES }];
- [Fix] Fix
push:didReceivePushNotification:
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 theMSPush#didReceiveRemoteNotification:
method as it's now handled by the new User Notification Center Delegate Forwarder.
This version contains a bug fix for macOS.
- [Fix] Fix a regression that was introduced in 1.10.0 on macOS. It caused crash reports to contain an incomplete list of loaded binary images.
- [Fix] Add missing network request error logging.
- [Feature] Add a
setMaxStorageSize
API which allows setting a maximum size limit on the local SQLite storage.
- [Feature] Add
pause
/resume
APIs which pause/resume sending Analytics logs to App Center. - [Feature] Adding support for typed properties. Note that these APIs still convert properties back to strings on the App Center backend. More work is needed to store and display typed properties in the App Center portal. Using the new APIs now will enable future scenarios, but for now the behavior will be the same as it is for current event properties.
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data. There is no impact on your current workflow when using App Center.
- [Fix] Fix an bug where nested custom properties for an event would not pass validation.
- [Fix] Fix the list of binary images in crash reports for arm64e-based devices.
- [Fix] Fix translation of closing a dialog in Portuguese.
This version contains bug fixes and a feature.
- [Fix] Fix a potential deadlock that can freeze the application launch causing the iOS watchdog to kill the application.
- [Fix] The above deadlock was mostly impacting the Crashes module.
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data. There is no impact on your current workflow when using App Center.
This version contains bug fixes and a feature.
- [Fix] Fix in-app update occasional initialization failure caused by deletion of update token/group id on HTTP status code '0'.
- [Fix] Fix Chinese translation of "side-loading".
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data. There is no impact on your current workflow when using App Center.
This version contains a bug fix.
- [Fix] Fix duplicate symbol errors discovered when using Xamarin wrapper SDK.
This version contains a new feature and an improvement.
- [Improvement] Gzip is used over HTTPS when request size is larger than 1.4KB.
- [Feature] Preparation work for a future change in transmission protocol and endpoint for Analytics data. There is no impact on your current workflow when using App Center.
This version contains bug fixes.
- [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.
This version contains an improvement and bug fixes. Any macOS app with unsent logs prior to the update will discard these logs.
- [Fix] Fix non app store macOS apps were sharing the same DB.
- [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 enabling uncaught exception handler when a wrapper SDK is in use.
This version contains a new feature.
- [Feature] Add Session statistics for distribution group.
This version contains a new feature.
- [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 a bug fix and an improvement.
- [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.
This version has a breaking change with bug fixes and improvements.
- [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] In previous versions, it was required to add code to
application:didReceiveRemoteNotification:fetchCompletionHandler
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
application:didReceiveRemoteNotification:fetchCompletionHandler
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
application:didReceiveRemoteNotification:fetchCompletionHandler
, 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.Objective-C
BOOL result = [MSPush didReceiveRemoteNotification:userInfo]; if (result) { completionHandler(UIBackgroundFetchResultNewData); } else { completionHandler(UIBackgroundFetchResultNoData); }
Swift
let result: Bool = MSPush.didReceiveRemoteNotification(userInfo) if result { completionHandler(.newData) } else { completionHandler(.noData) }
-
This version contains a bug fix and improvements.
- [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.
- [Improvement] Add Portuguese to supported languages, see this folder for a list of supported languages.
- [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.
This version contains a bug fix that is specifically for the App Center SDK for React Native.
- [Fix] Fix an issue that impacted the App Center SDK for React Native.
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. This version introduces macOS support (preview).
- [Feature] Now supports macOS (preview).
- [Fix] Don't send startService log while SDK is disabled.
- [Feature] Now supports macOS (preview).
- [Feature] Now supports macOS (preview).
- [Feature] Now supports macOS (preview).
- [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.
This version contains bug fixes.
- [Fix] PLCrashReporter updated to v1.2.3, it fixes a recursion when processing exceptions.
- [Fix] Receiving a notification without message now forwards the message as a
nil
string instead of anNSNull
object to theMSPush
delegate.
This version contains improvements and a feature.
- [Improvement] More languages supported for localized texts, see this folder for a list of supported languages.
- [Improvement] When in-app updates are disabled because of side-loading, a new dialog will inform user instead of being stuck on a web page. Dialog actions offer ignoring in-app updates or following a link to re-install from the portal. This new dialog has texts that are not localized yet.
- [Feature] Push now registers notifications on device simulators even though iOS won't produce a push token.
This version contains bug fixes and a new API.
- [Feature] Added an
sdkVersion
method to get the current version of Mobile Center SDK programmatically. - [Fix] Fixed a database open failure when Mobile Center SDK is used with any other SQLite related libraries.
- [Fix] Fixed not sending crash logs when an application is crashed and relaunched from multitasking view.
- [Fix] Fixed sending push installation log twice after fresh install.
This version contains a bug fix when the frameworks are integrated on applications which are built on Xcode 8.
This version contains a bug fix and improvements. Verified all functionalities against iOS 11 GM.
- [Improvement] Added a millisecond precision to crash logs for more accurate log time.
- [Improvement] Improved swizzling behavior for deprecated
openURL
method if it is used by applications. - [Fix] Fixed being stuck on activating in-app update. It is back to open Safari in-app page for activation.
This version contains bug fixes.
- [Fix] Fixed missing logs sent to server on crash.
- [Fix] Workaround a bug on iOS 11 where the Safari in-app page remains stuck activating in-app update. It is now opening the Safari app.
- [Fix] Fixed update won't start until the app is explicitly closed on iOS 11.
This version contains bug fixes, an improvement and a new feature. 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.
- [Improvement] Changed to send one crash or error attachment log at a time to prevent HTTP requests become bigger.
- [Fix] Fixed database access failure when an application contains other SQLite libraries for custom database.
- [Fix] Fixed duplicated logs sent to server on crash.
- [Feature] New feature that allows to share your applications to anyone with public link.
This version contains a bug fix that wasn't properly fixed in the previous release.
- [Fix] Fixed a bug that the Crashes picked up one next session after previous crash.
This version contains bug fixes and an improvement that changes the current behavior.
- [Fix] Fix bugs that sent multiple or empty service start logs at launch time.
- [Improvement] Send truncated event name and properties instead of skipping it if its lengths are beyond the limits.
- [Fix] Fixes two bugs that caused error logs to be associated with wrong session information.
This version has a breaking change in the Crashes module and contains other bug fixes and improvements.
- [Fix] Fix a bug that caused logs to be discarded when re-enabling the sending of logs #639.
- [Misc] This release replaces the file-based persistence with a sqlite-based implementation. This change does not require any change from your side.
- [Breaking] The SDK now uses Mach Exception Handling by default. Use
[MSCrashes disableMachExceptionHandler]
/MSCrashes.disableMachExceptionHandler()
to disable that behavior.[MSCrashes enableMachExceptionHandler]
/MSCrashes.enableMachExceptionHandler()
has been removed #637.
- [Fix] Fix a crash that was related to push notifications that were not intended for Mobile Center #651.
This version contains a bug fix for crash attachments.
- [Fix] Fix crash attachments which were broken in 0.10.0.
This version has breaking changes. It contains improvements and new features.
- [Breaking] The subspecs for cocoapods are now called
Analytics
,Crashes
,Distribute
andPush
instead ofMobileCenter{MODULENAME}
.
- [Feature] It's possible to define custom properties. Custom properties can be used for various purposes, e.g. to segment users for targeted push notifications.
- [Improvement] The sdk now logs a warning in case more than two attachments have been attached to a crash.
- [Bug] Fix a potential crash that occurred in case the request for updates returned a 200 but the data was empty.
This version has breaking changes. It contains improvements and new features.
- [Feature] Mobile Center now automatically forwards your application delegate's methods to the SDK. This is made possible by using method swizzling. It greatly improves the SDK integration but there is a possibility of conflicts with other third party libraries or the application delegate itself. In this case you may want to disable the Mobile Center application delegate forwarder by adding the
MobileCenterAppDelegateForwarderEnabled
tag to your Info.plist file and set it to0
, doing so will disable application delegate forwarding for all Mobile Center services.
- [Feature] Crashes can now have attachments.
-
[Breaking] The
openUrl:
API is renamedopenURL:
and returnsYES
if the URL is intended for Mobile Center Distribute and your application,NO
otherwise. -
[Breaking] The application delegate
openURL
method(s) are now automatically forwarded to the SDK by default. The Mobile Center DistributeopenURL
can be removed from your application delegate'sopenURL
method(s). If you decide to keep it then you will have to disable the Mobile Center application delegate forwarder.
- [Breaking] The application delegate
didRegisterForRemoteNotificationsWithDeviceToken
,didFailToRegisterForRemoteNotificationsWithError
,didReceiveRemoteNotification
methods are now automatically forwarded to the SDK by default. The corresponding APIs from Mobile Center Push can be removed from your application delegate's methods. If you decide to keep them then you will have to disable the Mobile Center application delegate forwarder.
This version contains a bug fix.
- [Bug] Fix logs not sent while application is back in foreground.
This release adds the Mobile Center Push module and contains additional improvements. The various test apps now contain individual icons so they are easily distinguishable when they are installed on a device.
- [Improvement] In case the developer has turned on a more verbose log level, the whole response body is logged to the Console.
- [Improvement] We have fixed a couple of log messages that indicated that something was going wrong when setting up Mobile Center Crashes when everything was actually working as expected. This confused a lot of people.
- [Feature] This is the first release that contains Mobile Center Push.
This version contains bug fixes, improvements and new features.
- [Misc] Change Channel to handle logs based on service instead of priority.
- [Misc] Fix all compile warnings and set configuration to consider all warnings as errors.
-
[Misc] 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.
-
- [Misc] Update PLCrashReporter to 1.2.2.
- [Feature] New Distribute delegate to provide an ability of in-app update customization.
- [Feature] New default update dialog with release notes view.
This version contains some bug fixes, improvements under the hood and renamed the demo apps to Sasquatch to be consistent with the Android SDK.
- [Misc] Limit UIKit usage.
- [Bug] Fix bug in LogBuffer implementation.
- [Feature] Show an alert in case the update UI is shown but Distribute has been disabled.
- [Bug] Exit the app in case of a mandatory update on iOS 10.
- [Bug] Fixed navigation issues in Puppet app.
- [Feature] Add ViewController that allows enabling/disabling Distribute.
- [Bug]
setLogUrl
API can now be called at anytime. - [Bug] 401 HTTP errors (caused by invalid appSecret) are now considered unrecoverable and are not retried.
- [Misc] A new log is sent to server when MobileCenter is started with the list of MobileCenter services used in the application.
- [Bug] Fix session Id's toffset matching.
- [Bug] Restore log buffering and retrieving of device information from past sessions, log deduplication improved, crash logs not buffered.
- [Feature] New service called Distribute to enable in-app updates for your Mobile Center builds.
This version reverts new implementations introduced in version 0.4.2.
- [Bug] Revert recent Crashes implementations of buffering logs and retrieving device information from past sessions in version 0.4.2 due to regression.
This version has a breaking change.
- [Misc] setServerUrl method has renamed to setLogUrl.
This version has features that are related to the quality of the provided crash reports as well as improvements under the hood across all parts of the SDK.
- [Feature] Services are now initialized depending on their priority and not by the order they are passed-in during initialization.
- [Misc] OCMock has been updated to version 3.4
- [Misc] We have made improvements to code formatting throughout the project.
- [Feature] Crashes now buffers logs to make sure no logs are lost in case of a crash.
- [Feature] Crashes now retrieves the device information at the time of the crash by using a history of device information.
- [Feature] Crashes now has a property to enable the Mach exception handler. Please make sure to read the section in the readme about this feature.
This version has a bug fix.
- [Bug] Fix missing frames in thread for Crashes.
This version has breaking changes.
- [Feature] Remove attachmentWithCrashes method in Crashes delegate that is not supported by backend.
This version has bug fixes.
- [Bug] Fix crash sending failure callback, http status code now included in forwarded error.
- [Bug] Fix http tasks cancelled when expected to be suspended.
- [Misc] Display headers in logs for HTTP requests.
This version has bug fixes.
- [Bug] Change the type of toffset to prevent inaccurate time information for logs.
- [Bug] Fix not to send Crashes logs when Crashes service is disabled.
- [Bug] Fix CXXException where last exception was missing from crashing thread.
This version has bug fixes.
- [Bug] PLCrashReporter downgraded to v1.2 to fix duplicate symbols if the application already contains it.
This version has bug fixes and test application improvement.
- [Bug] Fix Channel that did not call delegate when it is disabled because of 404.
- [Bug] Fix the offset unit that was in second to millisecond.
This version has dependencies update, data model change and bug fix.
- [Feature] Add stack trace to Exception model for wrapper SDK.
- [Misc] Update OHTTPStubs to 5.2.3 and OCHamcrest to 6.0.0.
- [Misc] Change to only accept NSString keys and values in properties for trackEvent and trackPage.
- [Bug] Fix Puppet application that duplicates list of items in Crashes.
This version has some internal changes and bug fixes.
- [Feature] Add more functionalities for Swift Demo application.
- [Misc] Add more logs to provide information of SDK operations.
- [Misc] Remove UUID format restriction for app secret.
- [Feature] Add CrashProbe cases for testing.
- [Feature] Allow wrapper SDKs such as Xamarin to store additional crash data files.
- [Bug] Fix a crash issue when SDK tries to access crash data in the file system.
This is our first public release.
This version introduces breaking changes. It includes public methods renaming.
- [Breaking] Method
start:
of classMSMobileCenter
is renamedconfigureWithAppSecret:
. - [Breaking] Method
isInitilized
of classMSMobileCenter
is renamedisConfigured
.