Skip to content

v7.0.0

Latest

Choose a tag to compare

@an-dr an-dr released this 23 Oct 20:05
· 2 commits to main since this release
3ad3c74

🚨 BREAKING CHANGES: Complete API redesign since v6.5.0
New type system, unified naming, and simplified build configuration. These notes cover only part of the changes.

🌟 Added

  • Output Management System — unified destination control replacing callbacks
  • Custom Log Levels — define your own schemes
  • Static Configuration Header — central file for all build-time options
  • Optional Warning on Disabled features
  • Disabling the library fully using a compilation flag (e.g., for production releases)
  • Extensions — modular, copy-paste-ready examples of extending functionality through the public API.
    • Syslog levels (RFC 5424)
    • Thread-safe locks for CMSIS-RTOS2, FreeRTOS, POSIX, ThreadX, Windows
    • Generic Logger Interface (integration layer for other libraries)
    • Microlog 6 compatibility layer for easy migration
  • Quality Assurance — > 85 % line and > 90 % function test coverage

🪄 Changed

  • Unified naming:
    • Functions → ulog_<feature>_<method>()
      • ulog_add_fp()ulog_output_add_file()
      • ulog_set_lock()ulog_lock_set_fn()
    • Types → snake_case
      • ulog_Eventulog_event
      • ulog_LogFnulog_log_fn
  • Build configuration moved in-source with ULOG_BUILD_* pattern

❌ Removed, 🐞 Fixed

  • Removed emoji log levels 😭
  • Removed log_* macro aliases — use ulog_* directly
  • Numerous fixes and stability improvements

📄 Full details: CHANGELOG.md