Releases: yvoinov/memlogger
Releases · yvoinov/memlogger
Version 2.2.1
Version 2.2.0
- IMPROVEMENT: Added runtime detection of malloc_usable_size() to log free() calls if used in conjunction with a preloaded third-party allocator that supports malloc_usable_size().
- IMPROVEMENT: Got rid unnesessary compile-time detection of malloc_usable_size().
- FIX: Replaced _t suffixes for custom types.
Version 2.1.2
- FIX: Explicit arrays of structs initialization.
- IMPROVEMENT: It is enough to capture 'this' in Timer class for C++11/C++20 compatibility.
- IMPROVEMENT: Removed obsoleted code.
- IMPROVEMENT: Got rid CVs and unnesessary headers.
- IMPROVEMENT: CMake support added.
- FIX: Configure error 'grep: warning: stray \ before -'.
- IMPROVEMENT: Added CPack support for source package.
- FIX: Minor bugs with CMake LTO block.
- IMPROVEMENT: Added CPack support for binary packages.
- IMPROVEMENT: Added CPack system name and system processor to package name.
- FIX: Stripping release binaries with CMake.
- IMPROVEMENT: Added _REENTRANT define.
- IMPROVEMENT: Added check STL to CMakeLists.txt.
- FIX: Typo in configure.ac.
- IMPROVEMENT: Replaced POSIX-like type names in external API.
- IMPROVEMENT: Mark MemoryLogger class ctor as noexcept.
- IMPROVEMENT: Singleton instantiation on load.
- FIX: Typos.
Version 2.1.1
- IMPROVEMENT: Added C++20 atomic_flag support.
- FIX: Implicit capture of 'this' via '[=]' is deprecated in C++20.
Version 2.1.0
- IMPROVEMENT: Added free() calls logging (if supported malloc_usable_size() function).
- IMPROVEMENT: Do not log paired free() for inner malloc() calls.
- IMPROVEMENT: Code formatting.
- IMPROVEMENT: Refactored inner malloc flag processing.
- IMPROVEMENT: Made methods of InnerMallocFlag class protected.
- FIX: Removed unnesessary in-class initialization.
- IMPROVEMENT: Refactoring - templated flag.
Version 2.0.37
- IMPROVEMENT: Refactoring - got rid computeTotalLoggingTime() with loops.
- IMPROVEMENT: Refactoring printReport().
- IMPROVEMENT: Renamed and reworked class OnLoadInit to parametrized Timer.
- IMPROVEMENT: Timer class made templated too.
- IMPROVEMENT: S- IMPlified condition in printReportTotal().
- IMPROVEMENT: Code style.
- FIX: Segfault when hangup logging interactive session.
- FIX: __cxa_guard_acquire deadlock on 5.x Linux kernels due to libC issue.
- IMPROVEMENT: Refactoring - less preprocessor code.
- IMPROVEMENT: Replaced calloc() dlsym() hack to mmap() call.
- FIX: mmap() calls just once.
- IMPROVEMENT: Replaced enum to enum class.
- FIX: Made Timer class compatible with some programs on Debian.
- FIX: Small includes fix.
- FIX: Possible UB.
- IMPROVEMENT: Compiler -pthread flag set.
- IMPROVEMENT: Explicit clang stdlib support.
- FIX: Runtime error 'undefined symbol: _ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE' on Fedora/RH.
- FIX: Clang compilation warning.
- IMPROVEMENT: Correctly signalling timer thread to end.
- IMPROVEMENT: Removed excessive casting.
- IMPROVEMENT: Added checking dlerror in ctor.
- IMPROVEMENT: Added header check: sys/mman.h
- IMPROVEMENT: Moved mmap() call to private member function.
- IMPROVEMENT: The printReportTotal() function made reads the array under a row-level lock while writing to the file at runtime to ensure consistency.
- IMPROVEMENT: Some code formatting.
- IMPROVEMENT: Added function name in printReportTotal() not found message.
- FIX: Code formatting.
Version 2.0.36
- IMPROVEMENT: Best computeTotalLoggingTime() implementation.
- FIX: Comment for Now().
Version 2.0.35
- IMPROVEMENT: Used steady_clock instead system_clock in Now().
- FIX: Second workaround for *BSD compatibility (now FreeBSD only).
- IMPROVEMENT: Added check libdl and set if found.
Version 2.0.34
- IMPROVEMENT: Better computeTotalLoggingTime() implementation.
Version 2.0.33
- FIX: Broken computePeakValue().