Skip to content

Releases: odygrd/quill

v1.7.3

15 May 22:30
9b6fbce
Compare
Choose a tag to compare
  • Fix crash on windows when a long wstring (>500 chars) is logged (#173)
  • Fix compiler error when trying to compile with -DQUILL_DISABLE_NON_PREFIXED_MACROS (#174)
  • Fix a compile warning in clang (#175)

v1.7.2

25 Apr 23:50
Compare
Choose a tag to compare

Improvements/Fixes

Fix compile error when C++20 is used on windows (#162)

v1.7.1

23 Apr 20:27
Compare
Choose a tag to compare

Improvements/Fixes

  • Fix support for wide characters on Windows (#168)
  • Fix compilation error when Quill::Logger* is stored as a class member in templated classes
  • Add FilenameAppend::DateTime as an option when creating a file handler

v1.7.0

17 Apr 15:06
3dfa0ff
Compare
Choose a tag to compare

New Features

  • Add a new function quill::get_all_loggers() that returns all the existing
    loggers. (#114)
  • Add %(level_id) to pattern formatter. (#136)
  • Users can now specialise copy_loggable<T> to mark user defined types as safe to
    copy. (#132)

Improvements

  • Update bundled fmt to 8.1.1
  • Fix initializations for C++17.
  • Fix compiler warning in check_format() function.
  • Replace QUILL_DUAL_QUEUE_MODE with QUILL_DISABLE_DUAL_QUEUE_MODE in TweakMe.h.
  • Minor performance and accuracy improvements to rdtsc clock used by the backend logging thread.
  • Fix compile error when C++20 is used. (#162)
  • Fix get_page_size() to only call sysconf once. (#160)
  • Previously if quill:start(true) was called more than once in the application, the signal handlers would get
    initialised again. Now any subsequent calls to quill:start(true) will now have no effect
    (#167)
  • Previously when the max limit of rotated files in RotatingFileHandler was reached, quill would stop rotating and
    instead keep logging everything into the last log file. Now when the maximum limit of files is reached,
    quill will now keep rotating by replacing the oldest logs. (#157)
  • Improve the backend logging thread responsiveness when variables are logged in loops without any delay
    from multiple threads. (#116)
  • Fix some undefined behaviour issues reported via the AddressSantizer on the backend logging
    thread. (#166)

Bug Fixes

  • Fix incorrect timestamps in the log file when the system clock is
    updated. (#127)

v1.6.3

31 Aug 10:25
Compare
Choose a tag to compare
  • Added support for %(thread_name) in PatternFormatter. (#97)
  • Added missing header needed for recent versions of fmt. (#95)
  • Force flush all active handlers on application exit.
  • Update bundled fmt to 8.0.1

v1.6.2

28 Mar 15:57
Compare
Choose a tag to compare

Fixes

  • Fix WIN32 compilation error when NOMINMAX is already defined.
  • Fix string to wstring MinGW conversion. (#92)
  • Log enums via the main queue. (#90)
  • Fix windows compiler error when min/max macros are defined. (#94)

v1.6.1

01 Jan 16:48
Compare
Choose a tag to compare
  • Fix windows C++20 build. (#83)
  • Fix ARM build on windows.
  • Fix example_backtrace and minor bug when destructing with empty backtrace.

v1.6.0

03 Dec 00:07
a893abd
Compare
Choose a tag to compare

New Features

  • Dual queue mode offering even lower latencies on hot paths. See Dual Queue Mode.
  • Added a signal handler for linux and windows. The signal handler flushes the log when the app crashes or exits. (#1)
  • Added support for custom handlers. (#75)
  • Quill now compiles and runs on Cygwin.

Improvements/Fixes

  • The queue from the caller to the backend worker thread has been reworked. The new queue generates slightly better assembly than the previous one. Quill does no longer depend on mapping the same region of physical memory twice.
  • Replaced an assertion check that could trigger incorrectly. (#68)
  • Fixed build on ARM_ARCH < 6. (#78)
  • Fixed compile errors when QUILL_NOEXCEPTIONS, CMAKE_CXX_STANDARD 20, QUILL_USE_BOUNDED_QUEUE are set.
  • The unit tests have been moved to a separate binary with their own main(). This increased build times when building the tests, but the failures are now easier to debug on different CI platforms and the tests can also run faster in parallel.
  • Fixed minor compiler warnings on windows.
  • Upgraded bundled libfmt to 7.1.3
  • Updated readme benchmarks section for v.1.6.0

Note

  • If a custom queue capacity is defined using #define QUILL_QUEUE_CAPACITY after 1.6.0 the whole library needs to be recompiled.

v1.5.2

07 Nov 22:32
Compare
Choose a tag to compare
  • Removed the use of fmt::format() in FileUtilities.cpp as a workaround to the link errors in fmt v7. Use the header only version of libfmt when external libfmt is defiend is no longer required.

v1.5.1

07 Nov 14:36
Compare
Choose a tag to compare
  • When QUILL_FMT_EXTERNAL is defined, quill will use the header only version of libfmt. This is a workaround to the link errors after libftm v7