All Versions
40
Latest Version
Avg Release Cycle
18 days
Latest Release
-

Changelog History
Page 2

  • v2.1.0 Changes

    ๐Ÿ‘Œ Improvements

    ๐Ÿ”ง This version includes breaking changes to the API. Those changes are related to how quill is configured, before calling quill::start() to start the backend thread.

    โšก๏ธ Check the updated examples.

    ๐Ÿ”ง Config.h - contains runtime configuration options

    ๐Ÿ”ง TweakMe.h - contains compile time configuration

    0๏ธโƒฃ For example quill::set_default_logger_handler(...) has been removed. To set a default filehandler :

      // create a handler
      quill::Handler* file_handler = quill::file_handler("test.log", "w");
    
      file_handler->set_pattern(
        "%(ascii_time) [%(thread)] %(fileline:<28) %(level_name) %(logger_name:<12) - %(message)",
        "%Y-%m-%d %H:%M:%S.%Qms", quill::Timezone::GmtTime);
    
      // set the handler as the default handler for any newly created logger in the config
      quill::Config cfg;
      cfg.default_handlers.emplace_back(file_handler);
    
      // configure must always be called prior to `start()`
      quill::configure(cfg);
      quill::start();
    
    • โœ‚ Removed some API functions from Quill.h that were previously used for configuration. Instead, quill::Config object has to be created. For example quill::config::set_backend_thread_cpu_affinity(1); has been removed and instead the following code is needed :
      quill::Config cfg;
      cfg.backend_thread_cpu_affinity = 1;
      quill::configure(cfg);
    
    • QUILL_CHRONO_CLOCK has been moved from TweakMe.h to Config.h. It is now possible to switch between rdtsc and system clocks without re-compiling. See example_trivial_system_clock.cpp
    • QUILL_RDTSC_RESYNC_INTERVAL has been moved from TweakMe.h to Config.h.
    • ๐ŸŒฒ It is now possible to log user timestamps rather than the system's. This feature is useful for time simulations. See example_custom_clock.cpp and example_custom_clock_advanced.cpp
    • ๐Ÿšš Previously the logger names were limited to a maximum of 22 characters. This limitation has been removed.
    • โž• Added support for gcc 7.5.0. (#178)
    • โšก๏ธ Updated bundled fmt to 9.0.0
  • v2.0.3 Changes

    ๐Ÿš€ (to be released...)

    ๐Ÿ‘Œ Improvements/Fixes

    • โž• Add support for gcc 7.5.0. (#178)
  • v2.0.2 Changes

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix crash when a std::string containing null-terminated characters is passed to the logger. (#176)
  • v2.0.1 Changes

    ๐Ÿ‘Œ Improvements

    • โž• Add a flag to RotatingFileHandler to disable removing the old files when w mode is used.
  • v2.0.0 Changes

    ๐Ÿ‘ From version v2 and onwards only c++17 is supported.

    ๐Ÿ”จ This version is a major refactor.

    ๐Ÿ›  Fixes

    • RotatingFileHandler will now correctly rotate the files when append mode is used (#123)

    ๐Ÿ‘Œ Improvements

    • โฌ‡๏ธ Reduced and simplified codebase.
    • ๐Ÿ‘Œ Improved backend worker thread performance.
    • QUILL_DUAL_QUEUE_MODE has been removed. A single queue now handles every case.
    • ๐Ÿšš QUILL_STRING has been removed. That macro is no longer required when passing a format string to the PatternFormatter.

    Differences

    • v1.7 compiles with c++14, v2 only compiles for c++17.
    • ๐Ÿ v1.7 on Windows supports wide character logging, v2 has limited wide character support such as logging wchar_t , std::wstring, std::wstring_view. For example, logging std::vector<std::wstring> is not supported.
    • ๐Ÿ v1.7 on Windows requires the filepath used for the handlers as a wide strings, v2 supports only filenames as narrow strings.
  • v1.7.3 Changes

    ๐Ÿ‘Œ Improvements/Fixes

    • ๐Ÿ›  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 Changes

    ๐Ÿ‘Œ Improvements/Fixes

    • ๐Ÿ›  Fix compile error when C++20 is used on windows (#162)
  • v1.7.1 Changes

    ๐Ÿ‘Œ 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 Changes

    ๐Ÿ†• 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/Fixes

    • ๐Ÿ›  Fix initializations for C++17.
    • ๐Ÿ›  Fix compiler warning in check_format() function.
    • Replace QUILL_DUAL_QUEUE_MODE with QUILL_DISABLE_DUAL_QUEUE_MODE.
    • โšก๏ธ Update bundled fmt to 8.1.1
    • ๐ŸŽ Minor performance and accuracy improvements to rdtsc clock used by the backend thread.
    • ๐Ÿ›  Fix compile error when C++20 is used. (#162)
    • Fix get_page_size() to only call sysconf once. (#160)
    • ๐Ÿ›  Fix incorrect timestamps in the log file when the system clock is updated. (#127)
    • ๐Ÿšฆ 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)
  • v1.6.4 Changes

    ๐Ÿ†• New Features

    • Add a new function quill::get_all_loggers() that returns all the existing loggers. (#114)
    • โž• Add %(level_id) to pattern formatter. (#136)

    ๐Ÿ‘Œ Improvements/Fixes

    • ๐Ÿ›  Fix initializations for C++17.
    • ๐Ÿ›  Fix compiler warning in check_format function.
    • Replace QUILL_DUAL_QUEUE_MODE with QUILL_DISABLE_DUAL_QUEUE_MODE.
    • โšก๏ธ Update bundled fmt to 8.1.1
    • ๐ŸŽ Minor performance and accuracy improvements to rdtsc clock used by the backend thread.
    • ๐Ÿ›  Fix compile error when C++20 is used. (#162)
    • Fix get_page_size() to only call sysconf once. (#160)
    • ๐Ÿ›  Fix incorrect timestamps in the log file when the system clock is updated. (#127)