Skip to content

Commit 34ea957

Browse files
committed
Bump to v0.8.0
1 parent 525ce87 commit 34ea957

File tree

3 files changed

+43
-8
lines changed

3 files changed

+43
-8
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changelog
22

33
- [Changelog](#changelog)
4+
- [v0.8.0](#v080)
45
- [v0.7.5](#v075)
56
- [v0.7.4](#v074)
67
- [v0.7.3](#v073)
@@ -25,6 +26,40 @@
2526
- [v0.1.1](#v011)
2627
- [v0.1](#v01)
2728

29+
# v0.8.0
30+
31+
Added:
32+
- Added support for resolving symbols from elf and mach-o symbol tables, allowing function names to be resolved even in
33+
a build that doesn't include debug information https://github.com/jeremy-rifkin/cpptrace/issues/201
34+
- Added a configurable stack trace formatter https://github.com/jeremy-rifkin/cpptrace/issues/164
35+
- Added configuration options for the libdwarf back-end that can be used to lower memory usage on memory-constrained
36+
systems https://github.com/jeremy-rifkin/cpptrace/issues/193
37+
- Added `cpptrace::nullable<T>::null_value`
38+
- Made `cpptrace::nullable<T>` member functions conditionally `constexpr` where possible
39+
40+
Fixed:
41+
- Fixed handling of `SymInitialize` when other code has already called `SymInitialize`. `SymInitialize` must only be
42+
called once per handle and cpptrace now attempts to duplicate the current process handle to avoid conflicts.
43+
https://github.com/jeremy-rifkin/cpptrace/issues/204
44+
- Fixed a couple of locking edge cases surrounding dbghelp functions
45+
- Fixed improper deallocation of `dwarf_errmsg` in the libdwarf back-end
46+
47+
Breaking changes:
48+
- `cpptrace::get_snippet` previously included a newline at the end but it now does not. This also affects the behavior
49+
of trace formatting with snippets enabled.
50+
51+
Other:
52+
- Significantly improved memory usage and performance of the libdwarf back-end
53+
- Improved implementation and organization of internal utility types, such as `optional` and `Result`
54+
- Improved trace printing and formatting implementation
55+
- Added unit tests for library internal utilities
56+
- Added logic to the cxxabi demangler to ensure external names begin with `_Z` or `__Z` before attempting to demangle
57+
- Added various internal tools and abstractions to improve maintainability and clarity
58+
- Various internal improvements for robustness
59+
- Added a small handful of utility tool programs that are useful for continued development, maintenance, and debugging
60+
- Improved library CI setup
61+
- Marked the `CPPTRACE_BUILD_BENCHMARK` option as advanced
62+
2863
# v0.7.5
2964

3065
Fixed:

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ set(package_name "cpptrace")
99

1010
project(
1111
cpptrace
12-
VERSION 0.7.5
12+
VERSION 0.8.0
1313
DESCRIPTION "Simple, portable, and self-contained stacktrace library for C++11 and newer "
1414
HOMEPAGE_URL "https://github.com/jeremy-rifkin/cpptrace"
1515
LANGUAGES C CXX

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ include(FetchContent)
138138
FetchContent_Declare(
139139
cpptrace
140140
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
141-
GIT_TAG v0.7.5 # <HASH or TAG>
141+
GIT_TAG v0.8.0 # <HASH or TAG>
142142
)
143143
FetchContent_MakeAvailable(cpptrace)
144144
target_link_libraries(your_target cpptrace::cpptrace)
@@ -928,7 +928,7 @@ include(FetchContent)
928928
FetchContent_Declare(
929929
cpptrace
930930
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
931-
GIT_TAG v0.7.5 # <HASH or TAG>
931+
GIT_TAG v0.8.0 # <HASH or TAG>
932932
)
933933
FetchContent_MakeAvailable(cpptrace)
934934
target_link_libraries(your_target cpptrace::cpptrace)
@@ -944,7 +944,7 @@ information.
944944

945945
```sh
946946
git clone https://github.com/jeremy-rifkin/cpptrace.git
947-
git checkout v0.7.5
947+
git checkout v0.8.0
948948
mkdir cpptrace/build
949949
cd cpptrace/build
950950
cmake .. -DCMAKE_BUILD_TYPE=Release
@@ -987,7 +987,7 @@ you when installing new libraries.
987987
988988
```ps1
989989
git clone https://github.com/jeremy-rifkin/cpptrace.git
990-
git checkout v0.7.5
990+
git checkout v0.8.0
991991
mkdir cpptrace/build
992992
cd cpptrace/build
993993
cmake .. -DCMAKE_BUILD_TYPE=Release
@@ -1005,7 +1005,7 @@ To install just for the local user (or any custom prefix):
10051005

10061006
```sh
10071007
git clone https://github.com/jeremy-rifkin/cpptrace.git
1008-
git checkout v0.7.5
1008+
git checkout v0.8.0
10091009
mkdir cpptrace/build
10101010
cd cpptrace/build
10111011
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/wherever
@@ -1088,7 +1088,7 @@ make install
10881088
cd ~/scratch/cpptrace-test
10891089
git clone https://github.com/jeremy-rifkin/cpptrace.git
10901090
cd cpptrace
1091-
git checkout v0.7.5
1091+
git checkout v0.8.0
10921092
mkdir build
10931093
cd build
10941094
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=On -DCPPTRACE_USE_EXTERNAL_LIBDWARF=On -DCMAKE_PREFIX_PATH=~/scratch/cpptrace-test/resources -DCMAKE_INSTALL_PREFIX=~/scratch/cpptrace-test/resources
@@ -1108,7 +1108,7 @@ cpptrace and its dependencies.
11081108
Cpptrace is available through conan at https://conan.io/center/recipes/cpptrace.
11091109
```
11101110
[requires]
1111-
cpptrace/0.7.5
1111+
cpptrace/0.8.0
11121112
[generators]
11131113
CMakeDeps
11141114
CMakeToolchain

0 commit comments

Comments
 (0)