Skip to content

v0.5.0

Choose a tag to compare

@DMsuDev DMsuDev released this 31 Aug 00:39
· 57 commits to main since this release
cc288e6

Vigil v0.5.0

Key Highlights

  • Lifecycle Hooks and Event System: Added LogHooks and HooksRegistry for thread-safe event listening (messages, level shifts, flush actions) with deadlock-safe callback dispatching.
  • Extended Scope Control: Introduced manual block-scoping macros (VIGIL_SCOPE_BEGIN / VIGIL_SCOPE_END) and explicit log-level overrides for ScopedLogger.
  • Configurable Output Directories: Integrated explicit LogDir properties across configurations with automatic directory resolution using std::filesystem.
  • Cross-Platform Debugger Utilities: Added IsDebuggerAttached() and conditional breakpoint macro VIGIL_DEBUGBREAK_IF_ATTACHED() across Windows, Linux, and macOS.
  • Unified Stack Traces: Consolidated platform backends with inline frame expansion via DbgHelp (Windows) and libbacktrace (POSIX), along with cleaned demangled symbol formatting.

Core Improvements

  • Safety Assertions: Added LogSystem initialization checks for debug builds and automatic instantiation for non-existent named loggers in VIGIL_LOG_NAMED.
  • Path Normalization: Standardized path separators to ensure consistent cross-platform location formatting.
  • Modular Refactoring: Reorganized example suites (logger_example, scoped_example, assert_example) into isolated demo functions with streamlined CLI argument dispatching.
  • Build System Updates: Unified internal headers, removed obsolete header files, added the hooks_example target, and ensured C++23 standard compliance.

Full Changelog: v0.4.1...v0.5.0