By Derek Mauro, Abseil Engineer
We will support our code for at least 5 years. We will support language
versions, compilers, platforms, and workarounds as needed for 5 years after
their replacement is available, when possible. If it is technically infeasible
(such as support for MSVC before 2015, which has limited C++11 functionality),
those will be noted specifically. After 5 years we will stop support and may
ABSL_HAVE_THREAD_LOCAL is a good example: the base
language feature works on everything except Xcode prior to Xcode 8 ; once
Xcode 8 is out for 5 years, we will drop that workaround support.
By Xiaoyi Zhang, Google Engineer, Emeritus
The Abseil status library is now available on abseil.io. This library is used within Google for error handling and contains the following two abstractions:
absl::Status is the primary mechanism to gracefully handle
errors across API boundaries (and in particular across RPC boundaries). Some of
these errors may be recoverable, but others may not. Most functions that can
produce a recoverable error should be designed to return either an
absl::Status (or the similar
absl::StatusOr<T>, which holds either an object
T or an error).
By Chris Kennelly, Google Software Engineer
We are happy to announce the arrival of TCMalloc, a fast memory allocator with useful profiling and introspection features.
The source code can be found on Github. This is a distinct repository, allowing Abseil to be used independently of TCMalloc. The library includes:
By Andy Soffer, Engineer
We are happy to announce the arrival of the Abseil Random library, providing simple tools for generating random numbers and testing code that uses random numbers.
Abseil now includes a random number generation library, which can be found in
The library includes
By Greg Falcon, Abseil Engineer
Abseil now provides an options
providing a limited means of configuring Abseil’s features. In the initial
release of this options mechanism, we have added the ability to override
Abseil’s automatic type detection and force (for example)
either always alias to
std::string_view, or always remain using our Abseil