Skip to content

release v0.7.0

Choose a tag to compare

@chrischtel chrischtel released this 18 Jul 08:13
· 22 commits to main since this release

v0.7.0 (July 18, 2025)

Added

  • Full Async Logging Support 🚀

    • AsyncLogger with non-blocking operations
    • AsyncLogQueue with configurable backpressure and automatic message dropping
    • AsyncConsoleHandler and AsyncFileHandler with buffering and rotation
    • Background processing thread with graceful shutdown
    • Zero-copy message queuing with proper memory management
    • Thread-safe multi-handler support
    • Comprehensive async demo and quick start guide
    • Perfect integration with async runtimes - no event loop blocking
  • Context tracking support

    • LogContext struct for request and correlation IDs
    • ContextManager for thread-safe context storage
    • New template placeholders: {request_id}, {correlation_id}, {trace_id}, {operation}
    • Helper functions: setRequestContext(), correlate(), clearContext()
    • hereWithContext(@src()) for context-aware logging
    • Example in context_tracking.zig

Fixed

  • Critical Memory Leaks in Core Logger 🔧
    • Fixed memory leaks in ConsoleHandler, Formatter, and Logger cleanup
    • Proper deinit() implementation for all allocations
    • Fixed ArrayList and placeholder cache memory management
    • Resolves GPA memory leak errors in test environments

Performance

  • Major performance boost: Stack buffer optimization eliminates heap allocations for common log sizes, achieving 63% improvement in JSON formatting (27K→44K logs/s)
    • small performance impact on other formats

Deprecated

  • Deprecated NetworkHandler and NetworkOutput APIs (On Hold for now)
    • Note: Network output is highly experimental and not tested in production environments
    • Use FileHandler or custom handlers for reliable logging
    • Future: Will be thoroughly tested, evolved, and stabilized in upcoming versions