spdlog v1.5.0 Release Notes

Release Date: 2020-01-13 // 3 months ago
  • 🆕 New features

    • ➕ Added ringbuffer sink. Thanks @eudoxos (#1307).
    • 🌲 Auto create the required logging directories if they not exist (9b7812a).
    • ⚡️ Update bundled fmt to version 6.1.2.
    • ➕ Addded the ! modifier to truncate the result if the field size exceeds the specified width (see wiki for details)

    🛠 Fixes and improvements

    • 🛠 Fix build failure on clang 7 with libc++. Thanks @jktjkt (a03f9eb).
    • 🛠 Fix some spelling errors. Thanks @flopp .
    • 🛠 Fix - compilation when using external fmt library. Thanks @dvhwgumby for reporting (#1273).
    • 🛠 Fix location of CMake config info. Thanks @dvhwgumby for reporting (#1274)
    • 🛠 Fix missing include (9a68bd8).
    • CMake code duplication improvement. Thanks @bencsikandrei (#1283)
    • ✅ CMake improvments in tests . Thanks @Andrei-Florin BENCSIK (2cc620e)
    • ✂ Remove unused variable. Thanks @masmullin2000 (#1285)
    • Fix tests to Use _FILE_OFFSET_BITS=64 when building on Linux 32-bit systems. Thanks @yipdw (#1288).
    • 👌 Improve systemd journald support. Thanks @jktjkt (#1292).
    • 👌 Improve log macros. Thanks @pck (#1294).
    • ✂ Removed lazy argument evaluation from macros (#163).
    • Some micro optimizations (79468cf, 3ee4f28, bf40855).
    • 👍 Correctly guard SetHandleInformation API call to better support compiling for UWP. Thanks @sylveon (#1296).
    • Exclude from compilation prevent_child_fd() if SPDLOG_PREVENT_CHILD_FD not defined (57085c8)
    • CMake - Added tweakme options to CMakeLists.txt (18edb8b).
    • Removed SPDLOG_NO_DATETIME option.
    • 🛠 Fix meson tests build . Thanks vedranmiletic fore reporting (#1295, c081919, 4a4f13b, 436ce16).
    • Use #include" <spdlog/.*> instead of spdlog/.* across the codebase. Thanks @RedDwarf69 (#1304).
    • 🛠 Fix struct tm doesn't have tm_gmtoff in ISO C. Thanks @lancesun (ff3e6c7, #1306)
    • Always cache gmt offset (de2c07a).
    • ⚡️ Optimize backtracer operator= (255f7f2).
    • 🛠 Fix some clang-tidy warnings (93008b2, bff8572, 3999613).
    • 🛠 Fix compiler error in os-inl.h min/max on Windows (#1302).
    • ✂ Remove redundant semicolon. Thanks @inhzus (#1311).
    • 🛠 Fix compiler warnings. Thanks @0x8000-0000 (#1331).
    • Fix missing include header in `spdlog/sinks/daily_file_sink.h. Thanks @afoolsbag for reporting (#1332).
    • 🛠 Fix elapsed time larger than 6 digits ignores alignment width. Thanks @ivan236634452 for reporting (#1327).
    • 🏗 Set version for shared library in meson build. Thanks @lgbaldoni (#1337).
    • 👌 Improved dist_sink ctor. Thanks @mmakhalaf for reporting (#1298).
    • Fix #1325. Added SPDLOG_FMT_EXTERNAL_HO option. Thanks @steffenb7333 for reporting.
    • 🛠 Fix #1340 (missing include). Thanks @jeanga for reporting.
    • 🛠 Fix compile on Win10 with Cygwin. Thanks @frfrankkopp and @tt4g (#1347).
    • 🛠 Fixed #1348. Thanks @ficzerepeti for reporting.
    • CMakeLists.txt allow overriding the cpp standard to higher than 11
    • 🛠 Fix a small problem in the basic example. Thanks @mike239x (#1367).
    • 🛠 Fix invalid meson option. Thanks @segfault-magnet (#1370).
    • meson: add fallback to fmt dependency #1378. Thanks @idanko
    • ⚡️ Update docs: spdlog now available in conan center, bincrafters repo is deprecated #1387. Thanks @gocarlos .

Previous changes from v1.4.2

  • Fix some issues discovered by users:

    • Set additional CPACK variables for RPM generator (#1246). Thanks @tcraigtyler.
    • Fix compile when SPDLOG_WCHAR_FILENAMES is defined (#1249 ).
    • 🛠 Fix stdout color sink under Windows to better handle cases when no console available (#1250).
    • 🛠 Fix windows compile error where std::max is overriden by a macro. (#1251, #1252). Thanks @bsergean.
    • CMakeLists.txt: Moved the installed lib to CMAKE_INSTALL_LIBDIR (#1253). Thanks @DasRoteSkelett.
    • 🛠 CMakeLists.txt: Fixed pkg-config generation (cf2bf48, fb70eca). Thanks @SammyEnigma.