Skip to content

Abseil LTS branch, Jan 2023, Patch 4

Compare
Choose a tag to compare
@derekmauro derekmauro released this 12 Feb 19:59
1b66579

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 like absl::StrCat() and absl::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 the ABSL_ prefixed versions (e.g. ABSL_GUARDED_BY()) due to clashes with other libraries. The compatibility macro ABSL_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 and DFATAL 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)