diff --git a/CHANGELOG.md b/CHANGELOG.md index 17d6a9383..41f9ab5a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## Unreleased + +**Features**: + +- The crashpad backend now captures thread names. ([#725](https://github.com/getsentry/sentry-native/pull/725)) +- The inproc backend now captures the context registers. ([#714](https://github.com/getsentry/sentry-native/pull/714)) +- A new set of APIs to get the sentry SDK version at runtime. ([#726](https://github.com/getsentry/sentry-native/pull/726)) +- Add more convenient APIs to attach stack traces to exception or thread values. ([#723](https://github.com/getsentry/sentry-native/pull/723)) +- Allow disabling the crash reporting backend at runtime. ([#717](https://github.com/getsentry/sentry-native/pull/717)) + +**Fixes**: + +- Improved heuristics flagging sessions as "crashed". ([#719](https://github.com/getsentry/sentry-native/pull/719)) + +**Internal**: + +- Updated Breakpad and Crashpad backends to 2022-06-14. ([#725](https://github.com/getsentry/sentry-native/pull/725)) + +**Thank you**: + +Features, fixes and improvements in this release have been contributed by: + +- [@olback](https://github.com/olback) + ## 0.4.17 **Fixes**: diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 24bfe0186..ca807f71c 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -74,6 +74,9 @@ set(BREAKPAD_SOURCES_CLIENT_LINUX breakpad/src/client/linux/minidump_writer/linux_dumper.cc breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc breakpad/src/client/linux/minidump_writer/minidump_writer.cc + breakpad/src/client/linux/minidump_writer/pe_file.cc + breakpad/src/client/linux/minidump_writer/pe_file.h + breakpad/src/client/linux/minidump_writer/pe_structs.h ) set(BREAKPAD_SOURCES_CLIENT_WINDOWS @@ -115,12 +118,12 @@ set(BREAKPAD_SOURCES_CLIENT_IOS breakpad/src/client/mac/handler/ucontext_compat.h ) - add_library(breakpad_client STATIC) target_sources(breakpad_client PRIVATE ${BREAKPAD_SOURCES_COMMON}) if(LINUX OR ANDROID) target_sources(breakpad_client PRIVATE ${BREAKPAD_SOURCES_COMMON_LINUX} ${BREAKPAD_SOURCES_CLIENT_LINUX}) + if(ANDROID) target_sources(breakpad_client PRIVATE ${BREAKPAD_SOURCES_COMMON_ANDROID}) target_include_directories(breakpad_client PRIVATE breakpad/src/common/android/include) @@ -128,6 +131,7 @@ if(LINUX OR ANDROID) include(CheckFunctionExists) check_function_exists(getcontext HAVE_GETCONTEXT) + if(HAVE_GETCONTEXT) target_compile_definitions(breakpad_client PRIVATE HAVE_GETCONTEXT) else() @@ -141,6 +145,7 @@ if(APPLE) target_sources(breakpad_client PRIVATE ${BREAKPAD_SOURCES_COMMON_APPLE} ${BREAKPAD_SOURCES_CLIENT_APPLE}) + if(NOT IOS) target_sources(breakpad_client PRIVATE ${BREAKPAD_SOURCES_COMMON_MAC} @@ -167,8 +172,8 @@ endif() # which are being resolved correctly when we add the current directory to # the include directories. A giant hack, yes, but it works target_include_directories(breakpad_client - PRIVATE - "$" - PUBLIC - "$" + PRIVATE + "$" + PUBLIC + "$" ) diff --git a/external/breakpad b/external/breakpad index 2cbe0387b..1fc7929f9 160000 --- a/external/breakpad +++ b/external/breakpad @@ -1 +1 @@ -Subproject commit 2cbe0387bea361c15a3a62af71e1d233d4bb1e0d +Subproject commit 1fc7929f9ed5073184fe2ba7b52a35d75124ca04 diff --git a/external/crashpad b/external/crashpad index be34d6e8b..82e2b7db9 160000 --- a/external/crashpad +++ b/external/crashpad @@ -1 +1 @@ -Subproject commit be34d6e8b0b6d3f3845e3a1164771d8e24269ea8 +Subproject commit 82e2b7db9fdc99bdd2dee65c9c75f5c1408db3de