Skip to content

Releases: jeremy-rifkin/libassert

Version 2.2.1

26 Jul 05:47
bd33ba1
Compare
Choose a tag to compare

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

20 Jun 16:14
6ed73ff
Compare
Choose a tag to compare

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 #includes 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

23 Feb 20:46
6066782
Compare
Choose a tag to compare

Added:

  • Added libassert::highlight and libassert::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

05 Jan 06:48
634f50f
Compare
Choose a tag to compare

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

22 Dec 00:55
bee90cb
Compare
Choose a tag to compare

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

06 Oct 21:56
df3a4bd
Compare
Choose a tag to compare

Changes:

  • Fixed an issue with clang vs MSVC detection on windows #104
  • Bumped default cpptrace to v0.7.2 to better support older CMake versions #105
  • Updated to use new cpptrace headers for better build times

Version 2.1.1

13 Sep 13:42
b90077a
Compare
Choose a tag to compare

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

02 Jun 17:50
8cede19
Compare
Choose a tag to compare

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

30 Apr 04:40
425beca
Compare
Choose a tag to compare

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

Version 2.0.1

03 Apr 02:54
e64e4dd
Compare
Choose a tag to compare

Fixed:

  • Fixed issue with determining stringifiability when T::value_type is a class named value_type with a constructor #90
  • Fixed issue with an incorrect header being imported in assert-gtest.hpp #87

Other:

  • Improved internal string formatting
  • Improved Catch2 support