Skip to content

Commit 61e8741

Browse files
authored
[DEPRECATION] Drop C++11 support (#2146)
1 parent cfa130b commit 61e8741

2 files changed

Lines changed: 64 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Increment the:
2424
[#2097](https://github.com/open-telemetry/opentelemetry-cpp/pull/2097)
2525
* [API] Add user facing Logging API and Benchmarks
2626
[#2094](https://github.com/open-telemetry/opentelemetry-cpp/pull/2094)
27+
* [DEPRECATION] Drop C++11 support
28+
[#2146](https://github.com/open-telemetry/opentelemetry-cpp/pull/2146)
2729

2830
Breaking changes:
2931

@@ -38,6 +40,8 @@ Breaking changes:
3840
Deprecations:
3941

4042
* The Jaeger Exporter is deprecated, see [DEPRECATED](./DEPRECATED.md) for details.
43+
* C++11 support is to end, C++14 will be supported instead,
44+
see [DEPRECATED](./DEPRECATED.md) for details.
4145

4246
## [1.9.0] 2023-04-12
4347

DEPRECATED.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,66 @@ N/A
3030

3131
## [Compilers]
3232

33-
N/A
33+
### Drop C++11 support
34+
35+
#### Announcement (C++11)
36+
37+
* Date: 2022-12-01
38+
* Issue: [DEPRECATION] Drop C++11 support
39+
[#1830](https://github.com/open-telemetry/opentelemetry-cpp/pull/1830)
40+
* This announcement has been pinned,
41+
visible in the issues pages since December 2022.
42+
43+
#### Motivation (C++11)
44+
45+
This repository, opentelemetry-cpp, supports a "bring your own dependency" model.
46+
47+
In this model,
48+
the build scripts can be configured to:
49+
50+
* pick a given version for a third party library,
51+
* build opentelemetry-cpp with the library given.
52+
53+
The makefiles do not mandate to use a particular version,
54+
hence the "bring your own" denomination.
55+
56+
To have an up to date build, projects are encouraged to use up to date
57+
versions of third party libraries, to benefit from bug fixes.
58+
59+
Now, many libraries deliver new versions that require C++14, bug fixes
60+
releases for C++11 are no longer available.
61+
62+
In particular, the following components:
63+
64+
* GRPC C++
65+
* abseil
66+
* googletest
67+
68+
now require C++14, per
69+
[google support policies](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md)
70+
71+
As a result, to stay up to date, opentelemetry-cpp needs to upgrade its
72+
minimum build requirements to use C++14 instead of C++11.
73+
74+
#### Scope (C++11)
75+
76+
Continuous Integration (CI) builds will use C++14 instead of C++11.
77+
78+
The CI build for gcc 4.8 is now deprecated, to be decommissioned when C++11
79+
support is dropped.
80+
81+
#### Mitigation (C++11)
82+
83+
Building the code with recent third party libraries will require C++14
84+
instead of C++11.
85+
86+
#### Planned end of life (C++11)
87+
88+
Support for C++11 in opentelemetry-cpp will end on September 2023.
89+
90+
After this date, opentelemetry-cpp may still build properly in C++11 mode,
91+
assuming a suitable, old, version for each dependency is used,
92+
but the C++11 build will no longer be tested for each new release.
3493

3594
## [Third party dependencies]
3695

0 commit comments

Comments
 (0)