From 7db87c281a514fb2909418d451b343ba96419499 Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Thu, 20 Nov 2025 17:45:25 -0800 Subject: [PATCH 1/4] [API] Parse baggage value as spec compliant --- api/include/opentelemetry/baggage/baggage.h | 4 ++-- api/test/baggage/baggage_test.cc | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/include/opentelemetry/baggage/baggage.h b/api/include/opentelemetry/baggage/baggage.h index 6c799cda27..5478117c23 100644 --- a/api/include/opentelemetry/baggage/baggage.h +++ b/api/include/opentelemetry/baggage/baggage.h @@ -274,8 +274,8 @@ class OPENTELEMETRY_EXPORT Baggage { ret.push_back(' '); } - else if (std::isalnum(str[i]) || str[i] == '-' || str[i] == '_' || str[i] == '.' || - str[i] == '~') + else if (str[i] >= ' ' && str[i] <= '~' && str[i] != '"' && str[i] != ',' && str[i] != ';' && + str[i] != '\\') { ret.push_back(str[i]); } diff --git a/api/test/baggage/baggage_test.cc b/api/test/baggage/baggage_test.cc index 526c813022..be7b4ccdf4 100644 --- a/api/test/baggage/baggage_test.cc +++ b/api/test/baggage/baggage_test.cc @@ -71,6 +71,8 @@ TEST(BaggageTest, ValidateExtractHeader) {"1a-2f%40foo=bar%251,a%2A%2Ffoo-_%2Fbar=bar+4", {"1a-2f@foo", "a*/foo-_/bar"}, {"bar%1", "bar 4"}}, // decoding is done properly + {"field=foo:bar", {"field"}, {"foo:bar"}}, // colon in value + {"mixed=a/b:c?d=e", {"mixed"}, {"a/b:c?d=e"}}, // mixed special characters {"k1=v1,invalidmember,k2=v2", {"k1", "k2"}, {"v1", "v2"}}, // invalid member is skipped {",", {}, {}}, {",=,", {}, {}}, From c0b8c2926f7b4bdd6c6743e395caf8a0d90ab40b Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Thu, 11 Dec 2025 11:40:06 -0800 Subject: [PATCH 2/4] Add changelog --- CHANGELOG.md | 159 ++------------------------------------------------- 1 file changed, 6 insertions(+), 153 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 254787e5aa..848bd2279b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,189 +15,42 @@ Increment the: ## [Unreleased] -## [1.24 2025-11-20] +* [API] Parse baggage value as spec compliant + [#3758](https://github.com/open-telemetry/opentelemetry-cpp/pull/3758) -* [RELEASE] Bump main branch to 1.24-dev - [#3662](https://github.com/open-telemetry/opentelemetry-cpp/pull/3662) +* [METRICS] Add tag to AggregationConfig for aggregation type validation + [#3732](https://github.com/open-telemetry/opentelemetry-cpp/pull/3732) * [TEST] Remove workaround for metrics cardinality limit test [#3663](https://github.com/open-telemetry/opentelemetry-cpp/pull/3663) -* Bump github/codeql-action from 3.30.3 to 3.30.4 - [#3664](https://github.com/open-telemetry/opentelemetry-cpp/pull/3664) - -* [CONFIGURATION] File configuration - semantic version - [#3629](https://github.com/open-telemetry/opentelemetry-cpp/pull/3629) - -* [BUILD] Fix MinGW GCC cross compilation build on Linux for Windows - [#3666](https://github.com/open-telemetry/opentelemetry-cpp/pull/3666) - -* [CONFIGURATION] File configuration - cmake build - [#3655](https://github.com/open-telemetry/opentelemetry-cpp/pull/3655) - -* [CONFIGURATION] File configuration - bazel build - [#3654](https://github.com/open-telemetry/opentelemetry-cpp/pull/3654) - -* Bump step-security/harden-runner from 2.12.2 to 2.13.1 - [#3671](https://github.com/open-telemetry/opentelemetry-cpp/pull/3671) - -* Bump github/codeql-action from 3.30.4 to 3.30.5 - [#3670](https://github.com/open-telemetry/opentelemetry-cpp/pull/3670) - -* Bump actions/checkout from 4.2.2 to 5.0.0 - [#3669](https://github.com/open-telemetry/opentelemetry-cpp/pull/3669) - -* [CMAKE] Only build and run the exemplar tests if the preview flag is set - [#3675](https://github.com/open-telemetry/opentelemetry-cpp/pull/3675) - -* [TEST] Update latest versions of protobuf, grpc, and curl for testing - [#3678](https://github.com/open-telemetry/opentelemetry-cpp/pull/3678) +* [METRICS] Allow registering one callback for multiple instruments + [#3667](https://github.com/open-telemetry/opentelemetry-cpp/pull/3667) * [SDK] Fix typo in hashmap method GetEnteries [#3680](https://github.com/open-telemetry/opentelemetry-cpp/pull/3680) -* [TEST] add ryml to the conan files for install tests - [#3679](https://github.com/open-telemetry/opentelemetry-cpp/pull/3679) - -* [TRACE SDK] Batch span processor options now using env variables - [#3661](https://github.com/open-telemetry/opentelemetry-cpp/pull/3661) - -* Bump ossf/scorecard-action from 2.4.2 to 2.4.3 - [#3677](https://github.com/open-telemetry/opentelemetry-cpp/pull/3677) - -* [CONFIGURATION] File configuration - cmake install - [#3668](https://github.com/open-telemetry/opentelemetry-cpp/pull/3668) - -* Bump github/codeql-action from 3.30.5 to 3.30.6 - [#3683](https://github.com/open-telemetry/opentelemetry-cpp/pull/3683) - -* Bump peter-evans/create-or-update-comment from 4.0.0 to 5.0.0 - [#3682](https://github.com/open-telemetry/opentelemetry-cpp/pull/3682) - -* Bump actions/stale from 10.0.0 to 10.1.0 - [#3686](https://github.com/open-telemetry/opentelemetry-cpp/pull/3686) - -* [SDK] BatchLogRecordProcessorOptions from env variables - [#3687](https://github.com/open-telemetry/opentelemetry-cpp/pull/3687) - -* [BUILD] Upgrade third party versions to the latest - [#3685](https://github.com/open-telemetry/opentelemetry-cpp/pull/3685) - -* Bump github/codeql-action from 3.30.6 to 4.30.7 - [#3689](https://github.com/open-telemetry/opentelemetry-cpp/pull/3689) - -* Bump github/codeql-action from 4.30.7 to 4.30.8 - [#3692](https://github.com/open-telemetry/opentelemetry-cpp/pull/3692) - -* [Metrics] Allow registering one callback for multiple instruments - [#3667](https://github.com/open-telemetry/opentelemetry-cpp/pull/3667) - * [CI] Upgrade tools/vcpkg to 2025.09.17 [#3701](https://github.com/open-telemetry/opentelemetry-cpp/pull/3701) -* [CI] Upgrade to conan 2.21.0 for conanfile_latest - [#3703](https://github.com/open-telemetry/opentelemetry-cpp/pull/3703) - -* [bazel] Drop WORKSPACE support - [#3699](https://github.com/open-telemetry/opentelemetry-cpp/pull/3699) - -* Bump github/codeql-action from 4.30.8 to 4.30.9 - [#3707](https://github.com/open-telemetry/opentelemetry-cpp/pull/3707) - -* [BUILD] Add rules_cc load statements - [#3697](https://github.com/open-telemetry/opentelemetry-cpp/pull/3697) - -* [CONFIGURATION] File configuration - parser location - [#3705](https://github.com/open-telemetry/opentelemetry-cpp/pull/3705) - -* [API] Fix -Werror=alloc-size-larger-than= warning in runtime_context.h - [#3709](https://github.com/open-telemetry/opentelemetry-cpp/pull/3709) - -* Bump github/codeql-action from 4.30.9 to 4.31.0 - [#3720](https://github.com/open-telemetry/opentelemetry-cpp/pull/3720) - -* Bump actions/download-artifact from 5.0.0 to 6.0.0 - [#3719](https://github.com/open-telemetry/opentelemetry-cpp/pull/3719) - * [CONFIGURATION] File configuration - prometheus translation [#3715](https://github.com/open-telemetry/opentelemetry-cpp/pull/3715) -* [SDK] Misc cleanup in attribute_utils.h - [#3716](https://github.com/open-telemetry/opentelemetry-cpp/pull/3716) - -* [TEST] Disable test BasicCurlHttpTests.SendGetRequestAsync - [#3722](https://github.com/open-telemetry/opentelemetry-cpp/pull/3722) - -* [SDK] Add cardinality_limit to all derived classes of AggregationConfig - [#3728](https://github.com/open-telemetry/opentelemetry-cpp/pull/3728) - -* Bump github/codeql-action from 4.31.0 to 4.31.2 - [#3733](https://github.com/open-telemetry/opentelemetry-cpp/pull/3733) - * [BUILD] Upgrade to opentelemetry-proto 1.8.0 [#3730](https://github.com/open-telemetry/opentelemetry-cpp/pull/3730) -* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.38.0 - [#3729](https://github.com/open-telemetry/opentelemetry-cpp/pull/3729) - -* [CONFIGURATION] Implement declarative configuration (config.yaml) - [#2518](https://github.com/open-telemetry/opentelemetry-cpp/pull/2518) - * [CONFIGURATION] File configuration - tls [#3726](https://github.com/open-telemetry/opentelemetry-cpp/pull/3726) * [CONFIGURATION] File configuration - console metric exporter [#3734](https://github.com/open-telemetry/opentelemetry-cpp/pull/3734) -* [DOCS] Remove out-of-date vcpkg docs - [#3735](https://github.com/open-telemetry/opentelemetry-cpp/pull/3735) - -* [DOCKER] Update docker files to build all third party dependencies - from the tags file - [#3718](https://github.com/open-telemetry/opentelemetry-cpp/pull/3718) - -* Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 - [#3739](https://github.com/open-telemetry/opentelemetry-cpp/pull/3739) - -* Bump step-security/harden-runner from 2.13.1 to 2.13.2 - [#3738](https://github.com/open-telemetry/opentelemetry-cpp/pull/3738) - -* [API] Make Request Context Token constructor public - [#3708](https://github.com/open-telemetry/opentelemetry-cpp/pull/3708) - -* [BUILD] Remove CMAKE POLICY CMP0092 - [#3741](https://github.com/open-telemetry/opentelemetry-cpp/pull/3741) - -* [DOCS] Fix code sample for setting CustomLogHandler - [#3736](https://github.com/open-telemetry/opentelemetry-cpp/pull/3736) - -* Bump github/codeql-action from 4.31.2 to 4.31.3 - [#3744](https://github.com/open-telemetry/opentelemetry-cpp/pull/3744) - -* [METRICS] Add tag to AggregationConfig for aggregation type validation - [#3732](https://github.com/open-telemetry/opentelemetry-cpp/pull/3732) - -* [BUILD] CMake install path with double slash - [#3747](https://github.com/open-telemetry/opentelemetry-cpp/pull/3747) - * [CI] Free disk space [#3749](https://github.com/open-telemetry/opentelemetry-cpp/pull/3749) * [SDK] Reset TraceFlags::IsSampled bit on sampler Decision::DROP [#3745](https://github.com/open-telemetry/opentelemetry-cpp/pull/3745) -* [CODE HEALTH] turn on the cppcoreguidelines-init-variables check and fix warnings - [#3751](https://github.com/open-telemetry/opentelemetry-cpp/pull/3751) - -* Bump actions/checkout from 5.0.0 to 5.0.1 - [#3753](https://github.com/open-telemetry/opentelemetry-cpp/pull/3753) - -* Bump github/codeql-action from 4.31.3 to 4.31.4 - [#3755](https://github.com/open-telemetry/opentelemetry-cpp/pull/3755) - -* Bump actions/checkout from 5.0.1 to 6.0.0 - [#3757](https://github.com/open-telemetry/opentelemetry-cpp/pull/3757) - New Features: * [CONFIGURATION] Implement declarative configuration (config.yaml) From b15d6a38e1620c709b0fa95641ce98146f068baf Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Thu, 11 Dec 2025 11:41:47 -0800 Subject: [PATCH 3/4] Revert "Add changelog" This reverts commit c0b8c2926f7b4bdd6c6743e395caf8a0d90ab40b. --- CHANGELOG.md | 159 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 153 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 848bd2279b..254787e5aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,42 +15,189 @@ Increment the: ## [Unreleased] -* [API] Parse baggage value as spec compliant - [#3758](https://github.com/open-telemetry/opentelemetry-cpp/pull/3758) +## [1.24 2025-11-20] -* [METRICS] Add tag to AggregationConfig for aggregation type validation - [#3732](https://github.com/open-telemetry/opentelemetry-cpp/pull/3732) +* [RELEASE] Bump main branch to 1.24-dev + [#3662](https://github.com/open-telemetry/opentelemetry-cpp/pull/3662) * [TEST] Remove workaround for metrics cardinality limit test [#3663](https://github.com/open-telemetry/opentelemetry-cpp/pull/3663) -* [METRICS] Allow registering one callback for multiple instruments - [#3667](https://github.com/open-telemetry/opentelemetry-cpp/pull/3667) +* Bump github/codeql-action from 3.30.3 to 3.30.4 + [#3664](https://github.com/open-telemetry/opentelemetry-cpp/pull/3664) + +* [CONFIGURATION] File configuration - semantic version + [#3629](https://github.com/open-telemetry/opentelemetry-cpp/pull/3629) + +* [BUILD] Fix MinGW GCC cross compilation build on Linux for Windows + [#3666](https://github.com/open-telemetry/opentelemetry-cpp/pull/3666) + +* [CONFIGURATION] File configuration - cmake build + [#3655](https://github.com/open-telemetry/opentelemetry-cpp/pull/3655) + +* [CONFIGURATION] File configuration - bazel build + [#3654](https://github.com/open-telemetry/opentelemetry-cpp/pull/3654) + +* Bump step-security/harden-runner from 2.12.2 to 2.13.1 + [#3671](https://github.com/open-telemetry/opentelemetry-cpp/pull/3671) + +* Bump github/codeql-action from 3.30.4 to 3.30.5 + [#3670](https://github.com/open-telemetry/opentelemetry-cpp/pull/3670) + +* Bump actions/checkout from 4.2.2 to 5.0.0 + [#3669](https://github.com/open-telemetry/opentelemetry-cpp/pull/3669) + +* [CMAKE] Only build and run the exemplar tests if the preview flag is set + [#3675](https://github.com/open-telemetry/opentelemetry-cpp/pull/3675) + +* [TEST] Update latest versions of protobuf, grpc, and curl for testing + [#3678](https://github.com/open-telemetry/opentelemetry-cpp/pull/3678) * [SDK] Fix typo in hashmap method GetEnteries [#3680](https://github.com/open-telemetry/opentelemetry-cpp/pull/3680) +* [TEST] add ryml to the conan files for install tests + [#3679](https://github.com/open-telemetry/opentelemetry-cpp/pull/3679) + +* [TRACE SDK] Batch span processor options now using env variables + [#3661](https://github.com/open-telemetry/opentelemetry-cpp/pull/3661) + +* Bump ossf/scorecard-action from 2.4.2 to 2.4.3 + [#3677](https://github.com/open-telemetry/opentelemetry-cpp/pull/3677) + +* [CONFIGURATION] File configuration - cmake install + [#3668](https://github.com/open-telemetry/opentelemetry-cpp/pull/3668) + +* Bump github/codeql-action from 3.30.5 to 3.30.6 + [#3683](https://github.com/open-telemetry/opentelemetry-cpp/pull/3683) + +* Bump peter-evans/create-or-update-comment from 4.0.0 to 5.0.0 + [#3682](https://github.com/open-telemetry/opentelemetry-cpp/pull/3682) + +* Bump actions/stale from 10.0.0 to 10.1.0 + [#3686](https://github.com/open-telemetry/opentelemetry-cpp/pull/3686) + +* [SDK] BatchLogRecordProcessorOptions from env variables + [#3687](https://github.com/open-telemetry/opentelemetry-cpp/pull/3687) + +* [BUILD] Upgrade third party versions to the latest + [#3685](https://github.com/open-telemetry/opentelemetry-cpp/pull/3685) + +* Bump github/codeql-action from 3.30.6 to 4.30.7 + [#3689](https://github.com/open-telemetry/opentelemetry-cpp/pull/3689) + +* Bump github/codeql-action from 4.30.7 to 4.30.8 + [#3692](https://github.com/open-telemetry/opentelemetry-cpp/pull/3692) + +* [Metrics] Allow registering one callback for multiple instruments + [#3667](https://github.com/open-telemetry/opentelemetry-cpp/pull/3667) + * [CI] Upgrade tools/vcpkg to 2025.09.17 [#3701](https://github.com/open-telemetry/opentelemetry-cpp/pull/3701) +* [CI] Upgrade to conan 2.21.0 for conanfile_latest + [#3703](https://github.com/open-telemetry/opentelemetry-cpp/pull/3703) + +* [bazel] Drop WORKSPACE support + [#3699](https://github.com/open-telemetry/opentelemetry-cpp/pull/3699) + +* Bump github/codeql-action from 4.30.8 to 4.30.9 + [#3707](https://github.com/open-telemetry/opentelemetry-cpp/pull/3707) + +* [BUILD] Add rules_cc load statements + [#3697](https://github.com/open-telemetry/opentelemetry-cpp/pull/3697) + +* [CONFIGURATION] File configuration - parser location + [#3705](https://github.com/open-telemetry/opentelemetry-cpp/pull/3705) + +* [API] Fix -Werror=alloc-size-larger-than= warning in runtime_context.h + [#3709](https://github.com/open-telemetry/opentelemetry-cpp/pull/3709) + +* Bump github/codeql-action from 4.30.9 to 4.31.0 + [#3720](https://github.com/open-telemetry/opentelemetry-cpp/pull/3720) + +* Bump actions/download-artifact from 5.0.0 to 6.0.0 + [#3719](https://github.com/open-telemetry/opentelemetry-cpp/pull/3719) + * [CONFIGURATION] File configuration - prometheus translation [#3715](https://github.com/open-telemetry/opentelemetry-cpp/pull/3715) +* [SDK] Misc cleanup in attribute_utils.h + [#3716](https://github.com/open-telemetry/opentelemetry-cpp/pull/3716) + +* [TEST] Disable test BasicCurlHttpTests.SendGetRequestAsync + [#3722](https://github.com/open-telemetry/opentelemetry-cpp/pull/3722) + +* [SDK] Add cardinality_limit to all derived classes of AggregationConfig + [#3728](https://github.com/open-telemetry/opentelemetry-cpp/pull/3728) + +* Bump github/codeql-action from 4.31.0 to 4.31.2 + [#3733](https://github.com/open-telemetry/opentelemetry-cpp/pull/3733) + * [BUILD] Upgrade to opentelemetry-proto 1.8.0 [#3730](https://github.com/open-telemetry/opentelemetry-cpp/pull/3730) +* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.38.0 + [#3729](https://github.com/open-telemetry/opentelemetry-cpp/pull/3729) + +* [CONFIGURATION] Implement declarative configuration (config.yaml) + [#2518](https://github.com/open-telemetry/opentelemetry-cpp/pull/2518) + * [CONFIGURATION] File configuration - tls [#3726](https://github.com/open-telemetry/opentelemetry-cpp/pull/3726) * [CONFIGURATION] File configuration - console metric exporter [#3734](https://github.com/open-telemetry/opentelemetry-cpp/pull/3734) +* [DOCS] Remove out-of-date vcpkg docs + [#3735](https://github.com/open-telemetry/opentelemetry-cpp/pull/3735) + +* [DOCKER] Update docker files to build all third party dependencies + from the tags file + [#3718](https://github.com/open-telemetry/opentelemetry-cpp/pull/3718) + +* Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 + [#3739](https://github.com/open-telemetry/opentelemetry-cpp/pull/3739) + +* Bump step-security/harden-runner from 2.13.1 to 2.13.2 + [#3738](https://github.com/open-telemetry/opentelemetry-cpp/pull/3738) + +* [API] Make Request Context Token constructor public + [#3708](https://github.com/open-telemetry/opentelemetry-cpp/pull/3708) + +* [BUILD] Remove CMAKE POLICY CMP0092 + [#3741](https://github.com/open-telemetry/opentelemetry-cpp/pull/3741) + +* [DOCS] Fix code sample for setting CustomLogHandler + [#3736](https://github.com/open-telemetry/opentelemetry-cpp/pull/3736) + +* Bump github/codeql-action from 4.31.2 to 4.31.3 + [#3744](https://github.com/open-telemetry/opentelemetry-cpp/pull/3744) + +* [METRICS] Add tag to AggregationConfig for aggregation type validation + [#3732](https://github.com/open-telemetry/opentelemetry-cpp/pull/3732) + +* [BUILD] CMake install path with double slash + [#3747](https://github.com/open-telemetry/opentelemetry-cpp/pull/3747) + * [CI] Free disk space [#3749](https://github.com/open-telemetry/opentelemetry-cpp/pull/3749) * [SDK] Reset TraceFlags::IsSampled bit on sampler Decision::DROP [#3745](https://github.com/open-telemetry/opentelemetry-cpp/pull/3745) +* [CODE HEALTH] turn on the cppcoreguidelines-init-variables check and fix warnings + [#3751](https://github.com/open-telemetry/opentelemetry-cpp/pull/3751) + +* Bump actions/checkout from 5.0.0 to 5.0.1 + [#3753](https://github.com/open-telemetry/opentelemetry-cpp/pull/3753) + +* Bump github/codeql-action from 4.31.3 to 4.31.4 + [#3755](https://github.com/open-telemetry/opentelemetry-cpp/pull/3755) + +* Bump actions/checkout from 5.0.1 to 6.0.0 + [#3757](https://github.com/open-telemetry/opentelemetry-cpp/pull/3757) + New Features: * [CONFIGURATION] Implement declarative configuration (config.yaml) From d4bf0e495e28e030457abc39c3113185e119f3de Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Thu, 11 Dec 2025 11:43:32 -0800 Subject: [PATCH 4/4] Cleanup changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 254787e5aa..022c67009c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ Increment the: ## [Unreleased] +* [API] Parse baggage value as spec compliant + [#3758](https://github.com/open-telemetry/opentelemetry-cpp/pull/3758) + ## [1.24 2025-11-20] * [RELEASE] Bump main branch to 1.24-dev