Skip to content

Releases: ChristianPanov/lwlog

Version 1.5.0

Choose a tag to compare

@ChristianPanov ChristianPanov released this 25 Dec 09:59
2850f9f

This release closes several important issues, making the library now stable for extended usage

What's Added

  • Closed main issues
  • Additional bug fixes
  • Performance improvements
  • Documentation updates
  • General refactoring

Version 1.4.0

Choose a tag to compare

@ChristianPanov ChristianPanov released this 30 May 17:54
0ba442b

This release brings a sharp focus on performance optimization, memory efficiency, and precision in high-frequency logging. Ideal for low-latency and environments where dynamic memory allocations could be problematic.

Major Changes

  • Static Buffer for String Manipulations

    • What’s New:
      • Introduces a static pre-allocated memory buffer for string manipulations to minimize dynamic memory allocations.
      • Promotes memory reuse and improves performance for high-frequency logging scenarios.
    • Why It Matters:
      • Reduces the overhead associated with creating and destroying temporary strings during log formatting.
      • Particularly beneficial for applications requiring low-latency logging or operating in resource-constrained environments.
  • Faster Floating-Point and Integer String Conversions

    • What’s New:
      • Custom-built algorithms for converting floating-point and integer values to strings.
      • Optimized to outperform std::to_string with more efficient operations.
    • Why It Matters:
      • Achieves significantly faster number-to-string conversions, which are a critical part of many log messages.
      • Provides more consistent and predictable performance across different platforms.
  • Improved String Manipulation Algorithms

    • What’s New:
      • Enhanced algorithms for searching and replacing substrings in patterns.
      • Reduces computational overhead, especially for patterns with frequent or repetitive placeholders.
    • Why It Matters:
      • Faster string replacements lead to reduced latency in log generation, improving overall logging performance.
      • Handles larger log patterns and more complex formatting with ease.
  • Thread Affinity for Asynchronous Logger

    • What’s New:
      • The asynchronous logger can now be configured to bind its background threads to specific CPU cores.
    • Why It Matters:
      • Reduces context switching and improves cache efficiency for background log processing.
      • Boosts throughput in high-concurrency environments by isolating logging threads from other workloads.

Additional Changes

  • Bug fixes.
  • Performance tuning across the core logging pipeline.
  • Updated and expanded documentation.

Special Thanks

Huge thanks to @EliasRonefors and @soobnoid, who provided feedback, reported critical issues, and suggested changes that made this release stable.

Version 1.3.1

Choose a tag to compare

@ChristianPanov ChristianPanov released this 31 Dec 14:34
a01cc8d

What's Added

  • Buf fixes
  • Performance improvements
  • Documentation Updates

Version 1.3.0

Choose a tag to compare

@ChristianPanov ChristianPanov released this 08 Nov 16:30

Third major backwards compatible release

What's Added

  • Topic system implemented
  • CI pipeline improvements, now project goes through static analysis with sonar, cppcheck, and clang-tidy on each push
  • A lot of warnings and static analysis issues fixed
  • Improved performance
  • Improved datetime handling
  • Improved CMake configuration
  • General refactoring done

Version 1.2.0

Choose a tag to compare

@ChristianPanov ChristianPanov released this 07 Jan 18:18
0f99d97

Second major backwards compatible release

What's Added

  • General rework and restructuring of the codebase
  • Performance and binary size optimizations
  • Asynchronous logging and the appropriate configurations that can be applied to it
  • Improved datetime handling
  • Log message post formatting with fmt/std::format/custom formatting
  • Documentation overhaul

Version 1.0.0

Choose a tag to compare

@ChristianPanov ChristianPanov released this 11 Jan 11:50
5a24a63

First official release version

What's Added