What's Changed
- Make monitor API functions properly idempotent using atomics by @kstenerud in #661
- Add binary architecture field to system info by @DariaKunoichi in #669
- Add improved jailbreak detection logic by @DariaKunoichi in #666
- Add clang_version, device free storage size and rosetta check fields to system info by @DariaKunoichi in #668
- Convert KSCrashMonitor to use a lockless algorithm by @kstenerud in #662
- Moved monitor context management into KSCrashMonitor. by @kstenerud in #674
- Restore recrash support to the mach exception handler by @kstenerud in #675
- Added a policy argument to all callbacks so that callback implementations can more intelligently decide what to do. by @kstenerud in #676
- KSFileUtils won't compile standalone without stddef.h by @kstenerud in #685
- [KSCRASH] Allow Cancelling Processing/Writting a Crash by @naftaly in #680
- [KSCRASH] Add Observers to Memory Tracker by @naftaly in #681
- [KSCRASH] Make CPP Monitor more precise by @naftaly in #682
- [EASY] Add back start/stop for backwards compat by @naftaly in #686
- Fix incorrectly defined KSCRASH_NAMESPACE_STRING by @kstenerud in #687
- Pin Tuist version using Mise for consistent environments by @GLinnik21 in #688
- Clean up pragma and example app warnings by @kstenerud in #689
- Fix same self thread backtrace by @naftaly in #690
- [2.x] Add backward compatibility for callback API changes by @GLinnik21 in #684
- Modify KSCrashEventNotifyCallback to return a user-supplied policy by @kstenerud in #692
- We should still attempt to record threads even if we can't suspend them. by @kstenerud in #693
- Add GitHub Copilot code review instructions for API breaking changes by @GLinnik21 in #695
- Expose an intermediate struct to the user rather than our internal struct by @kstenerud in #694
- Always record the offending thread at least by @kstenerud in #696
- Harmonize the callback names by @kstenerud in #697
- Fix monitor disabling and uninstalling by @kstenerud in #698
- Namespace any important strings, such as paths and thread names by @kstenerud in #699
- Fix some latent warning issues by @kstenerud in #700
- Fix error pointer checks by @alanzeino in #701
- Namespacing example using SPM by @kstenerud in #704
- Update the codebase for the next Xcode version. by @kstenerud in #706
- Remove remaining namespace code and header search paths around the old demangler by @kstenerud in #707
- Remove direct dependency between the signal and memory monitors by @kstenerud in #705
New Contributors
- @alanzeino made their first contribution in #701
Full Changelog: 2.3.0...2.4.0