Skip to content

Releases: jeremy-rifkin/cpptrace

Version 0.7.3

15 Nov 23:43
4354eb2
Compare
Choose a tag to compare

Fixed:

  • Fixed missing include affecting macos #183
  • Fixed issue with cmake not using the ccache program found by find_program #184
  • Fixed missing include and warnings affecting mingw #186
  • Fixed issue with identifying inlined call frames when the DW_TAG_inlined_subroutine is under a DW_TAG_lexical_block
  • Fixed a typo in the README
  • Improved unittest support on various configurations
  • Improved unittest robustness under LTO
  • Fixed bug signal_demo in the event fork() fails

Added:

  • Added color overload for stacktrace_frame::to_string
  • Added CMake export() definition for cpptrace as well as a definition for libdwarf which currently doesn't provide one

Changed:

  • Updated documentation surrounding the signal safe API

Version 0.7.2

06 Oct 21:18
e89eb61
Compare
Choose a tag to compare

Changes:

  • Better support for older CMake with using FetchContent_Declare from a URL #176
  • Better portability for page size detection #177
  • Improved compile times #172
  • Split up cpptrace.hpp into finer-grained headers for lower compile time impact
  • Some minor readme restructuring

Version 0.7.1

13 Sep 13:21
06eb15b
Compare
Choose a tag to compare

Added

  • Better support for finding libunwind on macos #162
  • Support for libbacktrace under mingw #166

Fixed

  • Computation of object address for safe object frames #169
  • Nested microfmt in cpptrace's namespace due to an ODR problem with libassert jeremy-rifkin/libassert#103
  • Compilation on iOS #167
  • Compilation on old MSVC #165
  • Dbghelp use on 32 bit #170
  • Warning in brand new cmake due to FetchContent_Populate being deprecated #171

Other changes

  • Bumped the buffer size for execinfo and CaptureStackBackTrace to 400 frames
  • Switched to execinfo.h for unwinding on clang/apple clang on macos due to _Unwind not working with -fno-exceptions #161

Version 0.7.0

21 Aug 17:12
0742b42
Compare
Choose a tag to compare

Added

  • Added cpptrace::from_current_exception() and associated exception handler macros to allow tracing of all exceptions,
    even without cpptrace traced exception objects.

Fixes:

  • Fixed issue with using resolve_safe_object_frame on safe_object_frames with empty paths
  • Fixed handling of dwarf 4 rangelist base addresses when a DW_AT_low_pc is not present
  • Fixed use of -g with MSVC

Other changes:

  • Bazel is now supported on linux (#153)
  • More work on testing
  • Some internal refactoring

Version 0.6.3

14 Jul 04:17
90de25f
Compare
Choose a tag to compare

Added:

  • Added a flag to disable inclusion of <format> by cpptrace.hpp and the definition of formatter specializations

Fixes:

  • Fixed use after free during cleanup of split dwarf information #141
  • Fixed an issue with TCO by clang on arm interfering with unwinding skip counts for internal methods
  • Fixed issue with incorrect object addresses being reported on macos when debug maps are used
  • Fixed issue with handling of split dwarf emitted by clang under dwarf4 mode

Other changes:

  • Added note about signal-safe tracing requiring _dl_find_object to documentation and fixed errors in the signal-safe
    tracing docs
  • Added more configurations to unittest ci setup
  • Optimized unittest ci matrix setup
  • Added options for zstd and libdwarf sources if FetchContent is being used to bring the dependencies in
  • Optimized includes in cpptrace.hpp

Version 0.6.2

20 Jun 01:42
ea56677
Compare
Choose a tag to compare

Fixes:

  • Fix an issue with unwinding to collect stack traces during exception creation on arm #134
  • Fix issue where dladdr1 wasn't being used even when detected

Robustness:

  • Setup more robust unit tests and added them to CI

Version 0.6.1

12 Jun 03:37
7543677
Compare
Choose a tag to compare

Fixes:

  • Fix for detection of dladdr1 and _dl_find_object support

Version 0.6.0

29 May 03:24
06226ee
Compare
Choose a tag to compare

New:

  • Added a cpptrace::system_error utility
  • Added support for musl #128
  • Added support for split dwarf / debug fission

Fixes:

  • Fixed address formatting in stack traces
  • Fixed frame pointer calculation for signal frames from libunwind #123
  • Fixed dwarf_ranges handling of lowpc == pc causing erroneous symbol resolution
  • Fixed implementation of the exception helper system/reference implementation's lazy_trace_holder

Version 0.5.4

02 May 16:48
0db934c
Compare
Choose a tag to compare

Fixes:

  • Fixed bug with resolving object information when dladdr is used and an unexpected argv[0] is provided to the
    binary.

Version 0.5.3

30 Apr 04:16
14d25fd
Compare
Choose a tag to compare

Fixes:

  • Fixed bug with formatting of hex values on MSVC
  • Fixed error handling for libbacktrace back-end when debug info is not present
  • Fixed bug with cmake resolution of zstd when no zstd cmake config file is installed

Other changes:

  • Added error handling for an edge case in the signal tracing demo
  • Updated conan recipe to allow libunwind to be chosen
  • Improved msvc support in internal formatting system
  • Bumped libdwarf to 0.9.2