Releases: kstenerud/KSCrash
2.0.0
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
2.0.0-RC.8
What's Changed
Full Changelog: 2.0.0-rc.7...2.0.0-rc.8
2.0.0-RC.7
What's Changed
- Fix Heap Buffer Overflow in
userinfo
by @NesterovichAlexey in #591
Full Changelog: 2.0.0-rc.6...2.0.0-rc.7
2.0.0-RC.6
2.0.0-RC.5
What's Changed
- Fix CocoaPods lint by @bamx23 in #585
- Use CocoaPods >= 1.16.1 by @bamx23 in #586
- Add reportCleanupPolicy to KSCrashReportStoreConfiguration by @bamx23 in #583
- Fix installations subclassing by @bamx23 in #584
- Ensure crashed thread is present in the report by @bamx23 in #587
Full Changelog: 2.0.0-rc.4...2.0.0-rc.5
2.0.0-RC.4
2.0.0-RC.3
With this release candidate, we continue to refine KSCrash, focusing on improving development processes, fixing compatibility issues, and enhancing the overall project structure as we approach the full 2.0 release.
What's Changed
- Project Management: Added issue templates to streamline the process of reporting bugs and requesting features by @GLinnik21 in #569.
- Sample Apps Enhancement: Added deployment targets to sample projects, improving consistency and ease of use across different platforms by @bamx23 in #570.
- Testing Infrastructure: Fixed integration tests for Xcode 16, ensuring compatibility with the latest development tools by @bamx23 in #571.
- Compatibility Fix: Resolved include statement in KSCrashCConfiguration.h to prevent conflicts with React Native projects by @NesterovichAlexey in #572.
New Contributors
- @NesterovichAlexey made their first contribution in #572
Full Changelog: 2.0.0-rc.2...2.0.0-rc.3
2.0.0-RC.2
With this release candidate, we're continuing to focus on stability and minor improvements leading up to the full 2.0 release, addressing compatibility issues and enhancing our build process.
What's Changed
- Compatibility Fix: Resolved import error in Xcode 16 by adding
#include <limits.h>
to fixINT_MAX
issue by @xdkhan in #564. - CI/CD Enhancement: Updated xcodebuild action to use mxcl/xcodebuild, improving our continuous integration process by @bamx23 in #563.
- Compatibility Fix: Addressed
_ucontext64.h
include issue in Xcode 16, ensuring smooth compilation across different Xcode versions by @bamx23 in #565.
New Contributors
Full Changelog: 2.0.0-rc.1...2.0.0-rc.2
2.0.0-RC.1
With this release candidate, we're aiming to freeze the API and focus on stability and minor improvements leading up to the full 2.0 release.
What's Changed
- Bug Fix: Resolved
ERROR:
log issue during report parsing when no user data was present by @GLinnik21 in #555. - API Enhancement: Conducted a comprehensive API review, improving Swift compatibility and removing redundancies. This ensures a more robust and user-friendly interface as we approach the 2.0 release by @GLinnik21 in #556.
- Modular Design: Made the Doctor component an optional filter, allowing for more flexible configuration options by @bamx23 in #559
Full Changelog: 2.0.0-alpha.7...2.0.0-rc.1
2.0.0-alpha.7
What's Changed
- Configuration Enhancement: Moved install path to config, improving flexibility in setup by @bamx23 in #536
- API Improvement: Added reports-only setup API, allowing for more granular control over crash reporting by @bamx23 in #548
- Bug Fix: Resolved
objc_debug_tag60_permutations
dynamic linking issue, enhancing compatibility by @GLinnik21 in #550 - Version Format Update: Updated crash reports version format for better tracking by @GLinnik21 in #551
- Architecture Refactor: Extracted report store API, improving modularity and ease of maintenance by @bamx23 in #549
- API Simplification: Removed "completed" flag from reporting API, streamlining the reporting process by @bamx23 in #553
- Bug Fix: Corrected report count property, ensuring accurate reporting statistics by @bamx23 in #554
Full Changelog: 2.0.0-alpha.6...2.0.0-alpha.7