By Derek Mauro, Abseil Engineer
In September 2017, Abseil made the following support promise:
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.
The ability to evolve over time has long been a goal of the Abseil project, and supporting older platforms comes with the cost of not being able to take advantage of new features, and not being able to get the best performance possible. With this is mind, the September 2020 LTS release branch will be the last to support the following compilers:
We will soon remove our continuous integration tests for these compilers.
Of our supported platforms and compilers, the last to facilitate support for C++14 was Microsoft Visual C++ 2017, which was released on March 7, 2017. Therefore, Abseil will only support C++11 (and Microsoft Visual C++ 2015) until March 7, 2022. We will do one final Long Term Support release in March of 2022, at which point we will announce that it is the final LTS release to support C++11. We strongly recommend all users begin moving to C++14 or newer as soon as possible and not wait for this LTS release, however.
In addition, the following support changes will occur in the near future: