Changelog

Answers

1.3.4 February 22, 2017

  • Fixed a race condition that could lead to a crash on launch.
  • Fixed a crash when attempting to log NaN in an event’s attributes.

1.3.3 October 14, 2016

  • Disabled background uploads on versions of iOS, macOS and tvOS where they are unstable.
  • Fixed a bug in serialization of events containing unicode characters.
  • Fixed a crash when setting excessively large price attributes on events.
  • Improved logging and error handling around network operations.
  • Addressed a retain cycle and a race condition due to an internal timer.

1.3.2: September 20, 2016

  • Fixed a retain cycle that could cause a single leak on launch.
  • Addressed a race condition that could cause an uncaught exception if the last launch crashed.

1.3.1: September 8, 2016

  • Fixed a retain cycle that could cause leaks when submitting events.

1.3.0: August 30, 2016

  • CPU/networking are now reduced when in Low Power mode on iOS, or under thermal pressure on macOS.
  • Adopted NSURLSession background uploads, making for much more efficient and reliable networking.
  • Adopted NSBackgroundActivityScheduler, which results in improved background behavior on macOS.
  • Improved compatibility for macOS apps that use Automatic Termination and Sudden Termination.
  • Improved visibility of Answers background operations by adopting NSActivity APIs.
  • Improved on-disk event storage, reducing I/O and CPU overhead.
  • Fixed a bug that could cause Answers to send a report with no events.

1.2.2: August 10, 2016

  • Updated to depend on Fabric Base 1.6.8.

1.2.1: June 9, 2016

  • Fixed a bug that would cause an exception to be thrown when failing to write to the file system.

1.2.0: February 17, 2016

  • Added tvOS support.

1.1.0: January 13, 2016

  • Added OS X support.

1.0.0: November 5, 2015

  • Answers is now available as its own kit! With Answers as its own kit, you’ll have the flexibility to use Answers as a standalone service. If you’re a Crashlytics customer, no changes are required.

Crashlytics

3.8.4 February 22, 2017

  • Add a new read-only delegate callback to be notified that the previous execution crashed.
  • Fixed a bug where custom keys were previously unreadable from the Crashlytics delegates.
  • Support for Answers 1.3.4

3.8.3: October 14, 2016

  • Support for Answers 1.3.3.
  • Fixed up a small typo in a log statement.

3.8.2: September 20, 2016

  • Support for Answers 1.3.2.

3.8.1: September 8, 2016

  • Support for Answers 1.3.1.

3.8.0: August 30, 2016

  • Support for Answers 1.3.0.

3.7.3: August 10, 2016

  • Enhancement: Improves defensiveness by validating pointers when writing Custom Keys and Logs.

3.7.2: June 23, 2016

  • Fix: Crashlytics.framework now correctly includes the run and submit executables.
  • Feature: When infinite recursion is detected, Crashlytics will now take steps to reduce the CPU and IO overhead of stack trace capture, and compress the repeating frame. This allows us to capture the function calls leading into the recursing function, which is usually far more helpful.
  • Fix: The C++ exception handler does less work in many common circumstances, which is particularly helpful when std::bad_alloc is thrown.
  • Enhancement: The original, mangled symbols from on-device symbolication are now preserved, enabling future features.
  • Enhancement: Our internal SDK logging facility has been improved, helping us find and diagnose even more cases of crash reporting failures.
  • Fix: The logging facility now records absolute times, which addresses a number of timestamp issues.

3.7.1: June 9, 2016

  • Fix: If Crashlytics cannot initialize itself because of a failure to interact with the file system, it could lead to an exception. This has been corrected. However, when initialization fails, crashes and logged errors cannot be recorded for that session.

3.7.0: February 17, 2016

  • Feature: Added tvOS support to Answers.
  • Fix: Improved stability when running on OS X 10.7.
  • Fix: Correct a rare case where libz may fail to compress crash reports before submitting. Previously we would drop the report, now we fall back to sending an uncompressed version.
  • Enhancement: Implemented retry logic to handle partial success from the write syscall. This should help address an extremely rare case of report data corruption.

3.6.0: January 13, 2016

  • Feature: Added OS X support to Answers.

3.5.0: January 7, 2016

  • Feature: Logging NSErrors is now out of Beta and ready to be used.
  • Fix: Correct a regression that can cause DWARF unwinding to fail for x86_64.
  • Fix: Correct a race condition that could happen when setting custom keys for the previous crash in the delegate callback method.

3.4.1: November 19, 2015

  • Deprecated the -OSX podspecs in favor of new streamlined podspecs called Fabric and Crashlytics that apply to iOS, OSX and tvOS.
  • The /run and /submit scripts now reside at new locations for CocoaPods projects: ${PODS_ROOT}/Fabric/run and ${PODS_ROOT}/Crashlytics/submit.
  • Adding tvOS support.

3.4.0: November 5, 2015

  • Fix: Remove a C++ static initializer that can apparently trigger a crash in some compiler-generated code.
  • Fix: CLSReport will now correctly save custom keys set before submission.
  • Fix: Remove a binary image loading workaround needed for iOS 9 beta releases.
  • Fix: Correct a bug that could prevent reading Mach-O section data correctly on iOS 9. Practically-speaking, this marginally degraded our ability to unwind on arm64.

3.3.4: October 2, 2015

  • Fix: Corrected handling of paths with spaces in run script.
  • Fix: Re-enabled some memory protection features that were left disabled in 3.3.3

3.3.3: October 1, 2015

  • Added feature tutorials
  • Fabric.app 2.0 support

3.3.1: September 11, 2015

  • Fix: Correctly embed bitcode for iOS architectures.

3.3.0: September 10, 2015

  • Feature: Adds bitcode support.
  • Compatibility: Drops support for iOS 5.
  • Fix: Split up Answers predefined event into predefined number and string.

3.2.0: September 2, 2015

  • Enhancement: Improved stack unwinding for i386 and x86_64 functions that do not create a stack frame.
  • Enhancement: Improved support for functions that require evaluating DWARF expressions to unwind correctly.
  • Fix: Fixed a bug that would prevent DWARF unwinding from working correctly on ARM64.
  • Enhancement: An OS X AppKit exception-handling check is now performed even if debugMode is disabled.
  • Fix: Provided a workaround for a header-related issue with Swift debugging.
  • Feature: Adopted Objective-C generics, when supported.
  • Fix: Removed some unnecessary code in our C++ static initializer.

3.1.1: August 25, 2015

  • Fix: Added more detail to “isCrash” property comment.
  • Enhancement: Improved the accuracy around crash report detection.
  • Fix: Renamed the property “apiKey” to “APIKey” in Crashlytics.h.

3.1.0: July 22, 2015

  • Feature: Shipped Answers Events, giving you the ability to track the specific actions and events in your app that matter most – in real time.
  • Enhancement: Improved resiliency in crash reporting by increasing defensiveness when reading memory during unwind operations.
  • Fix: Fixed an issue where calling std::terminate directly would result in a crash.

3.0.11: July 8, 2015

  • Enhancement: Increased logging speed by improving performance of CLSLog and CLSNSLog.
  • Fix: Fixed issue with extra LLVM internal symbol in static library causing duplicate symbol errors when linked alongside other code or libraries built with Bitcode enabled.

3.0.10: June 18, 2015

  • Fix: Added a workaround for an iOS 9 bug that prevented us from correctly capturing loaded libraries.
  • Enhancement: Improved performance of custom key-value and logging.
  • Enhancement: Optimized use of file protection API resulting in improved launch and logging performance.
  • Fix: Fixed a race condition around launch failure detection that could result in a crash in the CLSFileManager class.
  • Fix: Fixed a linker bug that could prevent catch or @catch from working correctly.
  • Enhancement: Custom keys will now be removed if the value is set to nil.

3.0.9: June 10, 2015

  • Fix: Addresses a launch performance regression that could cause the main thread to be blocked on a slow background operation.
  • Fix: Fixed an issue that would incorrectly default to enabling NSURLSession background uploads in extensions.
  • Enhancement: Adjusted the wording of logging messages around background uploads to be more clear.
  • Fix: Fixed a bug that could prevent one of our memory corruption defenses from being enabled.
  • Fix: Improved initialization to ensure the singleton sharedInstance is returned by all initialization patterns in Swift.

3.0.8: May 7, 2015

  • Feature: Background support submission with NSURLSession.
  • Feature: General API for recording non-native language exceptions (Lua, Javascript, C#...).
  • Feature: Support for C++ exception metadata capture (type and .what(), where available).
  • Feature: AppKit integration for much-improved NSException support on OS X.
  • Feature: Support for compact unwind and DWARF unwinding (i386, x86-64 and arm64).
  • Feature: Runtime control over submission behavior as well as the ability to add info to crashes before submission.
  • Enhancement: Adoption of NSProcessInfo’s Activity APIs for better developer visibility into Crashlytics’ internal operations.
  • Enhancement: Greatly reduced runtime memory footprint, for improved robustness against memory corruption.
  • Enhancement: Improved Swift integration with adoption of nullability attributes.
  • Enhancement: Improved diagnostics for detecting existing crash/exception handlers that will interfere with Crashlytics normal operation.
  • Enhancement: Improved defensiveness during stack unwinding.
  • Enhancement: Improved defensiveness around multiple threads crashing concurrently.
  • Enhancement: Improved behavior when submissions fail due to transient network issues, particularly on iOS 7+ and OS X 10.9+.
  • Fix: Addressed a potential reliability issue for reporting of crashes during launch.
  • Fix: Reports are no longer generated for OS X apps that spawn child processes which then crash.
  • Fix: Bug that would result in rare cases of incorrect stack unwinding for the current thread on ARMv7 and ARMv7s devices.
  • Fix: Improves the performance of validating memory reads in the trivial-fail case.
  • Fix: Adds in explicit warnings for setting the Crashlytics delegate post start.

2.2.7: November 21, 2014

  • Bug fixes

Digits

3.0.1: May 24, 2017

  • Support for future releases of TwitterCore

3.0.0: May 17, 2017

  • README update for Digits sunset

2.9.0: May 15, 2017

  • Terms of Service update due to Google’s acquisition of Fabric

2.8.0: Janunary 23, 2017

2.7.0: December 8, 2016

  • Beta release for friend invite feature

2.6.1: November 21, 2016

2.6.0: November 14, 2016

2.5.0: September 29, 2016

  • Fixed inconsistent country code attributes in Answers events for login and signup flow

2.4.0: Augest 23, 2016

2.3.0: June 24, 2016

  • Digits logger delegate support for contacts upload/lookup activities

2.2.0: June 6, 2016

  • Enhanced Answers integration to show more of the authentication funnel.
  • New Authentication delegate so developers can get insight into when each part of the auth flow funnel is entered.
  • Debug mode to stub in an automatic session or error instead of launching the Digits UI.
  • Fix for non-modular import error in CocoaPods

2.1.1: May 17, 2016

2.1.0: May 17, 2016

  • Enhanced error messages for contact upload issues
  • More verbose debug console logging

2.0.2: March 28, 2016

2.0.1: March 23, 2016

  • Fix header import of TwitterCore

2.0.0: March 23, 2016

  • Note: Digits 2.0.0 includes a number of breaking changes which includes dropping support for iOS 7.
  • Remove deprecated methods.

1.15.3: March 11, 2016

1.15.2: March 9, 2016

1.15.1: January 12, 2016

1.15.0: January 11, 2016

  • Updated translation strings
  • Fix for include non-modular header import

1.14.6: December 1, 2015

  • Fixed friend finder UI on smaller screen sizes
  • Added Digits support for tvOS

1.14.1: November 24, 2015

1.12.1: November 5, 2015

  • Improved reliability on iOS 7

1.12.0: October 19, 2015

  • Better nullability support for Swift
  • Digits email addresses feature
  • Refreshed Digits UI

1.11.4: October 6, 2015

  • Fixed issue with debugger crashing when importing Digits/Twitter Kit in Swift
  • Fixed cannot build ObjC module error for Twitter Kit/Digits

1.11.3: October 1, 2015

  • Added feature tutorials
  • Fabric.app 2.0 support

1.11.2: September 28, 2015

  • Fixed issue with contact uploading

1.11.0: September 16, 2015

  • Bitcode support

1.10.1: September 11, 2015

  • Networking fixes

1.10.0: September 10, 2015

  • Authentication and networking improvements

1.9.0: August 5, 2015

  • Voice verification
  • UINavigationController alternative to modal flow
  • Increased theming options including custom fonts and logo placement
  • iPad bug fixes

1.8.0: June 22, 2015

  • Fixed a networking bug
  • Phone number change and Session update notifications

1.7.0: June 10, 2015

  • Now making fewer network requests because we do basic form field validation client-side.
  • Only show the resend confirmation code button after 30 seconds.
  • Pin code field is now a password text field.
  • Return normalized phone number on signup and login.
  • Changed base host to api.digits.com
  • Introduce DGTOAuthSigning to generate OAuth Echo headers for Digits
  • Digits is now a separate framework

1.5.1: May 7, 2015

  • Confirmation TOS text update
  • Improved iPad support
  • Bug fix for “Check Network Connection” error message.

Fabric

1.6.11: October 28, 2016

  • Enhancement: Added macOS build notification on the first build of a new app bundle ID.

1.6.10: October 12, 2016

1.6.9: September 26, 2016

  • Fix: upload-symbols compatibility with macOS Sierra to process dSYMs.
  • Enhancement: warn when building for iOS ≤6 or macOS ≤10.7. Fabric will discontinue support for these in the future.

1.6.8: August 10, 2016

  • Enhancement: Logs a warning if Fabric +with: is incorrectly invoked multiple times.
  • Enhancement: Improves Beta support when Fabric is embedded in a dynamic library.

1.6.7: March 9, 2016

  • Enhancement: Improves tvOS App Icon uploads.
  • Enhancement: Improves Appsee’s compatibility when used in conjuction with Crashlytics.
  • Fix: Improved stability when running on OS X 10.7.

1.6.6: February 17, 2016

  • Fix: Corrects a bug that could prevent Multipart MIME encoding from succeeding if the payload contained a zero-byte file.
  • Fix: Improved stability when running on OS X 10.7.
  • Enhancement: upload-symbols tool is now bundled within the CocoaPod.

1.6.5: February 3, 2016

  • Enhancement: README now available in the CocoaPod Release.
  • Fix: Corrects a script issue that can affect projects with spaces in their paths.

1.6.4: January 20, 2016

  • Fix: Changed where Fabric preferences are stored on OS X, to comply with Mac App Store policies.

1.6.3: January 13, 2016

  • Changed where Fabric preferences are stored on OS X.

1.6.2: January 7, 2016

  • Fix: Added explicit license in headers.
  • Fix: Correct an issue that would cause the tvOS simulator name to be reported incorrectly.

1.6.0: November 5, 2015

  • Enhancement: Avoid using NSURLSession on iOS 7/OS X 10.9, which exhibits some stability problems on those OS versions.

1.5.5: October 2, 2015

  • Fix: Disabled some runtime assertions that were inadvertently enabled in 1.5.4

1.5.4: October 1, 2015

  • Fix: Corrected handling of paths with spaces in run script.

1.5.1: September 11, 2015

  • Fix: Correctly embed bitcode for iOS architectures.

1.5.0: September 10, 2015

  • Feature: Adds bitcode support.
  • Compatibility: Drops support for iOS 5.

1.4.1: September 2, 2015

  • Consolidated two internal networking class implementations for less code and more consistency.
  • Run binary can now display errors directly in the Xcode Issue Navigator.

1.4.0: August 26, 2015

  • Fabric with now supports Class objects instead of instances.

1.2.8: July 10, 2015

1.2.7: July 8, 2015

  • Improved initialization performance under a rare file system situation.

1.2.4: May 7, 2015

1.0.2: November 21, 2014