Skip to content

Commit 7c9cb59

Browse files
authored
Merge branch 'main' into kjtsanaktsidis/fix_hang
2 parents 4f4fe70 + 470f66b commit 7c9cb59

26 files changed

+357
-89
lines changed

.devcontainer/Dockerfile.dev

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ ENV GRPC_VERSION=${GRPC_VERSION}
2222
COPY ci /opt/ci
2323

2424
RUN apt update && apt install -y wget \
25-
ninja-build \
26-
libcurl4-openssl-dev \
27-
clang-tidy \
28-
shellcheck
25+
ninja-build \
26+
llvm-dev \
27+
libclang-dev \
28+
libcurl4-openssl-dev \
29+
clang-tidy \
30+
shellcheck
2931

3032
RUN cd /opt/ci && bash setup_cmake.sh
3133
RUN cd /opt/ci && bash setup_ci_environment.sh
34+
RUN cd /opt/ci && bash install_iwyu.sh
3235
RUN cd /opt && bash ci/setup_googletest.sh \
3336
&& bash ci/install_abseil.sh \
3437
&& bash ci/install_protobuf.sh \

.github/workflows/clang-tidy.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ jobs:
3131
sudo apt update -y
3232
sudo apt install -y --no-install-recommends --no-install-suggests \
3333
build-essential \
34-
iwyu \
3534
cmake \
3635
libssl-dev \
3736
libcurl4-openssl-dev \

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ jobs:
3939
sudo -E ./ci/setup_googletest.sh
4040
sudo -E ./ci/setup_ci_environment.sh
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
42+
uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
4343
with:
4444
languages: cpp
4545
- name: Autobuild
46-
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
46+
uses: github/codeql-action/autobuild@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
4747
- name: Perform CodeQL Analysis
48-
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
48+
uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19

.github/workflows/iwyu.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,23 @@ jobs:
2828
sudo apt update -y
2929
sudo apt install -y --no-install-recommends --no-install-suggests \
3030
build-essential \
31-
iwyu \
3231
ninja-build \
3332
libssl-dev \
3433
libcurl4-openssl-dev \
34+
libabsl-dev \
3535
libprotobuf-dev \
36+
libgrpc++-dev \
3637
protobuf-compiler \
38+
protobuf-compiler-grpc \
3739
libgmock-dev \
3840
libgtest-dev \
39-
libbenchmark-dev
41+
libbenchmark-dev \
42+
llvm-dev \
43+
libclang-dev
4044
sudo ./ci/setup_cmake.sh
41-
42-
43-
- name: setup grpc
45+
- name: Install include-what-you-use
4446
run: |
45-
sudo ./ci/setup_grpc.sh
46-
47+
sudo ./ci/install_iwyu.sh
4748
- name: Prepare CMake
4849
run: |
4950
TOPDIR=`pwd`
@@ -53,6 +54,8 @@ jobs:
5354
-DWITH_STL=CXX14 \
5455
-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${TOPDIR}/.iwyu.imp;" \
5556
-DBUILD_TESTING=ON \
57+
-DWITH_EXAMPLES=ON \
58+
-DWITH_EXAMPLES_HTTP=ON \
5659
-DBUILD_W3CTRACECONTEXT_TEST=ON \
5760
-DWITH_OTLP_GRPC=ON \
5861
-DWITH_OTLP_HTTP=ON \
@@ -78,11 +81,13 @@ jobs:
7881
- name: count warnings
7982
run: |
8083
set +e
84+
echo "include-what-you-use version:"
85+
include-what-you-use --version
8186
cd build
8287
readonly WARNING_COUNT=`grep -c "include-what-you-use reported diagnostics:" iwyu.log`
8388
echo "include-what-you-use reported ${WARNING_COUNT} warning(s)"
8489
# Acceptable limit, to decrease over time down to 0
85-
readonly WARNING_LIMIT=0
90+
readonly WARNING_LIMIT=122
8691
# FAIL the build if WARNING_COUNT > WARNING_LIMIT
8792
if [ $WARNING_COUNT -gt $WARNING_LIMIT ] ; then
8893
exit 1

.github/workflows/ossf-scorecard.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
with:
2929
persist-credentials: false
3030

31-
- uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
31+
- uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
3232
with:
3333
results_file: results.sarif
3434
results_format: sarif
@@ -47,6 +47,6 @@ jobs:
4747
# Upload the results to GitHub's code scanning dashboard (optional).
4848
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
4949
- name: "Upload to code-scanning"
50-
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
50+
uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
5151
with:
5252
sarif_file: results.sarif

CHANGELOG.md

Lines changed: 157 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,67 +15,185 @@ Increment the:
1515

1616
## [Unreleased]
1717

18-
* [BUILD] Propagate INTERFACE_COMPILE_DEFINITIONS from API through common_foo_library
19-
[#3440](https://github.com/open-telemetry/opentelemetry-cpp/pull/3440)
18+
## [1.21 2025-05-28]
2019

21-
* [BUILD] Error out when building DLL without MSVC
22-
[#3438](https://github.com/open-telemetry/opentelemetry-cpp/pull/3438)
20+
* [BUILD] Remove WITH_ABSEIL
21+
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
2322

24-
* [Metrics SDK] Use nostd::function_ref in AttributesHashMap
25-
[#3393](https://github.com/open-telemetry/opentelemetry-cpp/pull/3393)
23+
* [INSTALL] Add CMake components to the opentelemetry-cpp package
24+
[#3320](https://github.com/open-telemetry/opentelemetry-cpp/pull/3220)
2625

27-
* [SDK] Base2 exponential histogram aggregation
28-
[#3175](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
26+
* [CI] Harden GitHub Actions
27+
[#3338](https://github.com/open-telemetry/opentelemetry-cpp/pull/3338)
2928

30-
New Features:
29+
* [StepSecurity] Harden GibHub Actions, part 2
30+
[#3340](https://github.com/open-telemetry/opentelemetry-cpp/pull/3340)
3131

32-
Add base2 exponential histogram aggregation. Includes a new aggregation type,
33-
ostream exporter, and otlp/grpc exporter. Updated histogram aggregation and
34-
benchmark tests.
32+
* Bump github/codeql-action from 3.28.12 to 3.28.13
33+
[#3341](https://github.com/open-telemetry/opentelemetry-cpp/pull/3341)
3534

36-
* [API] Remove `WITH_ABSEIL` and `HAVE_ABSEIL`
37-
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
35+
* [DEVCONTAINER] expose cmake version setting as docker arg and environment variable
36+
[#3347](https://github.com/open-telemetry/opentelemetry-cpp/pull/3347)
37+
38+
* [CI] disable bzip2 in conan builds
39+
[#3352](https://github.com/open-telemetry/opentelemetry-cpp/pull/3352)
40+
41+
* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.32.0
42+
[#3351](https://github.com/open-telemetry/opentelemetry-cpp/pull/3351)
3843

39-
* [CMAKE] Bump cmake minimum required version to 3.14
44+
* Bump github/codeql-action from 3.28.13 to 3.28.15
45+
[#3353](https://github.com/open-telemetry/opentelemetry-cpp/pull/3353)
46+
47+
* [CMAKE] bump cmake minimum required version to 3.14
4048
[#3349](https://github.com/open-telemetry/opentelemetry-cpp/pull/3349)
4149

50+
* Bump codecov/codecov-action from 5.4.0 to 5.4.2
51+
[#3362](https://github.com/open-telemetry/opentelemetry-cpp/pull/3362)
52+
53+
* [DOC] Fix documentation tags in logger API
54+
[#3371](https://github.com/open-telemetry/opentelemetry-cpp/pull/3371)
55+
56+
* [CI] fix artifacts download/upload
57+
[#3369](https://github.com/open-telemetry/opentelemetry-cpp/pull/3369)
58+
4259
* [API] Add Enabled method to Tracer
4360
[#3357](https://github.com/open-telemetry/opentelemetry-cpp/pull/3357)
4461

45-
* [SDK] Optimize PeriodicExportingMetricReader thread usage
62+
* [BUILD] Fixes warnings of ciso646 in C++17
63+
[#3360](https://github.com/open-telemetry/opentelemetry-cpp/pull/3360)
64+
65+
* Bump github/codeql-action from 3.28.15 to 3.28.16
66+
[#3377](https://github.com/open-telemetry/opentelemetry-cpp/pull/3377)
67+
68+
* Bump step-security/harden-runner from 2.11.1 to 2.12.0
69+
[#3373](https://github.com/open-telemetry/opentelemetry-cpp/pull/3373)
70+
71+
* Bump docker/build-push-action from 6.15.0 to 6.16.0
72+
[#3382](https://github.com/open-telemetry/opentelemetry-cpp/pull/3382)
73+
74+
* Bump actions/download-artifact from 4.2.1 to 4.3.0
75+
[#3381](https://github.com/open-telemetry/opentelemetry-cpp/pull/3381)
76+
77+
* [CI] Harden Github actions - pinned-dependencies (part -1)
78+
[#3380](https://github.com/open-telemetry/opentelemetry-cpp/pull/3380)
79+
80+
* [StepSecurity] ci: Harden GitHub Actions
81+
[#3378](https://github.com/open-telemetry/opentelemetry-cpp/pull/3378)
82+
83+
* [SDK] Base2 exponential histogram aggregation
84+
[#3346](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
85+
86+
* [StepSecurity] ci: Harden GitHub Actions
87+
[#3379](https://github.com/open-telemetry/opentelemetry-cpp/pull/3379)
88+
89+
* [BUILD] Fixes glibc++ 5 checking
90+
[#3355](https://github.com/open-telemetry/opentelemetry-cpp/pull/3355)
91+
92+
* [TEST] Add stress test for histogram metric for multiple threads validation
93+
[#3388](https://github.com/open-telemetry/opentelemetry-cpp/pull/3388)
94+
95+
* Bump github/codeql-action from 3.28.16 to 3.28.17
96+
[#3389](https://github.com/open-telemetry/opentelemetry-cpp/pull/3389)
97+
98+
* [SDK] Optimize PeriodicExportingMetricReader Thread Usage
4699
[#3383](https://github.com/open-telemetry/opentelemetry-cpp/pull/3383)
47100

48-
* [SDK] Aggregate identical metrics instruments and detect duplicates
101+
* [Metrics SDK] Use nostd::function_ref in AttributesHashMap
102+
[#3393](https://github.com/open-telemetry/opentelemetry-cpp/pull/3393)
103+
104+
* [SDK] support aggregation of identical instruments
49105
[#3358](https://github.com/open-telemetry/opentelemetry-cpp/pull/3358)
50106

51-
* [INSTALL] Add CMake components to the opentelemetry-cpp package
52-
[#3320](https://github.com/open-telemetry/opentelemetry-cpp/pull/3220)
53-
[#3368](https://github.com/open-telemetry/opentelemetry-cpp/pull/3368)
107+
* [BUILD] Fixes unused var
108+
[#3397](https://github.com/open-telemetry/opentelemetry-cpp/pull/3397)
54109

55-
* [BUILD] Upgrade opentelemetry-proto to 1.6.0
56-
[#3407](https://github.com/open-telemetry/opentelemetry-cpp/pull/3407)
110+
* [INSTALL] Unify cmake install functions and dynamically set component dependencies
111+
[#3368](https://github.com/open-telemetry/opentelemetry-cpp/pull/3368)
57112

58113
* [BUILD] Upgrade nlohmann_json to 3.12.0
59114
[#3406](https://github.com/open-telemetry/opentelemetry-cpp/pull/3406)
60115

61-
* [CMAKE] Add generated protobuf headers to the opentelemetry_proto target
116+
* [BUILD] Upgrade opentelemetry-proto to 1.6.0
117+
[#3407](https://github.com/open-telemetry/opentelemetry-cpp/pull/3407)
118+
119+
* [CMAKE] add generated protobuf headers to the opentelemetry_proto target
62120
[#3400](https://github.com/open-telemetry/opentelemetry-cpp/pull/3400)
63121

64-
* [CMAKE] Remove include_directories usage and rely on target properties
122+
* [MERGE] Fix accidental rollback of nlohmann-json submodule
123+
[#3415](https://github.com/open-telemetry/opentelemetry-cpp/pull/3415)
124+
125+
* Bump fossas/fossa-action from 1.6.0 to 1.7.0
126+
[#3414](https://github.com/open-telemetry/opentelemetry-cpp/pull/3414)
127+
128+
* Bump docker/build-push-action from 6.16.0 to 6.17.0
129+
[#3420](https://github.com/open-telemetry/opentelemetry-cpp/pull/3420)
130+
131+
* Bump codecov/codecov-action from 5.4.2 to 5.4.3
132+
[#3419](https://github.com/open-telemetry/opentelemetry-cpp/pull/3419)
133+
134+
* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.33
135+
[#3416](https://github.com/open-telemetry/opentelemetry-cpp/pull/3416)
136+
137+
* [DOCS] update the INSTALL guide on cmake components
138+
[#3422](https://github.com/open-telemetry/opentelemetry-cpp/pull/3422)
139+
140+
* Bump github/codeql-action from 3.28.17 to 3.28.18
141+
[#3423](https://github.com/open-telemetry/opentelemetry-cpp/pull/3423)
142+
143+
* [CMAKE] update cmake files in examples directory
144+
[#3421](https://github.com/open-telemetry/opentelemetry-cpp/pull/3421)
145+
146+
* [SDK] Fix Base2ExponentialHistogramAggregation Merge with empty buckets
147+
[#3425](https://github.com/open-telemetry/opentelemetry-cpp/pull/3425)
148+
149+
* [SDK] Fix MetricProducer interface
150+
[#3413](https://github.com/open-telemetry/opentelemetry-cpp/pull/3413)
151+
152+
* [CMAKE] remove global include_directories usage and rely on target properties
65153
[#3426](https://github.com/open-telemetry/opentelemetry-cpp/pull/3426)
66154

155+
* [BUILD] remove unused WITH_CURL build flag
156+
[#3429](https://github.com/open-telemetry/opentelemetry-cpp/pull/3429)
157+
67158
* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.34.0
68159
[#3428](https://github.com/open-telemetry/opentelemetry-cpp/pull/3428)
69160

70-
* [EXPORTER] ostream log exporter, fixed memory ownership issues
161+
* [EXPORTER] ostream log exporter, fix memory ownership issues
71162
[#3417](https://github.com/open-telemetry/opentelemetry-cpp/pull/3417)
72163

73-
* [TEST] Test all components in a CMake super build
164+
* [TEST] add all components to the cmake fetch content test
74165
[#3433](https://github.com/open-telemetry/opentelemetry-cpp/pull/3433)
75166

167+
* [BUILD] Error out when building DLL without MSVC
168+
[#3438](https://github.com/open-telemetry/opentelemetry-cpp/pull/3438)
169+
170+
* [BUILD] Add missing CMake keyword for target_link_libraries
171+
[#3442](https://github.com/open-telemetry/opentelemetry-cpp/pull/3442)
172+
173+
* [CMAKE] Remove third-party version mismatch warning
174+
[#3432](https://github.com/open-telemetry/opentelemetry-cpp/pull/3432)
175+
176+
* Bump docker/build-push-action from 6.17.0 to 6.18.0
177+
[#3446](https://github.com/open-telemetry/opentelemetry-cpp/pull/3446)
178+
76179
* [SEMANTIC CONVENTIONS] Fix comment style to preserve markup.
77180
[#3444](https://github.com/open-telemetry/opentelemetry-cpp/pull/3444)
78181

182+
* [EXPORTER] support unix sockets in grpc client
183+
[#3410](https://github.com/open-telemetry/opentelemetry-cpp/pull/3410)
184+
185+
* [BUILD] Propagate INTERFACE_COMPILE_DEFINITIONS from API through common_foo_library
186+
[#3440](https://github.com/open-telemetry/opentelemetry-cpp/pull/3440)
187+
188+
New Features:
189+
190+
* [SDK] Base2 exponential histogram aggregation
191+
[#3346](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
192+
193+
* Add base2 exponential histogram aggregation. Includes a new aggregation type,
194+
ostream exporter, and otlp/grpc exporter. Updated histogram aggregation and
195+
benchmark tests.
196+
79197
Important changes:
80198

81199
* [EXPORTER] ostream log exporter, fixed memory ownership issues
@@ -95,6 +213,19 @@ Important changes:
95213

96214
* Applications not using these SDK classes directly are not affected.
97215

216+
* [BUILD] Remove WITH_ABSEIL
217+
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
218+
219+
* The build option `WITH_ABSEIL` is no longer used, and opentelemetry-cpp
220+
will no longer use any release of abseil provided externally,
221+
for its own use.
222+
223+
* Instead, opentelemetry-cpp will only use an internal abseil version.
224+
225+
* This change resolves long standing binary integrity issues,
226+
that occurred in the past when mixing several versions of abseil
227+
in the build.
228+
98229
## [1.20 2025-04-01]
99230

100231
* [BUILD] Update opentelemetry-proto version

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
module(
55
name = "opentelemetry-cpp",
6-
version = "1.17.0",
6+
version = "1.21.0",
77
compatibility_level = 0,
88
repo_name = "io_opentelemetry_cpp",
99
)

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ doc](https://docs.google.com/document/d/1i1E4-_y4uJ083lCutKGDhkpi3n4_e774SBLi9hP
8484
For edit access, get in touch on
8585
[Slack](https://cloud-native.slack.com/archives/C01N3AT62SJ).
8686

87-
[Maintainers](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer)
87+
[Maintainers](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer)
8888
([@open-telemetry/cpp-maintainers](https://github.com/orgs/open-telemetry/teams/cpp-maintainers)):
8989

9090
* [Ehsan Saei](https://github.com/esigo)
9191
* [Lalit Kumar Bhasin](https://github.com/lalitb), Microsoft
9292
* [Marc Alff](https://github.com/marcalff), Oracle
9393
* [Tom Tan](https://github.com/ThomsonTan), Microsoft
9494

95-
[Approvers](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver)
95+
[Approvers](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver)
9696
([@open-telemetry/cpp-approvers](https://github.com/orgs/open-telemetry/teams/cpp-approvers)):
9797

9898
* [Doug Barker](https://github.com/dbarker)
@@ -101,7 +101,7 @@ For edit access, get in touch on
101101
* [WenTao Ou](https://github.com/owent), Tencent
102102

103103
[Emeritus
104-
Maintainer/Approver/Triager](https://github.com/open-telemetry/community/blob/main/community-membership.md#emeritus-maintainerapprovertriager):
104+
Maintainer/Approver/Triager](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager):
105105

106106
* [Alolita Sharma](https://github.com/alolita)
107107
* [Emil Mikulic](https://github.com/g-easy)

api/include/opentelemetry/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
# define OPENTELEMETRY_ABI_VERSION_NO 1
1111
#endif
1212

13-
#define OPENTELEMETRY_VERSION "1.20.0"
13+
#define OPENTELEMETRY_VERSION "1.21.0"
1414
#define OPENTELEMETRY_VERSION_MAJOR 1
15-
#define OPENTELEMETRY_VERSION_MINOR 20
15+
#define OPENTELEMETRY_VERSION_MINOR 21
1616
#define OPENTELEMETRY_VERSION_PATCH 0
1717

1818
#define OPENTELEMETRY_ABI_VERSION OPENTELEMETRY_STRINGIFY(OPENTELEMETRY_ABI_VERSION_NO)

0 commit comments

Comments
 (0)