Bump to 0.4.0

This commit is contained in:
Jeremy 2024-02-11 12:41:21 -06:00
parent 203dbb524e
commit 7fda402638
No known key found for this signature in database
GPG Key ID: BE03111EB7ED6E2E
3 changed files with 38 additions and 8 deletions

View File

@ -1,6 +1,7 @@
# Changelog # Changelog
- [Changelog](#changelog) - [Changelog](#changelog)
- [v0.4.0](#v040)
- [v0.3.1](#v031) - [v0.3.1](#v031)
- [v0.3.0](#v030) - [v0.3.0](#v030)
- [v0.2.1](#v021) - [v0.2.1](#v021)
@ -8,6 +9,35 @@
- [v0.1.1](#v011) - [v0.1.1](#v011)
- [v0.1](#v01) - [v0.1](#v01)
# v0.4.0
What's new:
- Cpptrace now has a C API! 🎉
- Cpptrace is now able to parse macOS debug maps and resolve stack traces without dSYM files
Most notable improvements:
- Updated cpptrace exception objects to generate traces at the callsite for improved consistency with trace output. As
part fo this cpptrace exception objects have had their constructors updated.
- Improved dwarf back-end robustness
- Fallback to the compilation-unit cache or walking compilation-units if aranges lookup fails
- Eliminated reliance on a CMake-generated export header
- Added a configuration to control resolution of inlined function calls
- Made architecture selection in Mach-O universal binaries
Other improvements:
- Improved documentation for installation and usage
- Generally improved README content and organization
- Fixed an MSVC workaround producing dozens of warnings
- Better handle compiler color diagnostic arguments if compiler families differ
- Improvements for handling libdwarf's header placement
- Fixed issue with libunwind resolution
- `-Werror` is now used in CI
- More library configurations are now tested in CI
- Updated to libdwarf 9
- Updated the library's CMake to acquire zstd through FetchContent
- Fixed minor issue with stacktrace printing always trying to enable virtual terminal processing, even when not actually
printing to the terminal.
# v0.3.1 # v0.3.1
Tiny patch: Tiny patch:

View File

@ -9,7 +9,7 @@ set(package_name "cpptrace")
project( project(
cpptrace cpptrace
VERSION 0.3.1 VERSION 0.4.0
DESCRIPTION "Simple, portable, and self-contained stacktrace library for C++11 and newer " DESCRIPTION "Simple, portable, and self-contained stacktrace library for C++11 and newer "
HOMEPAGE_URL "https://github.com/jeremy-rifkin/cpptrace" HOMEPAGE_URL "https://github.com/jeremy-rifkin/cpptrace"
LANGUAGES C CXX LANGUAGES C CXX

View File

@ -99,7 +99,7 @@ include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
cpptrace cpptrace
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
GIT_TAG v0.3.1 # <HASH or TAG> GIT_TAG v0.4.0 # <HASH or TAG>
) )
FetchContent_MakeAvailable(cpptrace) FetchContent_MakeAvailable(cpptrace)
target_link_libraries(your_target cpptrace::cpptrace) target_link_libraries(your_target cpptrace::cpptrace)
@ -537,7 +537,7 @@ include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
cpptrace cpptrace
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
GIT_TAG v0.3.1 # <HASH or TAG> GIT_TAG v0.4.0 # <HASH or TAG>
) )
FetchContent_MakeAvailable(cpptrace) FetchContent_MakeAvailable(cpptrace)
target_link_libraries(your_target cpptrace::cpptrace) target_link_libraries(your_target cpptrace::cpptrace)
@ -553,7 +553,7 @@ information.
```sh ```sh
git clone https://github.com/jeremy-rifkin/cpptrace.git git clone https://github.com/jeremy-rifkin/cpptrace.git
git checkout v0.3.1 git checkout v0.4.0
mkdir cpptrace/build mkdir cpptrace/build
cd cpptrace/build cd cpptrace/build
cmake .. -DCMAKE_BUILD_TYPE=Release cmake .. -DCMAKE_BUILD_TYPE=Release
@ -589,7 +589,7 @@ you when installing new libraries.
```ps1 ```ps1
git clone https://github.com/jeremy-rifkin/cpptrace.git git clone https://github.com/jeremy-rifkin/cpptrace.git
git checkout v0.3.1 git checkout v0.4.0
mkdir cpptrace/build mkdir cpptrace/build
cd cpptrace/build cd cpptrace/build
cmake .. -DCMAKE_BUILD_TYPE=Release cmake .. -DCMAKE_BUILD_TYPE=Release
@ -607,7 +607,7 @@ To install just for the local user (or any custom prefix):
```sh ```sh
git clone https://github.com/jeremy-rifkin/cpptrace.git git clone https://github.com/jeremy-rifkin/cpptrace.git
git checkout v0.3.1 git checkout v0.4.0
mkdir cpptrace/build mkdir cpptrace/build
cd cpptrace/build cd cpptrace/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/wherever cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/wherever
@ -682,7 +682,7 @@ make install
cd ~/scratch/cpptrace-test cd ~/scratch/cpptrace-test
git clone https://github.com/jeremy-rifkin/cpptrace.git git clone https://github.com/jeremy-rifkin/cpptrace.git
cd cpptrace cd cpptrace
git checkout v0.3.1 git checkout v0.4.0
mkdir build mkdir build
cd build cd build
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 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
@ -702,7 +702,7 @@ cpptrace and its dependencies.
Cpptrace is available through conan at https://conan.io/center/recipes/cpptrace. Cpptrace is available through conan at https://conan.io/center/recipes/cpptrace.
``` ```
[requires] [requires]
cpptrace/0.3.1 cpptrace/0.4.0
[generators] [generators]
CMakeDeps CMakeDeps
CMakeToolchain CMakeToolchain