Releases: jeremy-rifkin/libassert
Releases · jeremy-rifkin/libassert
Version 2.2.1
Added
- Added diff highlighting
- Added normalization for
enum E
->E
in type prettification - Added
libassert::print_stacktrace
utility - Added
libassert::get_path_mode
Fixed
- Fixed missing include in paths.cpp
- Fixed unconditional include of
<version>
#150 (@CrackedMatter)
Other
- Fixed typo in readme #147 (@OpenByteDev)
- Reworked some stringification metaprogramming logic #148 (@ZXShady)
- Cleaned up library headers a bit
- Simplified assertion macro implementation
Version 2.2.0
Potentially-breaking changes:
- Libassert now uses an inline ABI versioning namespace. All library symbols are now secretly in the
libassert::v1
namespace. This is technically an ABI break, however, any ABI mismatch will result in linker errors instead of silent
bugs. This change is an effort to allow future evolution of libassert in an ABI-friendly manner.
Added:
- Added C++20 module support
- Added support for
std::format
#132 (@cjdb) - Added enchantum support for enum stringification #142 (@ZXShady)
- Added formatter for
std::byte
Fixed:
- Fixed warning flags on clang-cl
- Fixed some literal format handling logic
- Fixed stringification for empty
std::tuple<>
Other:
- Reduced number of standard library
#include
s used by libassert to improve compile speeds - Bumped cpptrace via FetchContent to 1.0.1
- Various code improvements
- Various testing improvements
- Miscellaneous readme updates and fixes
Version 2.1.5
Added:
- Added
libassert::highlight
andlibassert::highlight_stringify
#120 - Added
REQUIRE_ASSERT
to test assertion failures under Catch2 #114
Fixed:
- Fixed problem with stringifying
std::filesystem::path
resulting in a stack overflow and a general problem of
infinite recursion from stringifying types where iterators can lead to hard to detect type cycles #118
Other:
- Bumped magic_enum via FetchContent
- Bumped cpptrace via FetchContent from v0.7.5 to v0.8.2, with lots of improvements
- Some makefile improvements
- Various typo fixes in the README
- Added some info on library headers to the README
Version 2.1.4
Fixed:
- Fixed MSVC build issue due to placement of
[[noreturn]]
attribute
Changed:
- Updated printing of empty stacktraces
Other:
- Added testing for more configurations
Version 2.1.3
Added:
- Added
<libassert/version.hpp>
header with version macros - Added export set definition
- Made the default failure handler callback public, updated docs on custom failure handlers
Fixes:
- Added a flag to control -Werror instead of having it on unconditionally by default
- Added fallback for older cpptrace versions where
<cpptrace/basic.hpp>
didn't exist - Added safeguard to ensure static init order issues can never bite
Other:
- Some internal refactoring
- Bumped to cpptrace 0.7.4
Version 2.1.2
Version 2.1.1
Fixed:
- ODR issue due to libassert and cpptrace both using the same formatting code #103
- Worked around old MSVC ICE
- False-positive warnings on gcc about null pointers
Other changes:
- Bumped default cpptrace to v0.7.1
Version 2.1.0
Added:
- Added software breakpoints to make assertion failures more debugger-friendly
- Added ANSI color support for catch2 integration now that it is supported in catch v3.6.0
Fixed:
- Fixed checking of stringifiable containers for types with
operator<<
overloads and fmt specializations
Other:
- Added support for gcc 8
- Improved testing
Version 2.0.2
Fixed:
- Fixed minor issue with
LIBASSERT_USE_MAGIC_ENUM
handling in libassert-config.cmake - Fixed handling of edge case for internal string trimming utility
Other:
- Bumped cpptrace to 0.5.3