Skip to content

v0.4.0

Choose a tag to compare

@DMsuDev DMsuDev released this 22 Aug 00:39
· 84 commits to main since this release
v0.4.0
9de112f

Vigil v0.4.0

Vigil v0.4.0 brings explicit, formatted assertion macros, cleaner preprocessor architectures, compiler warning suppressions, and streamlined build configurations for cross-platform integration.


🚀 Features

  • Assertion API Enhancement (115c9dc)
    • Added explicit VIGIL_ASSERT_MSG and VIGIL_VERIFY_MSG macros supporting fmt-style runtime context.
    • Corrected C++17 variadic macro expansion when forwarding string views to ReportAssertFailure.
    • Updated reference examples in assert_example.cpp.
  • Repository Health & Community Guidelines
    • Added Security Policy (SECURITY.md) and vulnerability reporting guidelines (c7f5a88).
    • Configured Issue Templates for Bug Reports and Feature Requests (372f45e).

🐛 Bug Fixes

  • Centralized Log-Level Gating (bffcf1b)
    • Updated VIGIL_LOG_NAMED to evaluate IsLevelActive instead of raw level comparisons.
    • Suppressed -Wtype-limits and C4296 warnings when checking log levels against compile-time thresholds.
  • Log Level Cast Alignment (8663bab)
    • Explicitly cast VIGIL_ACTIVE_LOG_LEVEL to uint8_t inside IsLevelActive.

🚜 Refactoring & Architecture

  • Preprocessor & Scoped Logger Cleanup (fa5b263)
    • Moved VIGIL_CURRENT_FUNCTION to compiler_attributes.h.
    • Relocated preprocessor concatenation (VIGIL_CONCAT) to preprocessor_utils.h.
    • Replaced ad-hoc VIGIL_FUNC_SIG usages with standard attribute helpers.
  • Symbol Visibility & Target Cleanups (c87ccbe)
    • Confined -fvisibility flags directly to the core vigil target configuration.
    • Removed redundant global POSITION_INDEPENDENT_CODE property specifications.

🛠️ Build System & Maintenance

  • libbacktrace Output Control: Silenced normal configure output for vendored libbacktrace while preserving logging on failure (ebc049e).
  • Funding: Added

Full Changelog: v0.3.1...v0.4.0