plcrashreporter/CHANGELOG.md

6.8 KiB

PLCrashReporter Change Log

Version 1.11.2

  • [Improvement] Update PLCrashReporter to include privacy manifest.
  • [Improvement] Increase the maximum report size to 1MB.

Version 1.11.1

  • [Improvement] Disable treating warnings as errors in code to avoid blockers when new Xcode warnings are introduced.
  • [Improvement] Add caught exception logging to PLCrashReporter to generate reports from specific exception.
  • [Improvement] Fix Interface declarations of instance variables (OBJC_INTERFACE_IVARS) warnings.

Version 1.11.0

  • [Feature] Add Xcode 14 support. Xcode 11 and Xcode 12 are out of support now.
  • [Improvement] Fix analyzer warnings.

Version 1.10.2

  • [Fix] Config ignored shouldRegisterUncaughtExceptionHandler parameter in constructor.
  • [Improvement] Update protobuf-c to version 1.4.0.
  • [Improvement] Fix Xcode 13 deprecated build settings that might broke incremental builds (it drops workaround for Xcode's 12.0-12.4 bug). It only affects projects that use PLCrashReporter as sources.

Version 1.10.1

  • [Improvement] Specified minimum cocoapods version in podspec to 1.10.0
  • [Improvement] Mark PLCrashReporter.crashReportPath method as public.

Version 1.10.0

  • [Fix] Fix error Undefined symbols for architecture arm64 while building PLCrashReporter for simulator on Xcode 12.4 and higher.
  • [Fix] Fix Cycle in dependencies error happening when building project from sources multiple times.
  • [Feature] Distribute XCFramework via Cocoapods and Carthage. The XCFramework will contain static libs only.
  • [Fix] Include plcrashutil in all release archives

Version 1.9.0

  • [Fix] Fix double-quoted warnings in Xcode 12.
  • [Fix] Fix memory leak during stack trace unwinding.
  • [Feature] Add an API to customize data path.

Version 1.8.1


Version 1.8.0

  • Drop support of old versions of iOS and macOS. The minimal version is iOS 9 and macOS 10.9 now.
  • Add Apple Silicon support. Note that arm64 for iOS and tvOS simulators is available only in xcframework or SwiftPM.
  • Support saving custom data in crash report, see PLCrashReporter.customData property.
  • Fix exported symbols list for applying PLCRASHREPORTER_PREFIX prefix.
  • Fix Xcode 12 compatibility if the framework is used from sources.
  • Fix getting the subtype of device architecture on iOS 14.
  • Fix crash on collecting register values on arm64e devices with iOS 14.

Version 1.7.2

  • Fix building on Xcode 12 beta.
  • Use memory mapping to reduce live reports memory pressure.
  • Remove "CrashReporter Key: TODO" from text report output.
  • Add [PLCrashReporter] prefix for all log messages.

Version 1.7.1

  • Fix crash on old operating systems: macOS 10.11, iOS 9 and tvOS 9 (and older).
  • Fix duplicate symbols in applications with -all_load linker flag.
  • Fix exporting PLCrashReporter along with an application into .xcarchive.
  • Fix collecting stacktraces on arm64e devices in some cases.

Version 1.7.0

  • Drop support old versions of Xcode. The minimal version is Xcode 11 now.
  • Support Mac Catalyst.
  • Distribute .xcframework archive alongside with the other options.
  • Improve reliability of saving crash reports in case of memory corruption.
  • Fix symbolication issues with new Objective-C runtime version.
  • Add workaround for SwiftPM on Xcode 11.1 bug (SWIFT_PACKAGE is not defined) that prevents library usage on macOS.

Version 1.6.0

  • Support integration via Carthage.
  • Support integration via Swift Package Manager. Please note that this way has some limitations:
    • macOS 64-bit mach_* APIs is not available here.
    • protobuf-c symbols are not prefixed, so it can cause conflicts with other libraries.
    • Additional architectures like arm64e are not built explicitly.
  • Migrate to Automatic Reference Counting (ARC).
  • Embed required protoc-c sources instead of using submodule. No more additional steps on cloning the repo.
  • Store sources generated from *.proto files to drop protobuf-c compiler requirement for building the library. It's required only for contributors now.
  • Enable generating debug symbols for static libraries. Previously it was included only to macOS framework.
  • Fix framework targets type issue that prevents use the library as a project dependency (instead of binary distribution) in Xcode 11.
  • Fix implicit casting warnings.

Version 1.5.1

  • Fix support for Xcode 10.

Version 1.5.0

  • Drop support old versions of Xcode and iOS. The minimal versions are Xcode 10 and iOS 8 now.
  • Remove UIKit dependency on iOS.
  • Fix arm64e crash report text formatting.
  • Fix possible crash plcrash_log_writer_set_exception method when NSException instances have a nil reason.
  • Apply bit mask for non-pointer isa values on macOS x64 (used in runtime symbolication).
  • Strip pointer authentication codes on arm64e.

Version 1.4.0

  • Support macOS 10.15 and XCode 11 and drop support for macOS 10.6.
  • Add support for tvOS apps.
  • Update protobuf-c to version 1.3.2. protoc-c code generator binary has been removed from the repo, so it should be installed separately now (brew install protobuf-c). protoc-c C library is included as a git submodule, please make sure that it's initialized after update (git submodule update --init).
  • Remove outdated "Google Toolbox for Mac" dependency.
  • The sources aren't distributed in the release archive anymore. Please use GitHub snapshot instead.
  • Distribute static libraries in a second archive aside the frameworks archive.
  • Fix minor bugs in runtime symbolication: use correct bit-mask for the data pointer and correctly reset error code if no categories for currently symbolicating class.
  • Add preview support for the arm64e CPU architecture.
  • Support for arm64e devices that run an arm64 slice (which is the default for apps that were compiled with Xcode 10 or earlier).
  • Remove support for armv6 CPU architecture as it is no longer supported.
  • Improve namespacing to avoid symbol collisions when integrating PLCrashReporter.
  • Fix a crash that occurred on macOS where PLCrashReporter would be caught in an endless loop handling signals.
  • Make it possible to not add an uncaught exception handler via shouldRegisterUncaughtExceptionHandler property on PLCrashReporterConfig. This scenario is important when using PLCrashReporter inside managed runtimes, i.e. for a Xamarin app. This is not a breaking change and behavior will not change if you use PLCrashReporter.