Releases: google/glog
google-glog 0.7.1
This is a maintenance release that addresses several issues found in glog 0.7.0. In particular, we fixed Android detection (#1094) and properly format unknown stack frames now (#1092).
Full Changelog: v0.7.0...v0.7.1
google-glog 0.7.0
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 bygoogle::LogMessage::time
.google::LogMessageTime::timestamp
has been superseded bygoogle::LogMessageTime::when
.google::LogMessageTime::gmtoff
has been superseded bygoogle::LogMessageTime::gmtoffset
.google::EnableLogCleaner(unsigned)
has been superseded bygoogle::EnableLogCleaner(std::chrono::minutes)
.google::LogSink::send
acceptingstd::tm
(deprecated since glog 0.6.0) has been superseded bygoogle::LogSink::send
to acceptgoogle::LogMessageTime
instead.google::LogMessageInfo
and the custom prefix callback accepting this type have been superseded bygoogle::LogMessage
. To customize the log line prefix use thegoogle::InstallPrefixFormatter
function instead of thegoogle::InitGoogleLogging
overload.
Further changes
google::LogSeverity
has been converted to an unscopedenum
. This can result in compilation issues if implicit conversion between anint
andgoogle::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 toON
.
What's Changed
- bazel: Use glog 0.6.0 in README. by @xiaoxq in #831
- Strip only the first leading @ in repo name by @meteorcloudy in #832
- fix: Fix warning about redefining STDC_HEADERS by @joeyparrish in #835
- support ndk r25 by @sergiud in #844
- added emscripten support by @sergiud in #846
- simplify DLOG macro definition in NDEBUG mode by @lstaroth in #830
- windows: call to FormatMessage() should _IGNORE_INSERTS by @anpol in #849
- log_file_header: add option to disable log file headers. by @anpol in #850
- SetLogger should delete previously set custom logger. by @anpol in #853
- logsink: fix multiple issues with LogSink::ToString() by @anpol in #852
- Fix broken stacktrace by @marekcirkos in #851
- Revert "simplify DLOG macro definition in NDEBUG mode" by @sergiud in #855
- Remove symbolize Bazel test by @drigz in #860
- Disable cc toolchain resolution when using Clang on Windows by @comius in #863
- Fix Windows clang CI for CC toolchain resolution by @jsharpe in #877
- ci: run linux workflow on ubuntu 22.04 by @sergiud in #885
- ci: update actions by @sergiud in #886
- fixed emscripten detection by @sergiud in #897
- drop lgtm badges by @sergiud in #899
- avoid anonymous struct typedefs by @sergiud in #900
- cmake: rename glogbase to glog_internal by @sergiud in #901
- drop custom prefix option by @sergiud in #898
- Adds fuzz testing for demangle by @catenacyber in #878
- [docs] Add Conan usage on README by @uilianries in #862
- ci: includ CIFuzz GitHub workflow by @catenacyber in #903
- Fix empty stack trace when use bazel on aarch64 by @noaxp in #905
- move to C++14 by @sergiud in #902
- Fixes for OpenBSD by @brad0 in #921
- Fix targets for layering_check by @mai93 in #916
- Fix spelling mistakes by @Vertexwahn in #919
- logging: Prevent LogStream constructor from being discarded by @ekilmer in #925
- Warn about dragons in the Bazel
include
path by @drigz in #927 - chore(docs): fix typo in conan install step in readme by @pravinba9495 in #946
- SendEmail: Protect users against vulnerable logmailers by @philwo in #939
- fix(demangle): prevent signed integer overflow by @sergiud in #955
- fix: address sanitizer failures by @sergiud in #956
- fix: stack buffer overflow by @sergiud in #957
- fix(demangle): limit recursion depth by @sergiud in #958
- fix(demangle): limit
ParseTemplateArg
recursion depth by @sergiud in #963 - fix: enable building without threads by @sergiud in #964
- ci: replace lcov by gcovr by @sergiud in #965
- Add tsan annotation to static variable when checking if vlog is on. by @pateldeev in #890
- ci: drop code scanning category by @sergiud in #968
- fix: remove stray spaces by @sergiud in #967
- fix: prefer includes in same directory by @sergiud in #969
- Support truncate log file for windows by @bqhuyy in #960
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #970
- fix(cmake): rework ucontext_t introspection by @sergiud in #954
- LogCleaner: Fix the scenario when FLAGS_log_dir has no '/' suffix by @lingbin in #972
- fix(build): raise minimum cmake version to 3.21 by @sergiud in #974
- fix: remove redundant POSIX function aliases by @sergiud in #990
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #988
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #987
- cmake: replace
check_library_exists
bycheck_cxx_symbol_exists
by @sergiud in #991 - fix: log last error code instead of a BOOL by @sergiud in #994
- fix: replace NULL by nullptr by @sergiud in #993
- fix: drop custom (v)snprintf definition by @sergiud in #992
- symbolize_unittest: make it a bit more portable by @vapier in #985
- Added missing debug-logging macros by @4c3y in #986
- fix: shell quote user-provided mailer path by @sergiud in #999
- cmake: use threads import target by @sergiud in #1000
- cmake: do not enable TLS without threads by @sergiud in #1001
- cmake: remove obsolete check by @sergiud in #1002
- cmake: simplify symbol availability checks by @sergiud in #1003
- cmake: use glog specific project variables by @sergiud in #1004
- cmake: remove pre C++11 warning options by @sergiud in #1005
- fix: enable strip log tests by @sergiud in #1009
- rework public header structure by @sergiud in #1012
- fix: add missing
gmtime_r
check by @sergiud in #1013 - fix: remove unused test code by @sergiud in #1014
- feat: use standard mutexes by @sergiud in #1015
- feat: reduce manual deallocations by @sergiud in #1016
- fix(tests): prevent clang from optimizing new away by @sergiud in #1017
- fix(demangle): support decltype(nullptr) and pack expansion by @sergiud in #1018
- feat: use standard threads by @sergiud in #1019
- cmake: remove unused check by @sergiud in #1021
- feat: use chrono by @sergiud in #1020
- fix(demangle): place symbols in anonymous namespace by @sergiud in #1022
- feat(demangle): use cxx abi demangler by @sergiud in #1023
- fix: make log severity type safe by @sergiud in #1025
- feat: use standard atomics and call...
google-glog 0.7.0-rc1
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 bygoogle::LogMessage::time
.google::LogMessageTime::timestamp
has been superseded bygoogle::LogMessageTime::when
.google::LogMessageTime::gmtoff
has been superseded bygoogle::LogMessageTime::gmtoffset
.google::EnableLogCleaner(unsigned)
has been superseded bygoogle::EnableLogCleaner(std::chrono::minutes)
.google::LogSink::send
acceptingstd::tm
(deprecated since glog 0.6.0) has been superseded bygoogle::LogSink::send
to acceptgoogle::LogMessageTime
instead.google::LogMessageInfo
and the custom prefix callback accepting this type have been superseded bygoogle::LogMessage
. To customize the log line prefix use thegoogle::InstallPrefixFormatter
function instead of thegoogle::InitGoogleLogging
overload.
Further changes
google::LogSeverity
has been converted to an unscopedenum
. This can result in compilation issues if implicit conversion between anint
andgoogle::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 toON
.
What's Changed
- bazel: Use glog 0.6.0 in README. by @xiaoxq in #831
- Strip only the first leading @ in repo name by @meteorcloudy in #832
- fix: Fix warning about redefining STDC_HEADERS by @joeyparrish in #835
- support ndk r25 by @sergiud in #844
- added emscripten support by @sergiud in #846
- simplify DLOG macro definition in NDEBUG mode by @lstaroth in #830
- windows: call to FormatMessage() should _IGNORE_INSERTS by @anpol in #849
- log_file_header: add option to disable log file headers. by @anpol in #850
- SetLogger should delete previously set custom logger. by @anpol in #853
- logsink: fix multiple issues with LogSink::ToString() by @anpol in #852
- Fix broken stacktrace by @marekcirkos in #851
- Revert "simplify DLOG macro definition in NDEBUG mode" by @sergiud in #855
- Remove symbolize Bazel test by @drigz in #860
- Disable cc toolchain resolution when using Clang on Windows by @comius in #863
- Fix Windows clang CI for CC toolchain resolution by @jsharpe in #877
- ci: run linux workflow on ubuntu 22.04 by @sergiud in #885
- ci: update actions by @sergiud in #886
- fixed emscripten detection by @sergiud in #897
- drop lgtm badges by @sergiud in #899
- avoid anonymous struct typedefs by @sergiud in #900
- cmake: rename glogbase to glog_internal by @sergiud in #901
- drop custom prefix option by @sergiud in #898
- Adds fuzz testing for demangle by @catenacyber in #878
- [docs] Add Conan usage on README by @uilianries in #862
- ci: includ CIFuzz GitHub workflow by @catenacyber in #903
- Fix empty stack trace when use bazel on aarch64 by @noaxp in #905
- move to C++14 by @sergiud in #902
- Fixes for OpenBSD by @brad0 in #921
- Fix targets for layering_check by @mai93 in #916
- Fix spelling mistakes by @Vertexwahn in #919
- logging: Prevent LogStream constructor from being discarded by @ekilmer in #925
- Warn about dragons in the Bazel
include
path by @drigz in #927 - chore(docs): fix typo in conan install step in readme by @pravinba9495 in #946
- SendEmail: Protect users against vulnerable logmailers by @philwo in #939
- fix(demangle): prevent signed integer overflow by @sergiud in #955
- fix: address sanitizer failures by @sergiud in #956
- fix: stack buffer overflow by @sergiud in #957
- fix(demangle): limit recursion depth by @sergiud in #958
- fix(demangle): limit
ParseTemplateArg
recursion depth by @sergiud in #963 - fix: enable building without threads by @sergiud in #964
- ci: replace lcov by gcovr by @sergiud in #965
- Add tsan annotation to static variable when checking if vlog is on. by @pateldeev in #890
- ci: drop code scanning category by @sergiud in #968
- fix: remove stray spaces by @sergiud in #967
- fix: prefer includes in same directory by @sergiud in #969
- Support truncate log file for windows by @bqhuyy in #960
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #970
- fix(cmake): rework ucontext_t introspection by @sergiud in #954
- LogCleaner: Fix the scenario when FLAGS_log_dir has no '/' suffix by @lingbin in #972
- fix(build): raise minimum cmake version to 3.21 by @sergiud in #974
- fix: remove redundant POSIX function aliases by @sergiud in #990
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #988
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #987
- cmake: replace
check_library_exists
bycheck_cxx_symbol_exists
by @sergiud in #991 - fix: log last error code instead of a BOOL by @sergiud in #994
- fix: replace NULL by nullptr by @sergiud in #993
- fix: drop custom (v)snprintf definition by @sergiud in #992
- symbolize_unittest: make it a bit more portable by @vapier in #985
- Added missing debug-logging macros by @4c3y in #986
- fix: shell quote user-provided mailer path by @sergiud in #999
- cmake: use threads import target by @sergiud in #1000
- cmake: do not enable TLS without threads by @sergiud in #1001
- cmake: remove obsolete check by @sergiud in #1002
- cmake: simplify symbol availability checks by @sergiud in #1003
- cmake: use glog specific project variables by @sergiud in #1004
- cmake: remove pre C++11 warning options by @sergiud in #1005
- fix: enable strip log tests by @sergiud in #1009
- rework public header structure by @sergiud in #1012
- fix: add missing
gmtime_r
check by @sergiud in #1013 - fix: remove unused test code by @sergiud in #1014
- feat: use standard mutexes by @sergiud in #1015
- feat: reduce manual deallocations by @sergiud in #1016
- fix(tests): prevent clang from optimizing new away by @sergiud in #1017
- fix(demangle): support decltype(nullptr) and pack expansion by @sergiud in #1018
- feat: use standard threads by @sergiud in #1019
- cmake: remove unused check by @sergiud in #1021
- feat: use chrono by @sergiud in #1020
- fix(demangle): place symbols in anonymous namespace by @sergiud in #1022
- feat(demangle): use cxx abi demangler by @sergiud in https://github...
google-glog 0.6.0
What's Changed
- bazel: Use glog 0.5.0 in README by @drigz in #647
- Expose
IsGoogleLoggingInitialized()
in public API. by @xkszltl in #651 - Fix cmake configuration for cygwin environment by @romange in #656
- Allow updating vmodule levels after vmodule level has been cached by @romange in #650
- Export COPYING by @fmeum in #666
- cmake: fixed msvc snprintf detection (fixes #668) by @sergiud in #670
- cmake: allow to override
-fPIC
by @sergiud in #672 - cmake: export
<atomic>
availability (fixes #667) by @sergiud in #671 - Remove ubuntu1604 from presubmit.yml by @philwo in #677
- bazel: add GLOG_CUSTOM_PREFIX_SUPPORT by @luliyucoordinate in #676
- log messages periodically (time-based) by @darbitman in #669
- ci: support more targets by @sergiud in #686
- cmake: prefer linking against gflags::gflags (fixes #683) by @sergiud in #684
- Fix syscall deprecation warning on macOS >= 10.12 by @z-aki in #685
- fixed exception specification mismatch by @sergiud in #687
- readme: fix wrong header id by @StephLin in #674
- eliminate warnings by @sergiud in #688
- fixed additional warnings by @sergiud in #694
- Add an static cast to compare unsigned with unsigned by @Fettpet in #696
- Fix: not implement virtual class when WITH_CUSTOM_PREFIX on by @Starsss in #700
- Change size type in AnnotateBenignRaceSized to size_t from long by @dfreese in #706
- Fix link error for Emscripten by @kinsei0916 in #710
raw_logging.h
depends on type definition inlogging.h
. by @xkszltl in #713- export
OS_*
defines (fixes #715) by @sergiud in #716 - Fix
syscall
warning in Bazel Build by @ArthurBandaryk in #718 - Add -Werror to Bazel presubmits by @drigz in #719
- added gmock support by @sergiud in #720
- Support stack unwind on Android by @huangqinjin in #708
- add linux github workflow by @sergiud in #722
- ci: replace generated headers by templates by @sergiud in #723
- add mock log test by @sergiud in #724
- added log cleaner tests and fixed paths by @sergiud in #732
- Make LogCleaner support relative paths by @aesophor in #654
- cmake: Fix incorrect relative-path concatenation by @nh2 in #733
- Restore the stream format after writing the log prefix by @meyerj in #731
- fix
glog-modules.cmake
install by @sergiud in #739 - protect VLOG by use_logging by @sergiud in #742
- Fix log filename format by @cmsflash in #747
- Add Zhuoran Shen to AUTHORS and CONTRIBUTORS by @cmsflash in #748
- ci: reworked windows builds by @sergiud in #737
- cmake: set CMP0074 policy by @sergiud in #751
- ci: use codecov token by @sergiud in #752
- Added gmtoff() method in 'LogMessageTime' to get GMT offset by @vijaysattigeri in #727
- LogCleaner: Fix relative paths and add a new test by @aesophor in #754
- eliminate msvc warnings by @sergiud in #757
- cmake: require at least version 3.16 by @sergiud in #758
- ci: enable warnings as errors by @sergiud in #759
- LogCleaner: make
overdue_days_
unsigned int by @aesophor in #760 - ci: remove deprecated msvc runner by @sergiud in #762
- provide backward compatible send overload by @sergiud in #763
- run clang-tidy by @sergiud in #765
- eliminate clang warnings by @sergiud in #766
- ensure
_Unwind_Backtrace
to actually be available by @sergiud in #767 - cmake: do not search for platform specific unwind by @sergiud in #769
- revert to signed int atomics by @sergiud in #770
- Add the "FLAG_log_year_in_prefix" by @msamoila in #771
- use uint32 for --max-log-size by @sergiud in #773
- stdcxx: eliminate excessive use of std::string::c_str() by @anpol in #775
- cmake: require at least gflags 2.2.2 by @sergiud in #781
- Changed my Email ID by @vijaysattigeri in #782
- On Solaris, GetHostName() returns empty string by @fkolarek in #783
- LogCleaner: avoid scanning logs too frequently by @fdgkhdkgh in #776
- libglog.pc: Set Libs.private for static linking by @Arfrever in #787
- cmake: enable custom prefix by default by @sergiud in #788
- simplify flags export by @sergiud in #791
- rename
GOOGLE_GLOG_DLL_DECL
toGLOG_EXPORT
by @sergiud in #764 - cmake_package_config_generate: Fix CMake warnings with CMake 3.23 by @Arfrever in #792
- Tests: Respect TEST_TMPDIR, TMPDIR, TMP environmental variables by @Arfrever in #794
- Add the logtostdout and colorlogtostdout flag to allow logging to stdout by @git-hulk in #790
- Add clang-cl.exe to Bazel CI by @drigz in #802
- Fix "'GLOG_EXPORT' macro redefined" on clang-cl by @drigz in #803
- Fix namespace resolution issue in LOG_EVERY_T by @skeptic-monkey in #801
- release 0.6 by @sergiud in #812
New Contributors
- @xkszltl made their first contribution in #651
- @fmeum made their first contribution in #666
- @luliyucoordinate made their first contribution in #676
- @darbitman made their first contribution in #669
- @z-aki made their first contribution in #685
- @StephLin made their first contribution in #674
- @Fettpet made their first contribution in #696
- @Starsss made their first contribution in #700
- @dfreese made their first contribution in #706
- @kinsei0916 made their first contribution in #710
- @ArthurBandaryk made their first contribution in #718
- @nh2 made their first contribution in #733
- @meyerj made their first contribution in #731
- @cmsflash made their first contribution in #747
- @vijaysattigeri made their first contribution in #727
- @anpol made their first contribution in #775
- @fkolarek made their first contribution in #783
- @fdgkhdkgh made their first contribution in #776
- @Arfrever made their first contribution in #787
- @git-hulk made their first contribution in #790
Full Changelog: v0.5.0...v0.6.0
google-glog 0.6.0-rc2
What's Changed
- bazel: Use glog 0.5.0 in README by @drigz in #647
- Expose
IsGoogleLoggingInitialized()
in public API. by @xkszltl in #651 - Fix cmake configuration for cygwin environment by @romange in #656
- Allow updating vmodule levels after vmodule level has been cached by @romange in #650
- Export COPYING by @fmeum in #666
- cmake: fixed msvc snprintf detection (fixes #668) by @sergiud in #670
- cmake: allow to override
-fPIC
by @sergiud in #672 - cmake: export
<atomic>
availability (fixes #667) by @sergiud in #671 - Remove ubuntu1604 from presubmit.yml by @philwo in #677
- bazel: add GLOG_CUSTOM_PREFIX_SUPPORT by @luliyucoordinate in #676
- log messages periodically (time-based) by @darbitman in #669
- ci: support more targets by @sergiud in #686
- cmake: prefer linking against gflags::gflags (fixes #683) by @sergiud in #684
- Fix syscall deprecation warning on macOS >= 10.12 by @z-aki in #685
- fixed exception specification mismatch by @sergiud in #687
- readme: fix wrong header id by @StephLin in #674
- eliminate warnings by @sergiud in #688
- fixed additional warnings by @sergiud in #694
- Add an static cast to compare unsigned with unsigned by @Fettpet in #696
- Fix: not implement virtual class when WITH_CUSTOM_PREFIX on by @Starsss in #700
- Change size type in AnnotateBenignRaceSized to size_t from long by @dfreese in #706
- Fix link error for Emscripten by @kinsei0916 in #710
raw_logging.h
depends on type definition inlogging.h
. by @xkszltl in #713- export
OS_*
defines (fixes #715) by @sergiud in #716 - Fix
syscall
warning in Bazel Build by @ArthurBandaryk in #718 - Add -Werror to Bazel presubmits by @drigz in #719
- added gmock support by @sergiud in #720
- Support stack unwind on Android by @huangqinjin in #708
- add linux github workflow by @sergiud in #722
- ci: replace generated headers by templates by @sergiud in #723
- add mock log test by @sergiud in #724
- added log cleaner tests and fixed paths by @sergiud in #732
- Make LogCleaner support relative paths by @aesophor in #654
- cmake: Fix incorrect relative-path concatenation by @nh2 in #733
- Restore the stream format after writing the log prefix by @meyerj in #731
- fix
glog-modules.cmake
install by @sergiud in #739 - protect VLOG by use_logging by @sergiud in #742
- Fix log filename format by @cmsflash in #747
- Add Zhuoran Shen to AUTHORS and CONTRIBUTORS by @cmsflash in #748
- ci: reworked windows builds by @sergiud in #737
- cmake: set CMP0074 policy by @sergiud in #751
- ci: use codecov token by @sergiud in #752
- Added gmtoff() method in 'LogMessageTime' to get GMT offset by @vijaysattigeri in #727
- LogCleaner: Fix relative paths and add a new test by @aesophor in #754
- eliminate msvc warnings by @sergiud in #757
- cmake: require at least version 3.16 by @sergiud in #758
- ci: enable warnings as errors by @sergiud in #759
- LogCleaner: make
overdue_days_
unsigned int by @aesophor in #760 - ci: remove deprecated msvc runner by @sergiud in #762
- provide backward compatible send overload by @sergiud in #763
- run clang-tidy by @sergiud in #765
- eliminate clang warnings by @sergiud in #766
- ensure
_Unwind_Backtrace
to actually be available by @sergiud in #767 - cmake: do not search for platform specific unwind by @sergiud in #769
- revert to signed int atomics by @sergiud in #770
- Add the "FLAG_log_year_in_prefix" by @msamoila in #771
- use uint32 for --max-log-size by @sergiud in #773
- stdcxx: eliminate excessive use of std::string::c_str() by @anpol in #775
- cmake: require at least gflags 2.2.2 by @sergiud in #781
- Changed my Email ID by @vijaysattigeri in #782
- On Solaris, GetHostName() returns empty string by @fkolarek in #783
- LogCleaner: avoid scanning logs too frequently by @fdgkhdkgh in #776
- libglog.pc: Set Libs.private for static linking by @Arfrever in #787
- cmake: enable custom prefix by default by @sergiud in #788
- simplify flags export by @sergiud in #791
- rename
GOOGLE_GLOG_DLL_DECL
toGLOG_EXPORT
by @sergiud in #764 - cmake_package_config_generate: Fix CMake warnings with CMake 3.23 by @Arfrever in #792
- Tests: Respect TEST_TMPDIR, TMPDIR, TMP environmental variables by @Arfrever in #794
- Add the logtostdout and colorlogtostdout flag to allow logging to stdout by @git-hulk in #790
- Add clang-cl.exe to Bazel CI by @drigz in #802
- Fix "'GLOG_EXPORT' macro redefined" on clang-cl by @drigz in #803
- Fix namespace resolution issue in LOG_EVERY_T by @skeptic-monkey in #801
New Contributors
- @xkszltl made their first contribution in #651
- @fmeum made their first contribution in #666
- @luliyucoordinate made their first contribution in #676
- @darbitman made their first contribution in #669
- @z-aki made their first contribution in #685
- @StephLin made their first contribution in #674
- @Fettpet made their first contribution in #696
- @Starsss made their first contribution in #700
- @dfreese made their first contribution in #706
- @kinsei0916 made their first contribution in #710
- @ArthurBandaryk made their first contribution in #718
- @nh2 made their first contribution in #733
- @meyerj made their first contribution in #731
- @cmsflash made their first contribution in #747
- @vijaysattigeri made their first contribution in #727
- @anpol made their first contribution in #775
- @fkolarek made their first contribution in #783
- @fdgkhdkgh made their first contribution in #776
- @Arfrever made their first contribution in #787
- @git-hulk made their first contribution in #790
Full Changelog: v0.5.0...v0.6.0-rc2
google-glog 0.6.0-rc1
What's Changed
- bazel: Use glog 0.5.0 in README by @drigz in #647
- Expose
IsGoogleLoggingInitialized()
in public API. by @xkszltl in #651 - Fix cmake configuration for cygwin environment by @romange in #656
- Allow updating vmodule levels after vmodule level has been cached by @romange in #650
- Export COPYING by @fmeum in #666
- cmake: fixed msvc snprintf detection (fixes #668) by @sergiud in #670
- cmake: allow to override
-fPIC
by @sergiud in #672 - cmake: export
<atomic>
availability (fixes #667) by @sergiud in #671 - Remove ubuntu1604 from presubmit.yml by @philwo in #677
- bazel: add GLOG_CUSTOM_PREFIX_SUPPORT by @luliyucoordinate in #676
- log messages periodically (time-based) by @darbitman in #669
- ci: support more targets by @sergiud in #686
- cmake: prefer linking against gflags::gflags (fixes #683) by @sergiud in #684
- Fix syscall deprecation warning on macOS >= 10.12 by @z-aki in #685
- fixed exception specification mismatch by @sergiud in #687
- readme: fix wrong header id by @StephLin in #674
- eliminate warnings by @sergiud in #688
- fixed additional warnings by @sergiud in #694
- Add an static cast to compare unsigned with unsigned by @Fettpet in #696
- Fix: not implement virtual class when WITH_CUSTOM_PREFIX on by @Starsss in #700
- Change size type in AnnotateBenignRaceSized to size_t from long by @dfreese in #706
- Fix link error for Emscripten by @kinsei0916 in #710
raw_logging.h
depends on type definition inlogging.h
. by @xkszltl in #713- export
OS_*
defines (fixes #715) by @sergiud in #716 - Fix
syscall
warning in Bazel Build by @ArthurBandaryk in #718 - Add -Werror to Bazel presubmits by @drigz in #719
- added gmock support by @sergiud in #720
- Support stack unwind on Android by @huangqinjin in #708
- add linux github workflow by @sergiud in #722
- ci: replace generated headers by templates by @sergiud in #723
- add mock log test by @sergiud in #724
- added log cleaner tests and fixed paths by @sergiud in #732
- Make LogCleaner support relative paths by @aesophor in #654
- cmake: Fix incorrect relative-path concatenation by @nh2 in #733
- Restore the stream format after writing the log prefix by @meyerj in #731
- fix
glog-modules.cmake
install by @sergiud in #739 - protect VLOG by use_logging by @sergiud in #742
- Fix log filename format by @cmsflash in #747
- Add Zhuoran Shen to AUTHORS and CONTRIBUTORS by @cmsflash in #748
- ci: reworked windows builds by @sergiud in #737
- cmake: set CMP0074 policy by @sergiud in #751
- ci: use codecov token by @sergiud in #752
- Added gmtoff() method in 'LogMessageTime' to get GMT offset by @vijaysattigeri in #727
- LogCleaner: Fix relative paths and add a new test by @aesophor in #754
- eliminate msvc warnings by @sergiud in #757
- cmake: require at least version 3.16 by @sergiud in #758
- ci: enable warnings as errors by @sergiud in #759
- LogCleaner: make
overdue_days_
unsigned int by @aesophor in #760 - ci: remove deprecated msvc runner by @sergiud in #762
- provide backward compatible send overload by @sergiud in #763
- run clang-tidy by @sergiud in #765
- eliminate clang warnings by @sergiud in #766
- ensure
_Unwind_Backtrace
to actually be available by @sergiud in #767 - cmake: do not search for platform specific unwind by @sergiud in #769
- revert to signed int atomics by @sergiud in #770
- Add the "FLAG_log_year_in_prefix" by @msamoila in #771
- use uint32 for --max-log-size by @sergiud in #773
- stdcxx: eliminate excessive use of std::string::c_str() by @anpol in #775
- cmake: require at least gflags 2.2.2 by @sergiud in #781
- Changed my Email ID by @vijaysattigeri in #782
- On Solaris, GetHostName() returns empty string by @fkolarek in #783
- LogCleaner: avoid scanning logs too frequently by @fdgkhdkgh in #776
- libglog.pc: Set Libs.private for static linking by @Arfrever in #787
- cmake: enable custom prefix by default by @sergiud in #788
- simplify flags export by @sergiud in #791
- rename
GOOGLE_GLOG_DLL_DECL
toGLOG_EXPORT
by @sergiud in #764 - cmake_package_config_generate: Fix CMake warnings with CMake 3.23 by @Arfrever in #792
- Tests: Respect TEST_TMPDIR, TMPDIR, TMP environmental variables by @Arfrever in #794
- Add the logtostdout and colorlogtostdout flag to allow logging to stdout by @git-hulk in #790
New Contributors
- @xkszltl made their first contribution in #651
- @fmeum made their first contribution in #666
- @luliyucoordinate made their first contribution in #676
- @darbitman made their first contribution in #669
- @z-aki made their first contribution in #685
- @StephLin made their first contribution in #674
- @Fettpet made their first contribution in #696
- @Starsss made their first contribution in #700
- @dfreese made their first contribution in #706
- @kinsei0916 made their first contribution in #710
- @ArthurBandaryk made their first contribution in #718
- @nh2 made their first contribution in #733
- @meyerj made their first contribution in #731
- @cmsflash made their first contribution in #747
- @vijaysattigeri made their first contribution in #727
- @anpol made their first contribution in #775
- @fkolarek made their first contribution in #783
- @fdgkhdkgh made their first contribution in #776
- @Arfrever made their first contribution in #787
- @git-hulk made their first contribution in #790
Full Changelog: v0.5.0...v0.6.0-rc1
google-glog 0.5.0
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 [email protected]: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...
google-glog 0.5.0-rc2
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...
google-glog 0.5.0-rc1
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 [email protected]: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:
- bazel: declare headers in top-level rule #615 (drigz)
- Rename BUILD to BUILD.bazel. #614 (drigz)
- replaced __CYGWIN32__ and __CYGWIN64__ by __CYGWIN__ #611 (sergiud)
- consolidate readme #610 (sergiud)
- cmake: handle empty unwind version patch component #609 (sergiud)
- Make stl_logging_unittest more robust. #608 (mahiuchun)
- Fix the symlink creation bug if using bazel #600 (zoukyle)
- src/logging.cc: Fix a typo in comment #593 (aesophor)
- src/logging.cc: Make LogCleaner aware of filename extension (#589) #592 (aesophor)
- remove autoconf support #585 (sergiud)
- Make cmake build on path with spaces. #580 (Yicong-Huang)
- Added check for if info.dli_sname is NULL #579 (arj-fb)
- Add
override
toLogStreamBuf::overflow()
#576 (santigl) - Add FLAGS_log_utc_time; when 'true' the time will be written in log in UTC, resolves #571 #573 (msamoila)
- Connect glog to Andorid logging API #570 (jiuqiant)
- Output to logcat on Android #553 (huangqinjin)
- Make message text null-terminated #552 (huangqinjin)
- Replace sprintf() with snprintf() (#536) #551 (aesophor)
- Fix build for Emscripten #546 (schoppmp)
- OpenBSD/powerpc: clang does not define _CALL_*, use proper ifdef instead #545 (julianaito)
- Use NULL to indicate uninitialized VLOG_IS_ON site. #542 (xulongwu4)
- Fix unused parameter warning on gcc. #540 (pwnall)
- Prepend the year to each glog line (#516) #530 (aesophor)
- fix bazel build for freebsd #526 (dfr)
- Allow CMake user to disable Symbolize functionality #523 (edbaunton)
- Add target existence checks to Unwind find module #518 (MichaelDarr)
- Add vcpkg installation instructions #517 (LilyWangL)
- Explain log levels. #515 (fmayer)
- Use file offsets in traces if object has no symbols #513 (mspang)
- Don't call close(2) more than once #508 (xiaosuo)
- Fix missing deletion of custom Logger #503 (alexsmac)
- src/logging.cc: encapsulate log cleaner, match logfile with <base_filename_><date>-<time>.<pid> #502 (aesophor)
- Address review comments for Bazel/Win32 build #499 (drigz)
- Fix race conditions in LOG_EVERY_N [#492](#4...
google-glog 0.4.0
- build: cleanup temps and remove NEWS by @jackwish (#410)
- Fix unused variable warning in GCC by @pwnall (#412)
- automake: relax GNU standard directory style by @jackwish (#408)
- update README.md filename in Makefile.am by @NeroBurner (#403)
- ci: add clang-cxx17 toolchain by @NeroBurner (#406)
- remove register keyword from unittest by @NeroBurner (#405)
- Use push/pop macro when supressing warning by @kwaegel (#397)
- ci: add appveyor and travis config by @NeroBurner (#330)
- Make symbolize.cc thread safe even on shared fds by @tzik (#388)
- Don't crash on some forms of invalid ELF files by @bsilver8192 (#367)
- Fix mistype in comment by @zaporozhets (#371)
- Fix errors with BUILD_SHARED_LIBS=ON for Visual Studio 2017 (fixes #343) by @dzung (#344)
- fix glog.html link to gflags repository by @NeroBurner (#336)
- Delete NEWS by @NeroBurner (#337)
- Fix windows logging unittest by @NeroBurner (#331)
- tests: fix compilation with C++17 by @NeroBurner (#332)
- Fix mingw cross compile by @NeroBurner (#324)
- Resolve missing prototype warning by @nazg (#302)
- Fix redefined warnings from config.h by @nazg (#303)
- Make int conversion explicit and fix clang warning by @samuela (#305)
- konsole family of terminfo supports colored output by @nazg (#304)
- CMake Update by @Mizux (#292)
- Use target gflags instead of old VARIABLES by @Mizux (#283)
- Add an example using glog from Bazel by @drigz (#276)
- Update gflags to latest master by @drigz (#277)
- Fixed undeclared identifier error by @sergiud (#281)
- Build with Bazel. by @qzmfranklin (#232)
- Compute base addresses from program headers while reading /proc/self/maps. by @pcc (#261)
- Cache strlen outside of cycles (PVS-Studio) by @dimhotepus (#106)
- Shell escape arguments to /bin/mail. by @ukai (#260)
- Fix username lookup in case of missing USER environment variable by @DariuszOstolski (#245)
- #253: Use MS preprocessor idiom to disable warning by @DariuszOstolski (#254)
- Zero allocation fix by @sergiud (#226)
- Fix for missing exports (fixes #227) by @sergiud (#228)
- Fix LOG_EVERY_N with clang -Wunused-local-typedef by @jray272 (#225)
- Run src/windows/preprocess.sh to pick up latest logging.h.in changes by @jray272 (#224)
- Update Windows docs by @andschwa (#218)
- cmake: fixed gflags namespace detection (fixes #193) by @sergiud (#209)
- cmake: do not hardcode relative install directories by @sergiud (#153)
- cmake: changed project name from google-glog to glog by @sergiud (#152)
- Cygwin support by @sergiud (#157)
- [RFC] reduce heap memory allocations to zero by @sergiud (#158)
- rate limit calls to posix_fadvise() by @pixelb (#145)
- Use gflags ALIAS instead of ${gflags_XXX} vars by @v1bri (#199)
- Port stack tracing to Windows by @andschwa (#168)