Abseil LTS 20260526.0
What's New
status_macros.h: Helper macros and methods to return and propagate errors with absl::Status.
absl::StatusBuilder: A builder type that implicitly converts to absl::Status and absl::StatusOr<T> that helps add additional information.
absl::SourceLocation: A type that provides source-code location info for C++17 and later. It differs from std::source_location in several ways. See source_location.h for more information.
absl::ClockInterface: An abstract interface representing a clock, allowing decoupling code that uses time from the code that creates a point in time. Useful for injecting clocks into interfaces, especially for testing purposes.
absl::SimulatedClock: A concrete clock implementation that does not "tick" on its own. Useful for manipulating time for testing purposes.
absl::AnySpan: A type that provides a view of any random access container.
absl::optional_ref: A type that provides a std::optional-like interface around T*.
absl::bind_back: A drop-in replacement for C++23's std::bind_back().
absl::CopyCordToSpan: A safer way to copy the contents of an absl::Cord to a buffer.
absl::HighPrecision: An absl::StrCat formatter that produces strings that would parse to the exact original floating point value (except in the case of NaNs).
throw_delegate.h: Helper functions that allow throwing exceptions consistently from anywhere without risking ODR violations.
Breaking Changes
- For GCC users, Abseil now requires at least GCC 10 following Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
- Many pre-C++17 polyfill types are marked deprecated. Users should migrate to the
std:: equivalent.
Known Issues
- Bazel's
compatibility_level was deprecated in 8.6.0 and 9.1.0 and thus removed from MODULE.bazel. However, this is causing builds with Bazel versions prior to 8.6.0 and 9.1.0 to fail. The recommended workaround is to update to a newer version of Bazel.
- Abseil fails to compile with GCC 16 when BMI2 extensions are enabled. See #2071 for details.
Baseline: b29e7f9
Cherry-pick: 5650e9c