Skip to content

v3.8.0

Compare
Choose a tag to compare
@odygrd odygrd released this 24 Mar 13:57
· 358 commits to master since this release
  • Refactored MacroMetadata class to reduce its size.
  • Renamed some attributes in the PatternFormatter class for clarity. If you are using a custom format pattern, update the attribute names in your code to match the new names.
  • Improved accuracy of log statement timestamps. Previously, the timestamp was taken after checking if the queue had enough space to push the message, which could make it less accurate. Additionally, in the case of a blocking queue, the timestamp could be later in time. Now, the timestamp is taken and stored right after the log statement is issued, before checking for the queue size.
  • Reduced template instantiations during logging operations on the hot path. Fold expressions are now used for encoding/decoding arguments, minimizing template recursion overhead.
  • Removed compile-time format checks due to their significant impact on template instantiations, especially considering that only a few cases are invalid. For instance, while fmt::format("{}", 1, 2) is considered valid, fmt::format("{} {}", 1) is deemed invalid. In cases where an invalid format string is detected, the backend worker thread catches the generated exception and logs an error.
  • The throughput of the backend worker thread has been improved by approximately 5%.
  • Detect tmux as colour terminal. (#410)