Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 3.91 KB

File metadata and controls

75 lines (59 loc) · 3.91 KB

Foundational C++ Support

The relevant policies are described at https://opensource.google/documentation/policies/cplusplus-support. This document captures the specific version numbers as resolved by those policies.

Note that some of these version supports apply broadly to other languages as well, and are not exclusive to C++.

Linux distributions

Distribution Supported Version Last Changed Next Change 1
Alpine >= 3.21 2026-04-01 2026-11-01
Debian >= 13 2026-08-10 2028-08-09
Fedora >= 42 2025-12-16 2026-05-13
openSUSE >= Leap 16.0 2026-05-01 2027-10-31
Ubuntu LTS >= 22.04 2025-06-04 2027-05-01
RHEL >= 9 2024-07-01 2027-06-01
RockyLinux >= 9 2024-07-01 2027-06-01

Windows

Dimension Supported Version Last Changed Next Change 1
Windows Server >= 2022 2024-01-22 2026-10-13
Windows Client >= 11 2025-12-16 2026-05-13

macOS

Dimension Supported Version Last Changed Next Change 1
Xcode >= 26 2025-09-15 2026-09-15
macOS (target) >= 12 (Monterey) 2025-12-16 2026-07-01
iOS (target) >= 15 2025-12-16 2026-09-15

Android NDK

Dimension Supported Version Last Changed Next Change 1
Android API (target) >= 21 2022-09-18

Compilers, tools, build systems

Dimension Supported Version Last Changed Next Change 1
C++ Version >= 17 2024-12-17 2027-12-15
CMake >= 3.22 2025-06-04 2027-05-01 2
Bazel 8 LTS 2025-12-16 2026-12-01
GCC >= 10 2026-05-01 2026-06-30 3
Clang >= 14.0.0 2025-06-04 2027-05-01 4
MSVC >= 2022 2024-04-29 2027-01-12
Apple Clang >= 17 2025-12-19 2026-07-01
glibc >= 2.34 2024-07-09 2027-06-01 5
musl >= 1.2.5 2026-04-01 2026-11-01

Notes

Footnotes

  1. This is an estimated date. The actual date may change if the vendor (or community, as applicable) extends or shortens the lifetime of the dimension in question. 2 3 4 5

  2. We support the oldest version of CMake that ships with one of the supported distros. Currently that is CMake 3.22 as Ubuntu 22.04 ships with this version.

  3. We support the oldest version of GCC that ships with one of the supported distros. Currently that is GCC 10 as Debian 11 ships with this version.

  4. We support the oldest version of Clang that ships with one of the supported distros. Currently that is Clang 14.0 as Ubuntu 22.04 ships with this version.

  5. We support the oldest version of glibc shipping with any of our supported distros. Currently that is glibc 2.34 shipping with RHEL 9 and RockyLinux 9. Internally, we currently support glibc 2.27 and may have code referencing that. We do not guarantee that it will work though.