All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Changed license from LGPL to Apache 2.
- Renamed public macros and "keywords".
- Extracted multithreading support to a separate library exceptions4c-pthreads.
- Extracted lightweight version to a separate library exceptions4c-lite.
- Removed non-essential public functions and typedefs.
- Removed built-in exceptions and signal handling.
- Removed support for legacy compilers.
- Type
e4c_exception_type
- Type
e4c_debug_info
- Type
e4c_exception
- Type
e4c_context
- Macro
EXCEPTIONS4C
- Macro
TRY
- Macro
CATCH
- Macro
CATCH_ALL
- Macro
FINALLY
- Macro
THROW
- Macro
RETRY
- Macro
USING
- Macro
WITH
- Macro
USE
- Macro
REACQUIRE
- Function
e4c_set_context_supplier
- Function
e4c_get_context
- Function
e4c_get_exception
- Function
e4c_is_uncaught
- Added lightweight version of the library.
- Added support for generating backtraces via execinfo.
- Minor bugfixes, changes and optimizations.
- Migrated repo to GitHub.
- Changed license from GPL to LGPL.
- Minor internal changes.
- Added custom uncaught handler mechanism.
- Added extern "C" block for C++ compatibility.
- Improved current thread termination.
- Other internal changes and bugfixes.
- Added support for generating backtraces via addr2line.
- Fixed minor bug (dangling contexts).
- Other internal changes.
- Renamed some public macros.
- Added custom data to thrown exception.
- Improved detection of cause exception.
- Renamed some struct members.
- Other internal changes.
- Changed assertion macro.
- Other internal changes related to multithreading.
- Renamed some public macros and functions.
- Internal changes and optimizations.
- Fixed signal-related bug.
- Added
e4c_exception_type
. - Added
snprintf
support where available. - Removed
volatile
qualifier.
- Enhanced specific compiler, OS, C source version, and PTHREADS detection.
- Minor changes to signal handling.
- Fixed minor bugs.
- Enhanced compiler detection.
- Fixed minor bugs.
- Fixed compilation error on some compilers.
- Added macros to rethrow the current exception, retry, and reacquire.
- Added
volatile
qualifier to some struct members. - Fixed minor bugs.
- Added macro to throw with formatted message.
- Added function name to thrown exception.
- Added test suites.
- Added errno, file, and line info to thrown exception.
- Added detailed message to thrown exception.
- Added cause to thrown exception.
- Added assertion mechanism.
- Added thread-safe mode information to the library version number.
- Improved thread cancelation.
- Added mechanism to retrieve library version.
- Enhanced dangling context detection.
- Improved PTHREADS detection.
- Added integration macro.
- Added dispose pattern (automatic resource disposal).
- Added multithreading support.
- Minor changes.
- Added signal handling.
Initial release.