Skip to content

Releases: google/glog

google-glog 0.7.0

17 Feb 17:49
34b8da6
Compare
Choose a tag to compare

In this release, glog underwent a major overhaul to take advantage of C++14 language and library features. Among the many changes, the public API has also been extended to use the more up-to-date standard library types (notably chrono).

Highlights

  • C++14 is now the primary language standard
  • Emscripten support
  • Many fixes and enhancements

Compatibility

glog aims to maintain source compatibility with the previous release. We did our best to ensure such compatibility in this version as well. However, downstream clients must recompile against the new glog version due to ABI incompatible changes.

Deprecations

A number of functions, methods, and types have been deprecated in favor of more uniform interface.

Warning

Deprecated methods will be removed in glog 0.8.0. Please make sure to update your code.

  • google::LogMessage::getMessageTime has been superseded by google::LogMessage::time.
  • google::LogMessageTime::timestamp has been superseded by google::LogMessageTime::when.
  • google::LogMessageTime::gmtoff has been superseded by google::LogMessageTime::gmtoffset.
  • google::EnableLogCleaner(unsigned) has been superseded by google::EnableLogCleaner(std::chrono::minutes).
  • google::LogSink::send accepting std::tm (deprecated since glog 0.6.0) has been superseded by google::LogSink::send to accept google::LogMessageTime instead.
  • google::LogMessageInfo and the custom prefix callback accepting this type have been superseded by google::LogMessage. To customize the log line prefix use the google::InstallPrefixFormatter function instead of the google::InitGoogleLogging overload.

Further changes

  • google::LogSeverity has been converted to an unscoped enum. This can result in compilation issues if implicit conversion between an int and google::LogSeverity was erroneously assumed.
  • By default, CMake no longer generates the undocumented and untested pkg-config files. The support is now opt in which requires the CMake option WITH_PKGCONFIG to be explicitly set to ON.

What's Changed

Read more

google-glog 0.7.0-rc1

10 Jan 13:17
7e6fca9
Compare
Choose a tag to compare
google-glog 0.7.0-rc1 Pre-release
Pre-release

In this release, glog underwent a major overhaul to take advantage of C++14 language and library features. Among the many changes, the public API has also been extended to use the more up-to-date standard library types (notably chrono).

Please take the opportunity to test this release candidate and report any issues. The final release of glog 0.7.0 is expected in early February 2024.

Highlights

  • C++14 is now the primary language standard
  • Emscripten support
  • Many fixes and enhancements

Compatibility

glog aims to maintain source compatibility with the previous release. We did our best to ensure such compatibility in this version as well. However, downstream clients must recompile against the new glog version due to ABI incompatible changes.

Deprecations

A number of functions, methods, and types have been deprecated in favor of more uniform interface.

Warning

Deprecated methods will be removed in glog 0.8.0. Please make sure to update your code.

  • google::LogMessage::getMessageTime has been superseded by google::LogMessage::time.
  • google::LogMessageTime::timestamp has been superseded by google::LogMessageTime::when.
  • google::LogMessageTime::gmtoff has been superseded by google::LogMessageTime::gmtoffset.
  • google::EnableLogCleaner(unsigned) has been superseded by google::EnableLogCleaner(std::chrono::minutes).
  • google::LogSink::send accepting std::tm (deprecated since glog 0.6.0) has been superseded by google::LogSink::send to accept google::LogMessageTime instead.
  • google::LogMessageInfo and the custom prefix callback accepting this type have been superseded by google::LogMessage. To customize the log line prefix use the google::InstallPrefixFormatter function instead of the google::InitGoogleLogging overload.

Further changes

  • google::LogSeverity has been converted to an unscoped enum. This can result in compilation issues if implicit conversion between an int and google::LogSeverity was erroneously assumed.
  • By default, CMake no longer generates the undocumented and untested pkg-config files. The support is now opt in which requires the CMake option WITH_PKGCONFIG to be explicitly set to ON.

What's Changed

Read more

google-glog 0.6.0

04 Apr 22:04
b33e3ba
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0

google-glog 0.6.0-rc2

20 Mar 12:28
864ef64
Compare
Choose a tag to compare
google-glog 0.6.0-rc2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0-rc2

google-glog 0.6.0-rc1

27 Feb 17:28
a8e0007
Compare
Choose a tag to compare
google-glog 0.6.0-rc1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0-rc1

google-glog 0.5.0

07 May 23:06
8f9ccfe
Compare
Choose a tag to compare

Implemented enhancements:

  • Add support for customizing the prefix format #578
  • "sprintf" function being used in googletest.h which is not secure #536
  • stacktrace is not produced on aarch64 #531
  • Documenting minimum C++ version #527
  • Glog file separation by year #516
  • Bazel support for windows #472
  • GOOGLE_GLOG_DLL_DECL needs to be put into header file #469
  • Glog should delete old log files automaticly #423
  • CHECK_XX variants do not compile if nullptr is an argument #341
  • autogen.sh makes git directory dirty #308
  • LogSink::ToString has no microsecond precision. #307
  • Conan package for glog #262
  • How to change format of logger? for example time and verbose level name and etc #229
  • Username lookup needs a tuneup #211
  • Feature request for sudo make uninstall #163
  • glog should use ThreadSanitizer (TSAN) dynamic annotations #80
  • Add support for deleting old logs #36
  • CHECK support for nullptr (fixes #341) #641 (sergiud)
  • cmake: do not require a C compiler #627 (sergiud)
  • use C++ headers #626 (sergiud)
  • removed windows-specific headers #625 (sergiud)
  • document C++ version #623 (sergiud)
  • Add support for customizing the prefix format #554 (santigl)
  • Add extra information in log file header (application build/version, actual duration time) #438 (d-uspenskiy)
  • Use libunwind as an imported target #368 (UVV-gh)
  • Annotate LOG_EVERY_N macros as a benign race for TSAN #263 (kennyyu)

Fixed bugs:

  • Incorrect Unwind version parser #598
  • Large integers get truncated #594
  • Windows shared library generates linkage warnings #569
  • Replace obsolete __CYGWIN64__ macro #566
  • Disabling 'Symbolize functionality' is not working #563
  • LOG_TO_STRING and std namespace #550
  • Ownership with SetLogger #524
  • gtest usage not implemented in CMake build system #510
  • ac_cv___attribute___printf_4_5 not set in CMake build system #509
  • --max_log_size not work when larger than 4096 #497
  • vmodule flag is not declared #466
  • TSan warning: a race in LOG_EVERY_N and friends #439
  • stacktrace unittest hangs on MSVC #328
  • EXC_BAD_ACCESS on iOS #275
  • Signal handler tests fail on ARM #256
  • glog 0.3.5 compilation failed on Centos 7 #243
  • ./libtool: line 6000: cd: no/lib: No such file or directory #215
  • Test stl_logging fails in macOS CMake build #201
  • autoconf build does not version the library #196
  • gcc 4.7.2, 4.8.3, 4.9.2 unit test failures on C++11 #14
  • fix gflags windows linker warnings #640 (sergiud)
  • fixed windows builds #639 (sergiud)
  • fix LogCleaner::IsLogFromCurrentProject for filename_extension #637 (xiaobfly)
  • fully qualify std::string #624 (sergiud)
  • handle --max_log_size overflow #622 (sergiud)
  • cmake: optionally use gtest #621 (sergiud)
  • cmake: allow to disable symbolize #620 (sergiud)
  • build: set ac_cv___attribute___printf_4_5 #618 (sergiud)
  • cmake: fixed unwind patch component match check #613 (sergiud)

Closed issues:

  • call InitGoogleLogging get a segment fault #607
  • BUILD file will create a conflict with build/ folder #606
  • glog don't create log file in visual c++ dll project #605
  • error in CMAKE installation steps--$ git clone git@github.com:google/glog.git should change to $ git clone https://github.com/google/glog.git #603
  • No system link created along with the log files #599
  • CMake build instructions do not work for paths with ampersand #597
  • publicly visible Bazel target no longer provides any headers #596
  • LogCleaner::IsLogFromCurrentProject incorrect when SetLogFilenameExtension #589
  • EnableLogCleaner not recognized #586
  • IsGlogLog problem #584
  • Build fails with clang-cl due to undefined symbols #575
  • Write the correct Windows version in the log header #572
  • Ability to write time in UTC in log files #571
  • compile error: use of overloaded operator '<<' is ambiguous #562
  • glog error log was incorrrectly written to unexpected memory #561
  • How to disable logging. #556
  • Cannot compile "configure: WARNING: 'missing' script is too old or missing" #544
  • Support to modify verbose log level for mudules #538
  • Dropping autoconf support #537
  • Failed to print INFO and WARNING log #533
  • glog rpm installation fails if openstack-train repo is enabled #522
  • stripped binaries produce useless backtraces #514
  • Flag --incompatible_no_implicit_file_export will break Google Logging in a future Bazel release #512
  • Flag --incompatible_load_cc_rules_from_bzl will break Google Logging in Bazel 1.2.1 #507
  • Flag --incompatible_no_implicit_file_export will break Google Logging in Bazel 1.2.1 #506
  • Is there any way logging without a mutex #504
  • Including glog/logging.h triggers -Wunused-parameter on g++ #493
  • Bazel: building glog with custom version gflags #480
  • max_log_size flag does not work on AIX or linux #476
  • cmake/DetermineGflagsNamespace.cmake was ignored when repush #473
  • Conflict with gflags #458
  • log file name error after application restart #457
  • App security test reports Insecure API for React Native iOS App - Binary Analysis (IPA) #453
  • multi thread cant share glog setting #450
  • How do I write logs to files only? #436
  • Crash in symbolize_unittest on Ubuntu 18.04 x86_64 #435
  • Does glog...
Read more

google-glog 0.5.0-rc2

12 Apr 09:45
0efaa59
Compare
Choose a tag to compare
google-glog 0.5.0-rc2 Pre-release
Pre-release

Implemented enhancements:

  • Add support for customizing the prefix format #578
  • stacktrace is not produced on aarch64 #531
  • Documenting minimum C++ version #527
  • GOOGLE_GLOG_DLL_DECL needs to be put into header file #469
  • CHECK_XX variants do not compile if nullptr is an argument #341
  • autogen.sh makes git directory dirty #308
  • Conan package for glog #262
  • How to change format of logger? for example time and verbose level name and etc #229
  • Username lookup needs a tuneup #211
  • Feature request for sudo make uninstall #163
  • glog should use ThreadSanitizer (TSAN) dynamic annotations #80
  • Add support for deleting old logs #36
  • CHECK support for nullptr (fixes #341) #641 (sergiud)
  • cmake: do not require a C compiler #627 (sergiud)
  • use C++ headers #626 (sergiud)
  • removed windows-specific headers #625 (sergiud)
  • document C++ version #623 (sergiud)
  • Add support for customizing the prefix format #554 (santigl)

Fixed bugs:

  • Large integers get truncated #594
  • Windows shared library generates linkage warnings #569
  • Disabling 'Symbolize functionality' is not working #563
  • LOG_TO_STRING and std namespace #550
  • gtest usage not implemented in CMake build system #510
  • ac_cv___attribute___printf_4_5 not set in CMake build system #509
  • --max_log_size not work when larger than 4096 #497
  • vmodule flag is not declared #466
  • TSan warning: a race in LOG_EVERY_N and friends #439
  • stacktrace unittest hangs on MSVC #328
  • EXC_BAD_ACCESS on iOS #275
  • Signal handler tests fail on ARM #256
  • glog 0.3.5 compilation failed on Centos 7 #243
  • ./libtool: line 6000: cd: no/lib: No such file or directory #215
  • autoconf build does not version the library #196
  • gcc 4.7.2, 4.8.3, 4.9.2 unit test failures on C++11 #14
  • fix gflags windows linker warnings #640 (sergiud)
  • fixed windows builds #639 (sergiud)
  • fix LogCleaner::IsLogFromCurrentProject for filename_extension #637 (xiaobfly)
  • fully qualify std::string #624 (sergiud)
  • handle --max_log_size overflow #622 (sergiud)
  • cmake: optionally use gtest #621 (sergiud)
  • cmake: allow to disable symbolize #620 (sergiud)
  • build: set ac_cv___attribute___printf_4_5 #618 (sergiud)

Closed issues:

  • call InitGoogleLogging get a segment fault #607
  • Build fails with clang-cl due to undefined symbols #575
  • compile error: use of overloaded operator '<<' is ambiguous #562
  • Support to modify verbose log level for mudules #538
  • max_log_size flag does not work on AIX or linux #476
  • App security test reports Insecure API for React Native iOS App - Binary Analysis (IPA) #453
  • How do I write logs to files only? #436
  • Does glog support compress log files? #434
  • Bazel build doesn't set correct compile flags. #430
  • how to change the name of final dynamic library #427
  • suggest about gflags #426
  • about filename_extension_ in CreateLogfile #395
  • Add cc_library for ScopedMockLog #392
  • When building a react native project glog is causing a failure. #382
  • glog's endline is not thread safe when using with another logging system?! #379
  • Logfile full within 1s results in error #378
  • InitGoogleLogging bug ,Could not create logging file #375
  • static google::log_mutex destroyed on exit, while other still existing threads want to log #363
  • Does GLOG support log logs by day? #362
  • how to compile it for android ndk? #360
  • Cross Compile Error #358
  • add daemon(1,0) ,then log is missing #357
  • logtostderr filtering #356
  • Get trouble in compiling glog for android! #355
  • stl_logging unit test don't pass #348
  • Unittest generates warning with C++17 regarding auto_ptr #335
  • Use Upstream GoogleTest #333
  • Static declaration of 'pread' follows non-static declaration error while building in xcode #326
  • __declspec(dllimport) public: __thiscall google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const *) #316
  • glog can't be compiled using Android NDK r16 #306
  • VLOG before InitGoogleLogging causes crash #290
  • macro 'AM_CONFIG_HEADER' not found in library #271
  • Print binary-identifying info at the top of each file #269
  • The spec.prepare_command lead an error #255
  • signalhandler_unittest tests fails on aarch64 #219
  • Compiling error: undefined references to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]() #195
  • [0.3.5] errors during make check #194
  • Allow coredump to be generated upon LOG(FATAL) #192
  • Thread ID on macOS #182
  • signalhandler_unittest tests fails on ppc64le #177
  • --without-gflags is not working #175
  • (gflags_reporting.cc.o): relocation R_X86_64_32 against.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC #174
  • Flag to give users choice to enable or disable time_pid_string attaching to the log file name #173
  • DCHECK_NOTNULL generates "expression result unused" errors with clang in strict compilation mode #172
  • C4722: destructor never returns potential memory leak #171
  • Logging to the same file from multiple processes #170
  • Support vmodule filter support on non GNU compilers #154
  • can glog write to a specified file name? #147
  • Expose DumpStackTraceToString to application/user #144
  • Adding LOG_IF_OR_EVERY_N() #143
  • Support initializing logger and sinker by configurati...
Read more

google-glog 0.5.0-rc1

30 Mar 10:21
Compare
Choose a tag to compare
google-glog 0.5.0-rc1 Pre-release
Pre-release

Implemented enhancements:

  • "sprintf" function being used in googletest.h which is not secure #536
  • Glog file separation by year #516
  • Bazel support for windows #472
  • Glog should delete old log files automaticly #423
  • LogSink::ToString has no microsecond precision. #307
  • Add extra information in log file header (application build/version, actual duration time) #438 (d-uspenskiy)
  • Use libunwind as an imported target #368 (UVV-gh)
  • Annotate LOG_EVERY_N macros as a benign race for TSAN #263 (kennyyu)

Fixed bugs:

  • Incorrect Unwind version parser #598
  • Replace obsolete __CYGWIN64__ macro #566
  • Ownership with SetLogger #524
  • Test stl_logging fails in macOS CMake build #201
  • cmake: fixed unwind patch component match check #613 (sergiud)

Closed issues:

  • BUILD file will create a conflict with build/ folder #606
  • glog don't create log file in visual c++ dll project #605
  • error in CMAKE installation steps--$ git clone git@github.com:google/glog.git should change to $ git clone https://github.com/google/glog.git #603
  • No system link created along with the log files #599
  • CMake build instructions do not work for paths with ampersand #597
  • publicly visible Bazel target no longer provides any headers #596
  • LogCleaner::IsLogFromCurrentProject incorrect when SetLogFilenameExtension #589
  • EnableLogCleaner not recognized #586
  • IsGlogLog problem #584
  • Write the correct Windows version in the log header #572
  • Ability to write time in UTC in log files #571
  • glog error log was incorrrectly written to unexpected memory #561
  • How to disable logging. #556
  • Cannot compile "configure: WARNING: 'missing' script is too old or missing" #544
  • Dropping autoconf support #537
  • Failed to print INFO and WARNING log #533
  • glog rpm installation fails if openstack-train repo is enabled #522
  • stripped binaries produce useless backtraces #514
  • Flag --incompatible_no_implicit_file_export will break Google Logging in a future Bazel release #512
  • Flag --incompatible_load_cc_rules_from_bzl will break Google Logging in Bazel 1.2.1 #507
  • Flag --incompatible_no_implicit_file_export will break Google Logging in Bazel 1.2.1 #506
  • Is there any way logging without a mutex #504
  • Including glog/logging.h triggers -Wunused-parameter on g++ #493
  • Bazel: building glog with custom version gflags #480
  • cmake/DetermineGflagsNamespace.cmake was ignored when repush #473
  • Conflict with gflags #458
  • log file name error after application restart #457
  • multi thread cant share glog setting #450
  • Crash in symbolize_unittest on Ubuntu 18.04 x86_64 #435
  • golang/glog sometime can not create the log_dir? #369
  • Stacktrace is not printed by failure signal handler when built with Bazel #346
  • When might 0.3.6 be released? #345
  • libunwind GetStackTrace implementation doesn't allow concurrent invocations #298
  • stacktrace_libunwind-inl.h: reentrancy check should use a thread-local instead of a global variable #160

Merged pull requests:

Read more

google-glog 0.4.0

22 Mar 02:57
96a2f23
Compare
Choose a tag to compare

google-glog 0.3.5

10 May 11:51
Compare
Choose a tag to compare
  • CHECK_NOTNULL works with smart pointers when compiled in C++11
  • Add __declspec(noreturn) on Win
  • DCHECK_ALWAYS_ON to make D* enabled under NDEBUG
  • MinGW: avoid the error "conflicting declaration 'typedef DWORD pthread_t'" etc.
  • NULL sinks_ after deletion to prevent dangling pointer
  • Symbolize: Calculate a module's zero VA using program headers
  • Allow permission line in /proc/self/map to be "rwx"
  • Add support for PowerPC
  • Use namespace GFLAGS_NAMESPACE instead namespace gflags. #62
  • Win: use _fdopen instead of fdopen. Fix #73
  • Win: FAILED macro can't be used with HANDLE. Fix #79
  • Avoid calling new/malloc in signalhandler to fix #78
  • Reset SIGABRT action only if FailureSignalHandler is installed
  • Fix missing public include directory
  • Fix double-free in unit test on Windows
  • Add logfile_mode to control logfile permissions to fix #23
  • Fix mocklog unused arguments
  • Fix redefinition of _XOPEN_SOURCE
  • Don't call RAW_VLOG with locking vmodule_lock to fix #29
  • Add CMake support. closes #4
  • Fix #8 AddLogSink memory leak
  • Add #ifndefs to avoid collision with other google opensource projects
  • LOG_STRING: use std::vector and std::string
  • Adds color output support for tmux terminals
  • Fix x64/Debug build on MSVS