Abseil LTS branch, Jan 2023, Patch 4
Abseil LTS 20230125.4
What's New:
- The Abseil logging library has been released. This library provides facilities for writing short text messages about the status of a program to
stderr
, disk files, or other sinks (via an extension API). See the logging library documentation for more information. - An extension point,
AbslStringify()
, allows user-defined types to seamlessly work with Abseil's string formatting functions likeabsl::StrCat()
andabsl::StrFormat()
. - A library for computing CRC32C checksums has been added.
- Floating-point parsing now uses the Eisel-Lemire algorithm, which provides a significant speed improvement.
- The flags library now provides suggestions for the closest flag(s) in the case of misspelled flags.
- Using CMake to install Abseil now makes the installed artifacts (in particular
absl/base/options.h
) reflect the compiled ABI.
Breaking Changes:
- Abseil now requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
- The legacy spellings of the thread annotation macros/functions (e.g.
GUARDED_BY()
) have been removed by default in favor of theABSL_
prefixed versions (e.g.ABSL_GUARDED_BY()
) due to clashes with other libraries. The compatibility macroABSL_LEGACY_THREAD_ANNOTATIONS
can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the future.
Known Issues
- The Abseil logging library in this release is not a feature-complete replacement for glog yet.
VLOG
andDFATAL
are examples of features that have not yet been released.
Baseline: a69b0ae
Cherry pick: 35e8e3f (Patch 1)
Cherry pick: a0f9b46 (Patch 1)
Cherry pick: 2de126c (Patch 2)
Cherry pick: 807763a (Patch 3)
Cherry pick: 96074ab (Patch 4)