Skip to content

Commit 7fb5d07

Browse files
committed
Update changelog
1 parent bf53c00 commit 7fb5d07

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,60 @@
1+
- [libassert 2.0.0-alpha](#libassert-200-alpha)
12
- [libassert 1.2.2](#libassert-122)
23
- [libassert 1.2.1](#libassert-121)
34
- [libassert 1.2](#libassert-12)
45
- [libassert 1.1](#libassert-11)
56
- [libassert 1.0 🎉](#libassert-10-)
67

8+
## libassert 2.0.0-alpha
9+
10+
This is the first pre-release for version 2. Version 2 is an overhaul of the library taking lessons learned.
11+
12+
Major changes:
13+
- Replaced the previous `ASSERT`/`VERIFY` nomenclature with `DEBUG_ASSERT` and `ASSERT`
14+
- Updated assertion macros to no longer return a value by default
15+
- Debug-only assertions no longer have to evaluate the assertion expression, and removed `NO_ASSERT_RELEASE_EVAL`
16+
- Added `DEBUG_ASSERT_VAL`, `ASSERT_VAL`, and `ASSUME_VAL` variants that return values
17+
- Added `PANIC` and `UNREACHABLE`
18+
- Removed default throwing behavior for some assertion failures, all assertions now abort by default
19+
- Removed non-fatal assertions
20+
- Improved stringification generation to handle more types and better decide when there is useful information to print
21+
- Added stringification customization point instead of relying on `operator<<(std::ostream, const T&)`
22+
- Removed macro-based custom assertion failure handler system
23+
- Added `libassert::set_failure_handler`
24+
- Removed default safe signed-unsigned comparison behavior
25+
- Added `LIBASSERT_SAFE_COMPARISONS` to opt into safe signed-unsigned comparisons
26+
- Added color palette configuration
27+
- Added configuration for literal formatting
28+
- Reworked structures used to represent assertion information
29+
- Cleaned up `binary_diagnostics_descriptor`
30+
- Removed up `extra_diagnostics` struct trying to do too much
31+
- Renamed `assertion_printer` to `assertion_info`
32+
- Made more information available in the `assertion_info` struct
33+
- Removed lifetime funniness with the `assertion_info` struct
34+
- Type prettifying
35+
- `std::__cxx11::` is simplified to `std::`
36+
37+
Core changes:
38+
- Cleaned up assertion macro expansion
39+
- Cleaned up handling of literal formatting
40+
- Cleaned up stringification generation
41+
- Cleaned up assertion processing logic
42+
- Removed the global lock used while processing assertions
43+
- Lots of internal refactoring, cleanup, and changes to improve maintainability
44+
- Overhauled CMake thanks to a contributor, fixing a lot of issues
45+
- Removed need for user to manually specify `ASSERT_STATIC` if using the project with cmake and a static build
46+
- Magic enum is now grabbed with FetchContent or externally from an existing install or package manager
47+
- Reworked `README.md`
48+
- Added `CONTRIBUTING.md`
49+
- Resolved inconsistent use of `ASSERT` vs `LIBASSERT` for the library's macro prefix
50+
- Fixed inconsistent use of `assert` vs `libassert` for referring to the library
51+
- Updated the library's cmake target name to `libassert::assert`
52+
- Updated the library's header to `<libasssert/assert.hpp>`
53+
- Updated internal error handling to use cpptrace exceptions
54+
- Added cmake integration testing on mingw to CI
55+
- General CI improvements
56+
- General testing improvements
57+
758
## libassert 1.2.2
859

960
Small patch release that bumps the stack tracing back-end, part of getting vcpkg issues ironed out.

0 commit comments

Comments
 (0)