The pre-release versions of KSCrash 2.0 have been available since September 2024. Our early adopters have successfully deployed it on millions of devices, confirming its reliability and robustness in diverse environments.
Major Updates
-
Modular Architecture: KSCrash has been restructured into modular components, allowing you to incorporate only the functionalities you require. This change improves organization and flexibility.
-
Configuration-based Setup: The setup process now utilizes dedicated configuration objects, moving away from property manipulations to enhance clarity and maintainability.
-
Swift-First API Design: Adapted the API to leverage Swift’s strengths with enhanced naming conventions and type safety for an intuitive developer experience.
-
Report Store Extraction: Reporting functionalities have been centralized into the new
KSCrashReportStore
class, streamlining management. -
Type-Safe Reports: Reports now use specific types instead of raw dictionaries, providing increased type safety and simplifying their usage.
-
Installation API Changes: Improved the installation process with more transparent error handling and refined configuration management.
-
Optional Filters and Modules: Core filters, including Doctor and Demangle, are now modular, offering precise control over feature inclusion.
New Features
-
Memory Monitoring: Comprehensive memory monitoring capabilities have been introduced, including memory footprint tracking, pressure detection, and level states indication.
-
SIGTERM Monitoring: Added support for detecting SIGTERM signals, offering more insights into app termination events.
-
App State Tracking: The new
KSCrashAppStateTracker
provides detailed monitoring of application state transitions.
Migration Guidance
Please refer to the Migration Guide for comprehensive instructions on migrating from version 1.x to 2.0. It details changes in the API, installation, and configuration processes to facilitate a smooth transition.
Change Summary from RC8
- Ensured compatibility with macOS 15 in our continuous integration setups by @GLinnik21 in #601.
- Made certain simulators are ready before executing Xcode-related tasks in our CI workflow by @bamx23 in #602.
Full Changelog: 2.0.0-rc.8...2.0.0