Releases: open-telemetry/opentelemetry-cpp
Release list
v1.29.0 release
v1.29.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
Breaking changes:
-
[CONFIGURATION] Align declarative configuration schema defaults with
OpenTelemetry Configuration Schema v1.1.0
#4432- When a YAML field is omitted, the parsed configuration model now uses
these schema defaults instead of the previous legacy values:attribute_limits.attribute_value_length_limit,
logger_provider.limits.attribute_value_length_limit, and
tracer_provider.limits.attribute_value_length_limitdefault to no limit
(unlimited attribute value length) instead of 4096 bytes.batchlog record processorschedule_delaydefaults to 1000 ms instead
of 5000 ms (more frequent batch exports when the field is omitted).periodicmetric readerintervaldefaults to 60000 ms instead of 5000 ms
(less frequent metric exports when the field is omitted).trace_id_ratio_basedsamplerratiodefaults to 1.0 instead of 0.0
(sample all traces instead of dropping all when the field is omitted).
- When a YAML field is omitted, the parsed configuration model now uses
-
[CONFIGURATION] SDK default component builder libraries and example
#4367- The declarative configuration registry is now empty on construction and
the default SDK component builders are provided optionally through
theopentelemetry-cpp::configuration_registry_factorylibrary and
theopentelemetry::sdk::configuration::RegistryFactory::Create()method.
- The declarative configuration registry is now empty on construction and
-
[BUILD] Install an explicit list of ext headers instead of the whole
directory
#4327- The
ext_commoncomponent installedinclude/opentelemetry/extwith a
*.hglob. It now installs a named list, and these five headers are no
longer part of the package:opentelemetry/ext/http/client/curl/http_client_curl.hopentelemetry/ext/http/client/curl/http_operation_curl.hopentelemetry/ext/http/client/detail/default_factory.hopentelemetry/ext/http/server/http_server.hopentelemetry/ext/http/server/socket_tools.h
- Code that included any of them from an installed package will no longer
compile. A curl client is created throughhttp_client_factory_curl.h,
which needs only the abstracthttp_client_factory.h. The two server
headers are an embedded test server; moving them out ofextis tracked
in #4332.
- The
-
[CMAKE] Rename cmake options with prefix
OTELCPP_
#4268- All CMake build options were renamed with the
OTELCPP_prefix to avoid
name collisions with user and third-party project variables. For example,
WITH_OTLP_HTTP,WITH_CONFIGURATION, andWITH_OTLP_RETRY_PREVIEWare
nowOTELCPP_WITH_OTLP_HTTP,OTELCPP_WITH_CONFIGURATION, and
OTELCPP_WITH_OTLP_RETRY_PREVIEW. BUILD_TESTINGbecomesOTELCPP_BUILD_TESTING, but is not treated as a
deprecated alias:- When opentelemetry-cpp is the top-level project,
BUILD_TESTINGsets the
default value ofOTELCPP_BUILD_TESTING. - When opentelemetry-cpp is a subproject, the parent project's
BUILD_TESTINGno longer controls opentelemetry-cpp tests, which default
toOFF. - Set
OTELCPP_BUILD_TESTINGexplicitly to enable or disable
opentelemetry-cpp tests in either top-level or subproject builds.
- When opentelemetry-cpp is the top-level project,
OTELCPP_WITH_BENCHMARKnow defaults to the value of
OTELCPP_BUILD_TESTINGinstead of always defaulting toON.- The other legacy option names are still accepted but deprecated: a
deprecation warning is emitted at configure time, and theOTELCPP_name
takes precedence when both names are set.
- All CMake build options were renamed with the
-
[METRICS SDK] Rename Base2 Exponential Histogram Aggregation config field
#4253- The public configuration member
max_buckets_was renamed tomax_size_to
match the configuration schema. Please adjust SDK configuration accordingly.
- The public configuration member
-
[CONFIGURATION] Update prometheus config to schema v1.1.0
#4383- The following YAML values for
translation_strategyhave been replacedUnderscoreEscapingWithSuffixesis replaced byunderscore_escaping_with_suffixesUnderscoreEscapingWithoutSuffixesis replaced byunderscore_escaping_without_suffixes/developmentNoUTF8EscapingWithSuffixesis replaced byno_utf8_escaping_with_suffixes/developmentNoTranslationis replaced byno_translation/development
- The following YAML values for
-
[METRICS SDK] Add an
ExemplarFilterTypeparameter to theMeterContext
constructor when metrics exemplars are enabled. The parameter has a default
value, so existing source calls remain valid, but the constructor signature
and SDK ABI change. Applications using the preview exemplar feature must be
rebuilt.
#4328 -
[METRICS SDK] Remove the
SystemTimestampparameter from the preview
ExemplarReservoir::OfferMeasurement()overloads
#4267- This is an incompatible API and ABI change for custom exemplar reservoirs.
Implementations and callers must remove the timestamp parameter.
- This is an incompatible API and ABI change for custom exemplar reservoirs.
-
[METRICS SDK] Breaking change to the preview metrics exemplar surface: the
SyncMetricStorage/AsyncMetricStorageconstructors now take an
ExemplarFilterType, andExemplarData::Createtakes theSpanContext
by value.
#4267
Important changes
-
[CONFIGURATION] Complete resource detection support in SdkBuilder (#4424)
#4424- Behavior change:
SetResourceno longer runsOTELResourceDetectorand no
longer injects a defaultservice.name, since neither is part of the
configuration model. Use theservicedetector or set the attributes in
the configuration file instead.
- Behavior change:
-
[API] Never set a null global provider or propagator
#4420trace::Provider::SetTracerProvider(),
metrics::Provider::SetMeterProvider(),
logs::Provider::SetLoggerProvider(),
logs::Provider::SetEventLoggerProvider()and
context::propagation::GlobalTextMapPropagator::SetGlobalPropagator()
now install the corresponding no-op implementation when passed a null
pointer, instead of storing the null. The matching getters therefore never
returnnullptr, as already documented, and code that resets a global
during cleanup no longer risks a nullptr de-ref on a later use.
Note: this is a correctness fix to an inline API header; the observable
behavior of these methods changes towards the already documented contract
(seedocs/abi-policy.md).
-
[SDK] Enforce Span Status transition rules (#4547)
#4547- Previously every
SetStatuscall overwrote the recorded status. It now
follows the specification, which changes behavior for users in three ways:- A call with
StatusCode::kUnsetis ignored. - Once the status is
kOk, it is final. So a later call can no longer
change an explicitkOk. - The description is kept only for
kError; it is dropped forkOkand
kUnset.
- A call with
ETWSpan::SetStatusin the ETW exporter follows the same rules.
- Previously every
Deprecations
This release contains deprecations, see file DEPRECATED.md
What's Changed
- [RELEASE] Bump main branch to 1.29.0-dev by @marcalff in #4259
- docs: update supported development platforms by @ThomsonTan in #4260
- Bump github/codeql-action/upload-sarif from 4.37.0 to 4.37.1 by @dependabot[bot] in #4262
- Bump github/codeql-action/analyze from 4.37.0 to 4.37.1 by @dependabot[bot] in #4263
- [API] reduce allocation in no span case by @proost in #4254
- [CONFIGURATION] Programmatic configuration use case tests and fixes by @dbarker in #4243
- [METRICS SDK] Validate Base2 Exponential Histogram Aggregation config by @RaviTriv in #4253
- [OTLP EXPORTER] Support setting byte arrays in all attribute collections and reject null keys by @dbarker in #4226
- [CODE HEALTH] Fix more clang tidy warnings (member initialization) by @dbarker in #4270
- [SDK] Read span limits from environment variables by @HrMathematiker in #4258
- Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #4271
- Bump github/codeql-action/upload-sarif from 4.37.1 to 4.37.2 by @dependabot[bot] in #4274
- Bump github/codeql-action/analyze from 4.37.1 to 4.37.3 by @dependabot[bot] in #4276
- [API] make EnvironmentCarrier spec-compliant (#4190) by @om7057 in #4264
- [CODE HEALTH] Move metrics storage test fixtures into anony...
v1.28.0 release
v1.28.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
Important changes
-
[API] fix the trace state regex to comply with the w3c trace context level 2 (#4194)
#4194- [API] Fix
TraceState::IsValidKey()to comply with the W3C Trace Context
Level 2, where keys containing@and keys with more than 241 characters
before@or more than 14 characters after@are now accepted.
Only the total 256-character key length limit is enforced.
Note: this is a correctness fix to an inline API header; the observable
behavior ofIsValidKey,IsValidKeyRegEx, andIsValidKeyNonRegEx
changes (seedocs/abi-policy.md).
- [API] Fix
-
[API+SDK] apply filtering EmitLogRecord (#4079)
#4079-
[API] (ABI v2)
Logger::EmitLogRecord(...)templates now apply the
Enabledfilter chain when aSeverityis in args. v1 behavior is
unchanged. -
[API/SDK] (ABI v2) Add
Logger::CreateLogRecordvirtual taking
const nostd::variant<trace::SpanContext, context::Context> &
for explicit-context record creation.Logger::EmitLogRecord(args...)
also detects aContext,SpanContext
orTraceId+SpanId[+TraceFlags] in args and routes filtering. -
[SDK] Add
LogRecordProcessor::HasEnabledFilter()so the SDK Logger can
include processor-level filtering in its extended-enabled cache. Defaults
totrue. Built-inSimpleLogRecordProcessorand
BatchLogRecordProcessoroverride tofalsesince they use the default
Enabled. -
[API/SDK] Replace
Context-only signatures on
LogRecordProcessor::Enabled,
LogRecordProcessor::EnabledImplementation,
Logger::EnabledImplementation(v2), andLogger::CreateLogRecord(v2)
withnostd::variant<trace::SpanContext, context::Context>.
-
Deprecations
This release contains deprecations, see file DEPRECATED.md
What's Changed
- [RELEASE] Bump main branch to 1.28.0-dev by @marcalff in #4081
- Bump step-security/harden-runner from 2.19.1 to 2.19.2 by @dependabot[bot] in #4082
- Bump step-security/harden-runner from 2.19.2 to 2.19.3 by @dependabot[bot] in #4084
- Fix IWYU Clang22 warnings by @marcalff in #4083
- Bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #4087
- [CODE HEALTH] Remove unused alias declarations by @thc1006 in #4091
- Bump codecov/codecov-action from 6.0.0 to 6.0.1 by @dependabot[bot] in #4092
- [SDK] MeterProvider: do not warn in destructor after explicit Shutdown by @jaehyeong-cho in #4085
- Fix: preserve delta start timestamp in fast path by @fmutlu68 in #4069
- Bump step-security/harden-runner from 2.19.3 to 2.19.4 by @dependabot[bot] in #4098
- Bump docker/build-push-action from 7.1.0 to 7.2.0 by @dependabot[bot] in #4097
- Bump actions/stale from 10.2.0 to 10.3.0 by @dependabot[bot] in #4096
- docs: update custom log handler example by @Galileo927 in #4089
- [BUILD] Suppress deprecated warnings in generated semconv metric headers by @RaviTriv in #4088
- Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 by @dependabot[bot] in #4103
- Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #4102
- Bump docker/setup-qemu-action from 4.0.0 to 4.1.0 by @dependabot[bot] in #4107
- [CI] add cmake gcc maintainer abiv2 job by @dbarker in #4105
- [DOC] Fix typos in SDK header comments by @DucMinhNe in #4111
- [CI] update codeql to cover all options with abiv2 by @dbarker in #4106
- [EXPORTER] Convert uint64_t attribute values exceeding INT64_MAX to string per OTel spec by @thc1006 in #4090
- [CODE HEALTH] Remove last unused nostd namespace alias in otlp_populate_attribute_utils by @thc1006 in #4114
- [CODE HEALTH] Move curl_http_test classes into anonymous namespace by @thc1006 in #4115
- [CODE HEALTH] Move simple_log_record_processor_test into anonymous namespace by @thc1006 in #4116
- Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #4118
- Bump github/codeql-action from 4.36.0 to 4.36.1 by @dependabot[bot] in #4117
- [CODE HEALTH] Move registry.cc propagator builders into anonymous namespace by @thc1006 in #4121
- [CODE HEALTH] Move sdk_builder.cc builders into anonymous namespace by @thc1006 in #4122
- Bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in #4123
- [CODE HEALTH] Fix clang-tidy bugprone-exception-escape in sum_aggregation.cc by @jensecrest in #4109
- [CODE HEALTH] Move logger_sdk_test classes into anonymous namespace by @thc1006 in #4124
- [CODE HEALTH] Move func_http_main classes into anonymous namespace by @thc1006 in #4128
- [CODE HEALTH] Move func_grpc_main classes into anonymous namespace by @thc1006 in #4129
- [CONFIGURATION] Implementing minimum_severity and trace_based attributes for LoggerConfig by @om7057 in #4131
- [SDK] Support TracerConfigurator updates by @dbarker in #4065
- Bump codecov/codecov-action from 6.0.1 to 7.0.0 by @dependabot[bot] in #4143
- Bump bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml from 1.2.0 to 1.3.0 by @dependabot[bot] in #4142
- [CODE HEALTH] Fix clang-tidy bugprone-exception-escape warnings in API by @dbarker in #3964
- [API+SDK] apply filtering EmitLogRecord by @proost in #4079
- [CI] iwyu clang tidy install thirdparty script to unify dev container by @proost in #4136
- [CONTEXT] Fix env carrier key normalization to be spec compliant by @pranitaurlam in #4141
- [SDK] Delta temporality: use per-instrument creation time for first interval start_ts by @thc1006 in #4144
- Bump bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml from 1.3.0 to 1.4.0 by @dependabot[bot] in #4147
- [EXPORTER] Add custom HTTP client by @ltowarek in #4071
- docs: add CNCF Slack join instructions by @cijothomas in #4153
- [SDK] Add ComposableSampler interface and CompositeSampler by @mateenali66 in #4133
- Bump bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml from 1.4.0 to 1.4.1 by @dependabot[bot] in #4150
- [SDK] File configuration: declarative resource detection types by @thc1006 in #4148
- [BUILD] Fix protobuf build failure by @marcalff in #4154
- [SEMANTIC CONVENTIONS] Upgrade to semconv 1.42.0 by @marcalff in #4156
- Bump rules_cc from 0.2.18 to 0.2.19 by @dependabot[bot] in #4120
- [CMAKE] upgrade grpc and protobuf by @dbarker in #4167
- Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #4169
- [BENCHMARK] add span otlp recordable benchmark by @dbarker in #4165
- [METRICS] Enable synchronous gauge delta temporality and add tests for multi reader path by @niqiangpro-cell in #4159
- Add preview support for bound instruments by @lalitb in #4042
- [API/SDK] add `WITH_...
v1.27.0 release
v1.27.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
Security fix
-
[EXPORTER] OTLP HTTP exporters read unbounded HTTP response
#4078- When exporting OTLP HTTP data to a misconfigured or malicious endpoint,
the exporter could allocate an arbitrary amount of memory when getting
the endpoint HTTP response back. - The size of HTTP responses is now limited to 4MiB by default,
following the opentelemetry-proto recommendations. - See CVE-2026-44967
- When exporting OTLP HTTP data to a misconfigured or malicious endpoint,
Breaking changes
-
[SDK] env var durations non conforming to spec
#4020- Environment variables for durations can accept two formats, with units
(15s,15000ms) or without units (15000). - When parsing environment variables that represent durations,
and only in the case no unit is provided,
for exampleOTEL_METRIC_EXPORT_INTERVAL=15000,
the code interpreted the value,15000,
in seconds instead of milliseconds per the specifications. - Parsing duration without units has been fixed to use milliseconds.
- As a consequence, every duration environment variable set
without a unit is now interpreted differently, which is a breaking change. - For example,
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT=30meant 30 seconds
before, and now means 30 milliseconds.
To preserve the same behavior, existing values must be adjusted,
to either30000or30000msor30sin this case. - The following variables are affected:
- OTEL_EXPORTER_OTLP_TRACES_TIMEOUT
- OTEL_EXPORTER_OTLP_METRICS_TIMEOUT
- OTEL_EXPORTER_OTLP_LOGS_TIMEOUT
- OTEL_EXPORTER_OTLP_TIMEOUT
- OTEL_BLRP_SCHEDULE_DELAY
- OTEL_BLRP_EXPORT_TIMEOUT
- OTEL_METRIC_EXPORT_INTERVAL
- OTEL_METRIC_EXPORT_TIMEOUT
- OTEL_BSP_SCHEDULE_DELAY
- OTEL_BSP_EXPORT_TIMEOUT
- Environment variables for durations can accept two formats, with units
Important changes
-
[SDK] Move inline implementation from SDK headers to .cc files.
#3887- Note:
GetEmptyAttributes()now requires linkingopentelemetry_common.
- Note:
-
Enable WITH_OTLP_RETRY_PREVIEW by default
#3953- CMake flag WITH_OTLP_RETRY_PREVIEW is now enabled by default.
- This flag is deprecated, planned for removal.
-
Enable WITH_OTLP_GRPC_SSL_MTLS_PREVIEW by default
#3970- CMake flag WITH_OTLP_GRPC_SSL_MTLS_PREVIEW is now enabled by default.
- This flag is deprecated, planned for removal.
- Bazel now always builds with ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW.
- grpc properties for ssl KEY and CERT are always available,
adjust the application code to initialize all members in grpc options.
-
[EXPORTER] implement non-utf8 string to bytes in OTLP exporters
#3991- Add WITH_OTLP_UTF8_VALIDITY for CMake
and enable ENABLE_OTLP_UTF8_VALIDITY for Bazel
to export non-UTF-8 strings as bytes in OTLP.
- Add WITH_OTLP_UTF8_VALIDITY for CMake
-
Enable ENABLE_OTLP_RETRY_PREVIEW for bazel
#4010- Bazel now always builds with ENABLE_OTLP_RETRY_PREVIEW.
-
[API] Deprecate opentelemetry::plugin
#4021- namespace opentelemetry::plugin is deprecated
- See file DEPRECATED.md for details.
-
[SDK] Fix cardinality-limit overflow attribute name to match the
specification
#4060- The synthetic overflow data point attribute is now exported as
otel.metric.overflow(singular) per the
Metrics SDK specification. - Previously the SDK exported
otel.metrics.overflow(plural), which
diverged from the spec and from every other language SDK
(Go, Java, JS, .NET). - Downstream consumers (dashboards, alerts, queries) that filtered on
the old name must be updated to the spec-correct name.
- The synthetic overflow data point attribute is now exported as
Deprecations
This release contains deprecations, see file DEPRECATED.md
What's Changed
- [RELEASE] Bump main branch to 1.27.0-dev by @marcalff in #3947
- [CODE HEALTH] Fix clang tidy warnings in API
commonandcontextby @dbarker in #3948 - Bump github/codeql-action from 4.33.0 to 4.34.1 by @dependabot[bot] in #3949
- [CODE HEALTH] Fix more clang-tidy warnings in sdk by @dbarker in #3951
- [CODE HEALTH] Fix more clang-tidy warnings in api by @dbarker in #3950
- [CODE HEALTH] Fix clang-tidy warnings in ext, exporters, and examples by @dbarker in #3952
- Bump grpc from 1.78.0 to 1.80.0 by @dependabot[bot] in #3955
- Bump codecov/codecov-action from 5.5.3 to 6.0.0 by @dependabot[bot] in #3954
- Bump github/codeql-action from 4.34.1 to 4.35.1 by @dependabot[bot] in #3957
- Bump step-security/harden-runner from 2.16.0 to 2.16.1 by @dependabot[bot] in #3960
- Bump fossas/fossa-action from 1.8.0 to 1.9.0 by @dependabot[bot] in #3961
- Move implementation from SDK header files to SDK cc by @perhapsmaple in #3887
- Bump bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml from 1.1.0 to 1.2.0 by @dependabot[bot] in #3962
- Bump benchmark-action/github-action-benchmark from 1.21.0 to 1.22.0 by @dependabot[bot] in #3963
- [CODE HEALTH] Fix clang-tidy param-not-moved in otlp grpc exporters by @dbarker in #3956
- Enable WITH_OTLP_RETRY_PREVIEW by default by @marcalff in #3953
- Add Doug Barker as maintainer by @dbarker in #3969
- [CODE HEALTH] Cleanup nostd variant access for noexcept methods in api and sdk by @dbarker in #3965
- [chore]: update readme by @maryliag in #3971
- Adjust emeritus status by @marcalff in #3972
- Enable WITH_OTLP_GRPC_SSL_MTLS_PREVIEW by default by @marcalff in #3970
- Bump step-security/harden-runner from 2.16.1 to 2.17.0 by @dependabot[bot] in #3976
- Bump actions/github-script from 8.0.0 to 9.0.0 by @dependabot[bot] in #3975
- [SDK] Reduce lock contention in SyncMetricStorage for concurrent metric recording by @perhapsmaple in #3959
- [Bazel] Add ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW define to otlp_grpc_log_record_exporter by @ThomsonTan in #3988
- [TEST] Only run the multi_observer_test when building with ABI v2 by @dbarker in #3982
- [CODE HEALTH] Fix gcc warnings in release maintainer build by @dbarker in #3984
- Bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in #3992
- [CODE HEALTH] Fix clang-tidy misc-use-internal-linkage warnings by @mateenali66 in #3985
- [CODE HEALTH] Fix clang-tidy narrowing conversions in baggage by @thc1006 in #3989
- [CODE HEALTH] Fix clang-tidy narrowing-conversions warnings in tests by @mateenali66 in #3987
- Bump actions/cache from 5.0.4 to 5.0.5 by @dependabot[bot] in #3994
- [CODE HEALTH] Fix misc clang-tidy warnings by @marcalff in #3993
- [TEST] Replace routable IP with RFC 5737 TEST-NET address in curl test by @ThomsonTan in #4001
- [TEST] set a maximum thread count for the metrics stress test by @dbarker in #4003
- Bump github/codeql-action from 4.35.1 to 4.35.2 by @dependabot[bot] in #4005
- Bump step-security/harden-runner from 2.17.0 to 2.18.0 by @dependabot[bot] in #4004
- [CODE HEALTH] Fix clang-tidy warnings in base2 exponential histogram aggregation by @thc1006 in #3997
- [CI] Build third-party dependencies in release with ninja by @dbarker in #3995
- [CI] Update ci scripts and documentation by @dbarker in https://github.c...
v1.26.0 release
v1.26.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
Important changes
-
[SDK] Swap Tracer/Meter/LoggerConfig disabled for enabled
#3942- In TracerConfig(bool), MeterConfig(bool), and LoggerConfig(bool),
the boolean parameter now representsenabledinstead ofdisabled. - User code calling these constructors explicitly must be adjusted
to passfalseto disable.
- In TracerConfig(bool), MeterConfig(bool), and LoggerConfig(bool),
-
[BUILD] Revisit EventLogger deprecation
#3855- File
DEPRECATED.mdcontains information about current deprecation
plans. - Please adjust your application accordingly, to avoid disruption.
- File
-
[CONFIGURATION] File configuration - spec stability
#3862- The specification for declarative configuration is now stable.
- As a result, environment variable
OTEL_EXPERIMENTAL_CONFIG_FILE
is now renamed toOTEL_CONFIG_FILE.
What's Changed
- [RELEASE] Bump main branch to 1.26.0-dev by @marcalff in #3853
- [BUILD] Configure ryml to use exceptions when using CMAKE by @BugelNiels in #3852
- Bump step-security/harden-runner from 2.14.1 to 2.14.2 by @dependabot[bot] in #3854
- [CONFIGURATION] File configuration - handle invalid YAML by @perhapsmaple in #3858
- Bump docker/build-push-action from 6.18.0 to 6.19.1 by @dependabot[bot] in #3860
- [BUILD] Avoid break caused by max() macro on windows by @marcalff in #3863
- Bump docker/build-push-action from 6.19.1 to 6.19.2 by @dependabot[bot] in #3864
- Bump github/codeql-action from 4.32.2 to 4.32.3 by @dependabot[bot] in #3868
- Bump actions/stale from 10.1.1 to 10.2.0 by @dependabot[bot] in #3871
- [CI] Fix publish-to-bcr workflow by @mmorel-35 in #3869
- [CI] Provide bazel updates with dependabot by @mmorel-35 in #3870
- Bump prometheus-cpp from 1.3.0 to 1.3.0.bcr.2 by @dependabot[bot] in #3873
- Bump bazel_skylib from 1.7.1 to 1.9.0 by @dependabot[bot] in #3874
- Bump rules_cc from 0.2.9 to 0.2.17 by @dependabot[bot] in #3875
- Bump zlib from 1.3.1.bcr.5 to 1.3.2 by @dependabot[bot] in #3880
- Bump curl from 8.8.0 to 8.11.0.bcr.4 by @dependabot[bot] in #3879
- [CI] Add Doxygen validation workflow by @srgbtl in #3882
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.40.0 by @marcalff in #3881
- Bump github/codeql-action from 4.32.3 to 4.32.4 by @dependabot[bot] in #3884
- [API] Environment Variables as Context Propagation Carriers by @perhapsmaple in #3834
- [SDK] Trace StartSpan - do not call GetCurrentSpan() unless needed by @Hailios in #3888
- Bump step-security/harden-runner from 2.14.2 to 2.15.0 by @dependabot[bot] in #3889
- Bump google_benchmark from 1.8.4 to 1.9.5 by @dependabot[bot] in #3885
- Bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #3892
- [BUILD] Revisit EventLogger deprecation by @marcalff in #3855
- Bump platforms from 0.0.11 to 1.0.0 by @dependabot[bot] in #3893
- Bump benchmark-action/github-action-benchmark from 1.20.7 to 1.21.0 by @dependabot[bot] in #3896
- Bump github/codeql-action from 4.32.4 to 4.32.5 by @dependabot[bot] in #3897
- [TEST] Add multi-threaded metrics benchmarks: shared vs per-thread counter by @ThomsonTan in #3898
- [BUILD] Upgrade bazel dependencies by @marcalff in #3891
- [CODE HEALTH] Fix clang-tidy warnings, part 2 by @marcalff in #3872
- [CONFIGURATION] File configuration - spec stability by @marcalff in #3862
- [CI] replace cfssl with openssl for certificate generation by @7h3-3mp7y-m4n in #3902
- Bump abseil-cpp from 20250512.1 to 20260107.1 by @dependabot[bot] in #3877
- Bump googletest from 1.17.0 to 1.17.0.bcr.2 by @dependabot[bot] in #3876
- Bump curl from 8.11.0.bcr.4 to 8.12.0 by @dependabot[bot] in #3904
- [BUILD] Upgrade to rapidyaml 0.10.0 by @marcalff in #3906
- Bump github/codeql-action from 4.32.5 to 4.32.6 by @dependabot[bot] in #3910
- Bump nlohmann_json from 3.12.0 to 3.12.0.bcr.1 by @dependabot[bot] in #3912
- Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by @dependabot[bot] in #3903
- Bump docker/setup-buildx-action from 3.12.0 to 4.0.0 by @dependabot[bot] in #3907
- [EXAMPLES] Deprecated semantic conventions used by @marcalff in #3905
- Bump docker/build-push-action from 6.19.2 to 7.0.0 by @dependabot[bot] in #3909
- [CODE HEALTH] Fix clang-tidy cppcoreguidelines-init-variables warnings by @dbarker in #3919
- Bump step-security/harden-runner from 2.15.0 to 2.15.1 by @dependabot[bot] in #3908
- [CODE HEALTH] Fix clang-tidy misc-use-internal-linkage warnings by @marcalff in #3918
- [CODE HEALTH] Fix clang-tidy macro to enum warnings by @marcalff in #3922
- [BUILD] Fix benchmark genrule capturing stderr into JSON output by @ThomsonTan in #3925
- [CODE HEALTH] Fix clang-tidy performance enum size warnings by @marcalff in #3923
- Bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in #3928
- [CODE HEALTH] Fix clang-tidy warnings in nostd files by @dbarker in #3924
- [EXPORTER] Allow custom HttpClient in OTLP HTTP by @marcalff in #3930
- [CODE HEALTH] Fix clang-tidy performance-for-range-copy warnings by @dbarker in #3932
- [CODE HEALTH] Fix clang-tidy performance-unnecessary-value-param warnings by @marcalff in #3931
- [CODE HEALTH] Fix clang-tidy bugprone warnings by @dbarker in #3933
- [CODE HEALTH] Fix clang-tidy special-member-functions warnings in trace API by @dbarker in #3934
- Bump github/codeql-action from 4.32.6 to 4.33.0 by @dependabot[bot] in #3936
- Bump step-security/harden-runner from 2.15.1 to 2.16.0 by @dependabot[bot] in #3937
- [TEST] CMake component install test for
resource_detectorsby @dbarker in #3940 - [CODE HEALTH] Fix clang-tidy performance warnings by @dbarker in #3941
- [EXPORTERS] Remove prometheus timestamps by @carlosroman in #3895
- [SDK] Swap Tracer/Meter/LoggerConfig disabled for enabled by @AyushMukkanwar in #3942
- [CMAKE] Update third party dependencies for cmake builds by @dbarker in #3943
- Bump codecov/codecov-action from 5.5.2 to 5.5.3 by @dependabot[bot] in #3945
- Bump actions/cache from 5.0.3 to 5.0.4 by @dependabot[bot] in #3946
- [CONFIGURATION] File configuration - Tracer/Meter/Logger c...
v1.25.0 release
v1.25.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
Breaking changes
-
[CONFIGURATION] File configuration - remove zipkin
#3804- The zipkin trace exporter is no longer supported
by declarative configuration, due to an upstream schema change.
- The zipkin trace exporter is no longer supported
-
[CONFIGURATION] File configuration - rename tls properties
#3805- The Tls properties for Grpc and Http are renamed,
due to an upstream schema change.
- The Tls properties for Grpc and Http are renamed,
-
[SDK] Invalid thread instrumentation in PeriodicExportingMetricReader
#3842- The collect thread in the periodic exporting metric reader no longer
exists. - As a result, member
collect_thread_instrumentationin class
PeriodicExportingMetricReaderRuntimeOptionsis removed.
- The collect thread in the periodic exporting metric reader no longer
What's Changed
- [RELEASE] Bump main branch to 1.25.0-dev by @marcalff in #3759
- [API] fix sign-conversion warnings in span & trace id by @sjanel in #3761
- [TEST] Fix ZipkinExporterTestPeer.ExportJsonIntegrationTest stability by @tushar1977 in #3760
- Bump github/codeql-action from 4.31.4 to 4.31.5 by @dependabot[bot] in #3764
- [CI] Update markdownlint-cli version to 0.46.0 by @thompson-tomo in #3769
- [chore] Add clo monitor exemption for artifact hub by @thompson-tomo in #3772
- [API] fix shared_ptr self assignments by @Reneg973 in #3768
- chore: Add badges to readme by @thompson-tomo in #3773
- Bump github/codeql-action from 4.31.5 to 4.31.6 by @dependabot[bot] in #3774
- Bump step-security/harden-runner from 2.13.2 to 2.13.3 by @dependabot[bot] in #3776
- Bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #3775
- [TEST] Multiple exports in OTLP HTTP exporters tests by @owent in #3771
- Bump actions/stale from 10.1.0 to 10.1.1 by @dependabot[bot] in #3777
- Bump github/codeql-action from 4.31.6 to 4.31.7 by @dependabot[bot] in #3783
- [SDK] Fix BatchSpanProcessorOptions and BatchLogRecordProcessorOptions to restore C++20 aggregate initialization support by @Copilot in #3780
- [CI] Add BCR GitHub workflow and configuration by @mmorel-35 in #3782
- Bump codecov/codecov-action from 5.5.1 to 5.5.2 by @dependabot[bot] in #3785
- Bump step-security/harden-runner from 2.13.3 to 2.14.0 by @dependabot[bot] in #3784
- Bump actions/cache from 4.3.0 to 5.0.0 by @dependabot[bot] in #3786
- Bump actions/download-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #3791
- Bump github/codeql-action from 4.31.7 to 4.31.8 by @dependabot[bot] in #3790
- Bump actions/cache from 5.0.0 to 5.0.1 by @dependabot[bot] in #3789
- Bump bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml from 1.0.0 to 1.1.0 by @dependabot[bot] in #3788
- [CI] upgrade to clang-tidy 20 by @dbarker in #3762
- [SDK] Fix off-by-one error in
Base2ExponentialHistogramAggregation::Merge()downscaling by @martani in #3793 - Bump github/codeql-action from 4.31.8 to 4.31.9 by @dependabot[bot] in #3792
- Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 by @dependabot[bot] in #3797
- [SDK] Implement EnvEntityDetector for OTEL_ENTITIES parsing (#3652) by @Hasv07 in #3795
- [ADMIN] Update link to SIG meeting notes by @marcalff in #3803
- [CONFIGURATION] File configuration - remove zipkin by @marcalff in #3804
- [CONFIGURATION] File configuration - rename tls properties by @marcalff in #3805
- [EXPORTER] add OTLP HTTP metric exporter benchmark by @ishan0803 in #3801
- [API] Parse baggage value as spec compliant by @ThomsonTan in #3758
- Bump github/codeql-action from 4.31.9 to 4.31.10 by @dependabot[bot] in #3807
- [TEST] add test for invalid OTEL_BLRP_SCHEDULE_DELAY env value by @MPSAJID in #3811
- [CONFIGURATION] File configuration - implement log_level by @marcalff in #3810
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.39.0 by @marcalff in #3813
- Bump actions/cache from 5.0.1 to 5.0.2 by @dependabot[bot] in #3814
- [CONFIGURATION] File configuration - prometheus without_target_info by @marcalff in #3818
- [BAZEL] Fix CI after bazel 9.0.0 release by @marcalff in #3823
- [TEST] Extend logs invalid schedule delay tests by @MPSAJID in #3812
- [BUILD] Update vendored TraceLoggingDynamic.h to compile with msvc's conformant preprocessor by @cgettys-microsoft in #3822
- [CONFIGURATION] File configuration - implement cardinality_limits by @marcalff in #3820
- Bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #3826
- [ETW] Fix infinite loop in ETWProvider::close by @ThomsonTan in #3827
- [ETW] Fix tracer initialization order by @beep-boopp in #3824
- Bump github/codeql-action from 4.31.10 to 4.31.11 by @dependabot[bot] in #3828
- Bump step-security/harden-runner from 2.14.0 to 2.14.1 by @dependabot[bot] in #3832
- Bump github/codeql-action from 4.31.11 to 4.32.0 by @dependabot[bot] in #3831
- [ETW] Fix ETW Log Exporter: incorrect timestamp, traceId, and spanId by @ThomsonTan in #3836
- [CONFIGURATION] File configuration - implement distribution by @marcalff in #3833
- Bump actions/cache from 5.0.2 to 5.0.3 by @dependabot[bot] in #3838
- [CONFIGURATION] File configuration - exemplar filter by @marcalff in #3837
- [EXPORTER] Add support for otlp exporter collection limits by @Joshua-Elsner in #3816
- [BAZEL] Add linkstatic = True to http_client_curl by @aaylward in #3825
- Bump github/codeql-action from 4.32.0 to 4.32.1 by @dependabot[bot] in #3839
- [CODE HEALTH] Fix clang-tidy warnings, part 1 by @marcalff in #3841
- [SDK] Invalid thread instrumentation in PeriodicExportingMetricReader by @marcalff in #3842
- [BUILD] Support build proto as shared lib on Windows by @owent in #3714
- [INSTALL] Add pkg-config support for exporters by @perhapsmaple in #3829
- Bump github/codeql-action from 4.32.1 to 4.32.2 by @dependabot[bot] in #3847
- Bump fossas/fossa-action from 1.7.0 to 1.8.0 by @dependabot[bot] in #3848
- [BUILD] Ignore deprecated warning by @owent in #3845
- [RELEASE] Release opentelemetry-cpp 1.25.0 by @marcalff in #3850
New Contributors
- @sjanel made their first contribution in #3761
- @tushar1977 made their first contribution in #3760
- @th...
v1.24.0 release
v1.24.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
New Features
-
[CONFIGURATION] Implement declarative configuration (config.yaml)
#2518- Configuration for opentelemetry-cpp can now be done using a config.yaml
file, instead of using environment variables. - See opentelemetry-configuration
- Configuration for opentelemetry-cpp can now be done using a config.yaml
What's Changed
- [RELEASE] Bump main branch to 1.24-dev by @marcalff in #3662
- [TEST] Remove workaround for metrics cardinality limit test by @ThomsonTan in #3663
- Bump github/codeql-action from 3.30.3 to 3.30.4 by @dependabot[bot] in #3664
- [CONFIGURATION] File configuration - semantic version by @marcalff in #3629
- [BUILD] Fix MinGW GCC cross compilation build on Linux for Windows by @stephan-cr in #3666
- [CONFIGURATION] File configuration - cmake build by @marcalff in #3655
- [CONFIGURATION] File configuration - bazel build by @marcalff in #3654
- Bump step-security/harden-runner from 2.12.2 to 2.13.1 by @dependabot[bot] in #3671
- Bump github/codeql-action from 3.30.4 to 3.30.5 by @dependabot[bot] in #3670
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #3669
- [CMAKE] Only build and run the exemplar tests if the preview flag is set by @dbarker in #3675
- [TEST] Update latest versions of protobuf, grpc, and curl for testing by @dbarker in #3678
- [SDK] Fix typo in hashmap method GetEnteries by @ThomsonTan in #3680
- [TEST] add ryml to the conan files for install tests by @dbarker in #3679
- [TRACE SDK] Batch span processor options now using env variables by @nikhilbhatia08 in #3661
- Bump ossf/scorecard-action from 2.4.2 to 2.4.3 by @dependabot[bot] in #3677
- [CONFIGURATION] File configuration - cmake install by @marcalff in #3668
- Bump github/codeql-action from 3.30.5 to 3.30.6 by @dependabot[bot] in #3683
- Bump peter-evans/create-or-update-comment from 4.0.0 to 5.0.0 by @dependabot[bot] in #3682
- Bump actions/stale from 10.0.0 to 10.1.0 by @dependabot[bot] in #3686
- [SDK] BatchLogRecordProcessorOptions from env variables by @nikhilbhatia08 in #3687
- [BUILD] Upgrade third party versions to the latest by @dbarker in #3685
- Bump github/codeql-action from 3.30.6 to 4.30.7 by @dependabot[bot] in #3689
- Bump github/codeql-action from 4.30.7 to 4.30.8 by @dependabot[bot] in #3692
- [Metrics] Allow registering one callback for multiple instruments by @KJTsanaktsidis in #3667
- [CI] Upgrade tools/vcpkg to 2025.09.17 by @marcalff in #3701
- [CI] Upgrade to conan 2.21.0 for conanfile_latest by @marcalff in #3703
- [bazel] Drop WORKSPACE support by @keith in #3699
- Bump github/codeql-action from 4.30.8 to 4.30.9 by @dependabot[bot] in #3707
- [BUILD] Add rules_cc load statements by @keith in #3697
- [CONFIGURATION] File configuration - parser location by @marcalff in #3705
- [API] Fix -Werror=alloc-size-larger-than= warning in runtime_context.h by @marcalff in #3709
- Bump github/codeql-action from 4.30.9 to 4.31.0 by @dependabot[bot] in #3720
- Bump actions/download-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #3719
- [CONFIGURATION] File configuration - prometheus translation by @marcalff in #3715
- [SDK] Misc cleanup in attribute_utils.h by @Reneg973 in #3716
- [TEST] Disable test BasicCurlHttpTests.SendGetRequestAsync by @marcalff in #3722
- [SDK] Add cardinality_limit to all derived classes of AggregationConfig by @ThomsonTan in #3728
- Bump github/codeql-action from 4.31.0 to 4.31.2 by @dependabot[bot] in #3733
- [BUILD] Upgrade to opentelemetry-proto 1.8.0 by @marcalff in #3730
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.38.0 by @marcalff in #3729
- [CONFIGURATION] Implement declarative configuration (config.yaml) by @marcalff in #2518
- [CONFIGURATION] File configuration - tls by @marcalff in #3726
- [CONFIGURATION] File configuration - console metric exporter by @marcalff in #3734
- [DOCS] Remove out-of-date vcpkg docs by @ThomsonTan in #3735
- [DOCKER] Update docker files to build all third party dependencies from the tags file by @dbarker in #3718
- Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in #3739
- Bump step-security/harden-runner from 2.13.1 to 2.13.2 by @dependabot[bot] in #3738
- [API] Make Request Context Token constructor public by @aknott in #3708
- [BUILD] Remove CMAKE POLICY CMP0092 by @marcalff in #3741
- [DOCS] Fix code sample for setting
CustomLogHandlerby @jgreitemann in #3736 - Bump github/codeql-action from 4.31.2 to 4.31.3 by @dependabot[bot] in #3744
- [METRICS] Add tag to AggregationConfig for aggregation type validation by @ThomsonTan in #3732
- [BUILD] CMake install path with double slash by @marcalff in #3747
- [CI] Free disk space by @marcalff in #3749
- [SDK] Reset TraceFlags::IsSampled bit on sampler Decision::DROP by @marcalff in #3745
- [CODE HEALTH] turn on the
cppcoreguidelines-init-variablescheck and fix warnings by @dbarker in #3751 - Bump actions/checkout from 5.0.0 to 5.0.1 by @dependabot[bot] in #3753
- Bump github/codeql-action from 4.31.3 to 4.31.4 by @dependabot[bot] in #3755
- Bump actions/checkout from 5.0.1 to 6.0.0 by @dependabot[bot] in #3757
- [RELEASE] Release opentelemetry-cpp 1.24.0 by @marcalff in #3756
New Contributors
- @stephan-cr made their first contribution in #3666
- @Reneg973 made their first contribution in #3716
- @aknott made their first contribution in #3708
- @jgreitemann made their first contribution in #3736
Full Changelog: v1.23.0...v1.24.0
v1.23.0 release
v1.23.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
What's Changed
- [CodeHealth] Fix clang-tidy warnings part 6 by @dbarker in #3507
- [CMAKE] Add CMake scripts to find or fetch curl and find zlib by @dbarker in #3526
- [REMOVAL] remove unused ci bash scripts by @dbarker in #3541
- Bump step-security/harden-runner from 2.12.2 to 2.13.0 by @dependabot[bot] in #3542
- [SDK] Ensure TraceId is portable on big-endian architectures by @strophy in #3543
- [TEST] Shared otel-cpp libs linked to latest static protobuf and grpc by @dbarker in #3544
- [CONFIGURATION] File configuration - component registry by @marcalff in #3537
- [SDK] Implement env var configuration for PeriodicExportingMetricReader by @mathieurobin1 in #3549
- [SDK] Update default exemplar reservoir size for exponential histograms by @ssams in #3551
- [SDK] Implements options for the ParentBasedSampler with default values by @mathieurobin1 in #3553
- Bump github/codeql-action from 3.29.2 to 3.29.3 by @dependabot[bot] in #3556
- [CMAKE] Add CMake scripts to find or fetch protobuf and grpc by @dbarker in #3533
- [CONFIGURATION] File configuration - sdk builder by @marcalff in #3550
- Bump github/codeql-action from 3.29.3 to 3.29.4 by @dependabot[bot] in #3558
- [CONFIGURATION] File configuration - spec version 1.0.0-rc1 by @marcalff in #3557
- [CONFIGURATION] File configuration - sdk resource by @marcalff in #3567
- [CONFIGURATION] File configuration - ostream exporter builders by @marcalff in #3563
- [CONFIGURATION] File configuration - prometheus exporter builder by @marcalff in #3564
- [CONFIGURATION] File configuration - zipkin exporter builder by @marcalff in #3565
- [CONFIGURATION] File configuration - otlp exporter builders by @marcalff in #3566
- [CMAKE] Don't set iwyu and clang-tidy properties on nlohmann_json with cmake <3.19 by @dbarker in #3568
- [SDK] View should not have a unit by @marcalff in #3552
- [EXPORTER] Fixes tsan warnings by @owent in #3531
- [DOC] Document minimum required versions by @markus456 in #3562
- Bump github/codeql-action from 3.29.4 to 3.29.5 by @dependabot[bot] in #3574
- Add subscript to issue templates by @opentelemetrybot in #3576
- [CONFIGURATION] File configuration - configuration example by @marcalff in #3573
- Bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #3578
- Bump actions/cache from 4.2.3 to 4.2.4 by @dependabot[bot] in #3580
- [SDK] Implementation of container resource as per semconv by @nikhilbhatia08 in #3572
- Bump github/codeql-action from 3.29.7 to 3.29.8 by @dependabot[bot] in #3584
- [CI] update do_ci scripts to use common cmake cache scripts by @dbarker in #3582
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #3587
- Bump github/codeql-action from 3.29.8 to 3.29.9 by @dependabot[bot] in #3589
- [BUILD] Remove duplicated deprecated warnings in logs headers by @owent in #3592
- Bump github/codeql-action from 3.29.9 to 3.29.10 by @dependabot[bot] in #3595
- [resource_detectors] implementation of process resource detector as per semconv by @nikhilbhatia08 in #3591
- Bump codecov/codecov-action from 5.4.3 to 5.5.0 by @dependabot[bot] in #3597
- Bump github/codeql-action from 3.29.10 to 3.29.11 by @dependabot[bot] in #3602
- [BAZEL] Drop rules_foreign_cc as a dependency by @dws in #3601
- [BUILD] Remove cmake support for thrift as Jaeger was removed by @ThomsonTan in #3604
- [CMAKE] upgrade cmake minimum version to 3.16 by @dbarker in #3599
- [CMAKE] Set the project version through the cmake project macro by @dbarker in #3605
- [CONFIGURATION] File configuration - functional tests by @marcalff in #3606
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.37.0 by @marcalff in #3615
- [BUILD] Use -dev versions in main branch by @marcalff in #3609
- [BAZEL] Fix version warnings in MODULE.bazel by @marcalff in #3617
- [Copilot] Add instructions for OpenTelemetry C++ by @Copilot in #3614
- [MAINTAINER] Maintain version numbers with tbump by @marcalff in #3616
- Bump github/codeql-action from 3.29.11 to 3.30.0 by @dependabot[bot] in #3621
- Bump benchmark-action/github-action-benchmark from 1.20.4 to 1.20.5 by @dependabot[bot] in #3623
- [BUILD] Cleanup cppcheck warnings by @owent in #3619
- Bump actions/stale from 9.1.0 to 10.0.0 by @dependabot[bot] in #3626
- Bump actions/github-script from 7.0.1 to 8.0.0 by @dependabot[bot] in #3627
- Bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #3625
- [resource_detectors] implementation of remaining process attributes by @nikhilbhatia08 in #3603
- Bump benchmark-action/github-action-benchmark from 1.20.5 to 1.20.7 by @dependabot[bot] in #3631
- Bump github/codeql-action from 3.30.0 to 3.30.1 by @dependabot[bot] in #3630
- Bump github/codeql-action from 3.30.1 to 3.30.2 by @dependabot[bot] in #3637
- Bump step-security/harden-runner from 2.13.0 to 2.13.1 by @dependabot[bot] in #3636
- Bump github/codeql-action from 3.30.2 to 3.30.3 by @dependabot[bot] in #3639
- [Metrics] New Attribute Processor for Exclude list by @nikhilbhatia08 in #3633
- Implementing configurable aggregation cardinality limit by @ThomsonTan in #3624
- [CMAKE] Fix CMake 4.x build error on MacOS runner and when building opentracing by @dbarker in #3649
- [SDK] custom hash and equality for attribute processor by @nikhilbhatia08 in #3643
- Bump actions/cache from 4.2.4 to 4.3.0 by @dependabot[bot] in #3658
- [METRICS SDK] Fix copying overflow attributes in attribute hashmap by @ThomsonTan in #3651
- [RELEASE] Release opentelemetry-cpp v1.23.0 by @marcalff in #3660
Important changes
-
[CMAKE] Upgrade CMake minimum version to 3.16
#3599 -
[BUILD] Use -dev versions in main branch
#3609- The version number in the main branch has changed,
to better differentiate with the latest release. - For example:
- With a latest release 1.22.0, the main branch is 1.23.0-dev
- Upon release of 1.23.0, the main branch...
- The version number in the main branch has changed,
v1.22.0 release
v1.22.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
What's Changed
- [DOC] Udpate link to membership document by @ThomsonTan in #3452
- [CI] build examples with IWYU by @marcalff in #3450
- Bump ossf/scorecard-action from 2.4.1 to 2.4.2 by @dependabot[bot] in #3455
- [SDK] Use shared_ptr internally for AttributesProcessor to prevent use-after-free by @lalitb in #3457
- [CI] build iwyu by @dbarker in #3459
- Bump github/codeql-action from 3.28.18 to 3.28.19 by @dependabot[bot] in #3462
- [DOC] Update doc comments to pass -WDocumention check by @zurex in #3375
- [TEST] test examples in CI with CMake Part 1 by @dbarker in #3449
- [BUILD] Allow compilation with CXX26 by @vencislav-georgiev-1A in #3464
- [SDK] Add credentials option to OTLP gRPC client (#3402) by @DouglasHeriot in #3403
- [CI] Remove windows 2019 by @marcalff in #3466
- [CodeHealth] fix include-what-you-use, part 8 by @marcalff in #3465
- [BUILD] Upgrade to opentelemetry-proto 1.7.0 by @marcalff in #3443
- Bump github/codeql-action from 3.28.19 to 3.29.0 by @dependabot[bot] in #3472
- Bump step-security/harden-runner from 2.12.0 to 2.12.1 by @dependabot[bot] in #3471
- [SDK] BatchLogRecordProcessor::ForceFlush is not waking up bg thread by @KJTsanaktsidis in #3448
- [CI] rely on github installed cmake for ci runners by @dbarker in #3482
- [CI] Increase code coverage of iwyu and clang-tidy ci jobs by @dbarker in #3469
- [REMOVAL] Remove CMake option WITH_REMOVE_METER_PREVIEW by @marcalff in #3476
- [REMOVAL] Removed deprecated semantic convention header files. by @marcalff in #3475
- Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 by @dependabot[bot] in #3483
- Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 by @dependabot[bot] in #3488
- [Code Health] include-what-you-use cleanup, part 9 by @marcalff in #3492
- [CodeHealth] Fix clang-tidy warnings part 1 by @dbarker in #3493
- [CMAKE] Add thirdparty install cmake project and install bash script by @dbarker in #3486
- [DOC] Update community member listings by @opentelemetrybot in #3499
- [CodeHealth] Fix clang-tidy warnings part 2 by @dbarker in #3496
- [CodeHealth] Fix clang-tidy warnings part 3 by @dbarker in #3498
- [DOC] Fix outdated community membership link by @opentelemetrybot in #3500
- [CONFIGURATION] File configuration - trace model by @marcalff in #3467
- [CONFIGURATION] File configuration - sampler model by @marcalff in #3468
- [BUILD] Fixes grpc linking for OTLP exporter's tests by @owent in #3435
- [CONFIGURATION] File configuration - log model by @marcalff in #3473
- [CONFIGURATION] File configuration - metric model by @marcalff in #3474
- Bump github/codeql-action from 3.29.0 to 3.29.1 by @dependabot[bot] in #3505
- [EXPORTER] Add bytes support for OTLP recordables by @owent in #3495
- [CodeHealth] Fix clang tidy warnings part 4 by @dbarker in #3501
- [CodeHealth] Fix clang-tidy warnings part 5 by @dbarker in #3506
- [CI] Add minimum token permissions for all github workflow files by @opentelemetrybot in #3508
- Bump step-security/harden-runner from 2.12.1 to 2.12.2 by @dependabot[bot] in #3509
- Bump github/codeql-action from 3.29.1 to 3.29.2 by @dependabot[bot] in #3510
- [BUILD] Fixes compiling problems in NDK r27 by @owent in #3517
- [CMAKE] clean up googletest and benchmark dependency management by @dbarker in #3485
- [CONFIGURATION] File configuration - extension model by @marcalff in #3503
- [CONFIGURATION] File configuration - misc model by @marcalff in #3504
- [CONFIGURATION] File configuration - metric aggregation model by @marcalff in #3502
- [CMAKE] find or fetch nlohmann-json by @dbarker in #3523
- [CMAKE] Address the vcpkg opentelemetry-cpp port CMake patches by @dbarker in #3518
- [CMAKE] Add CMake script to find or fetch prometheus-cpp by @dbarker in #3522
- [CMAKE] Switch opentelemetry-proto to use FetchContent by @dbarker in #3524
- [CMAKE] Add CMake script to find or fetch Microsoft.GSL by @dbarker in #3521
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.36.0 by @marcalff in #3527
- [SDK] Fixes duration overflow by @owent in #3529
- [CONFIGURATION] File configuration - yaml parser by @marcalff in #3519
- [CONFIGURATION] File configuration - configuration parser by @marcalff in #3520
- [ADMIN] Remove file .github/repository-settings.md by @reyang in #3534
- [RELEASE] Release opentelemetry-cpp version 1.22.0 by @marcalff in #3532
Important changes
-
[REMOVAL] Removed deprecated semantic convention header files
#3475-
Old semantic conventions header files have been removed,
per announcement from Nov 9, 2024, see
#3105 -
Mitigation steps are repeated below, for convenience.
-
Two things have changed:
- the header file to use
- the symbol name to use.
Before, the semantic convention for
url.fullwas:- declared in file
semantic_conventions.h - declared as symbol
SemanticConventions::kUrlFull
Now, the
url.fullconvention, which is part or theurlgroup, is:- declared in file
semconv/url_attributes.h - declared as symbol
semconv::url::kUrlFull
Application code that uses semantic conventions must be adjusted
accordingly.In addition, semantic conventions that are not marked as stable
are generated in a different header file, placed under directory
incubating, to better separate stable and non stable code.For example, file
semconv/incubating/url_attributes.h
definessemconv::url::kUrlDomain,
which is not marked as stable in semconv v1.27.0
-
New Contributors
- @vencislav-georgiev-1A made their first contribution in #3464
- @DouglasHeriot made their first contribution in #3403
- @KJTsanaktsidis made their first contribution in #3448
Full Changelog: v1.21.0...v1.22.0
v1.21.0 release
v1.21.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
What's Changed
- [BUILD] Remove
WITH_ABSEILby @owent in #3318 - [INSTALL] add cmake components to the package by @dbarker in #3220
- [CI] Harden GitHub Actions by @khanhtc1202 in #3338
- [StepSecurity] Harden GibHub Actions, part 2 by @marcalff in #3340
- Bump github/codeql-action from 3.28.12 to 3.28.13 by @dependabot in #3341
- [DEVCONTAINER] expose cmake version setting as docker arg and environment variable by @dbarker in #3347
- [CI] disable bzip2 in conan builds by @dbarker in #3352
- [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.32.0 by @marcalff in #3351
- Bump github/codeql-action from 3.28.13 to 3.28.15 by @dependabot in #3353
- [CMAKE] bump cmake minimum required version to 3.14 by @dbarker in #3349
- Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot in #3362
- [DOC] Fix documentation tags in logger API by @zurex in #3371
- [CI] fix artifacts download/upload by @esigo in #3369
- [API] Add Enabled method to Tracer by @psx95 in #3357
- [BUILD] Fixes warnings of ciso646 in C++17 by @owent in #3360
- Bump github/codeql-action from 3.28.15 to 3.28.16 by @dependabot in #3377
- Bump step-security/harden-runner from 2.11.1 to 2.12.0 by @dependabot in #3373
- Bump docker/build-push-action from 6.15.0 to 6.16.0 by @dependabot in #3382
- Bump actions/download-artifact from 4.2.1 to 4.3.0 by @dependabot in #3381
- [CI] Harden Github actions - pinned-dependencies (part -1) by @lalitb in #3380
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #3378
- [SDK] Base2 exponential histogram aggregation by @ethandmd in #3346
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #3379
- [BUILD] Fixes glibc++ 5 checking by @owent in #3355
- [TEST] Add stress test for histogram metric for multiple threads validation by @ThomsonTan in #3388
- Bump github/codeql-action from 3.28.16 to 3.28.17 by @dependabot in #3389
- [SDK] Optimize PeriodicExportingMetricReader Thread Usage by @ColeVanOphem in #3383
- [Metrics SDK] Use nostd::function_ref in AttributesHashMap by @yashykt in #3393
- [SDK] support aggregation of identical instruments by @dbarker in #3358
- [BUILD] Fixes unused var by @owent in #3397
- [INSTALL] Unify cmake install functions and dynamically set component dependencies by @dbarker in #3368
- [BUILD] Upgrade nlohmann_json to 3.12.0 by @marcalff in #3406
- [BUILD] Upgrade opentelemetry-proto to 1.6.0 by @marcalff in #3407
- [CMAKE] add generated protobuf headers to the opentelemetry_proto target by @dbarker in #3400
- [MERGE] Fix accidental rollback of nlohmann-json submodule by @dbarker in #3415
- Bump fossas/fossa-action from 1.6.0 to 1.7.0 by @dependabot in #3414
- Bump docker/build-push-action from 6.16.0 to 6.17.0 by @dependabot in #3420
- Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot in #3419
- [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.33 by @marcalff in #3416
- [DOCS] update the INSTALL guide on cmake components by @dbarker in #3422
- Bump github/codeql-action from 3.28.17 to 3.28.18 by @dependabot in #3423
- [CMAKE] update cmake files in examples directory by @dbarker in #3421
- [SDK] Fix Base2ExponentialHistogramAggregation Merge with empty buckets by @dbarker in #3425
- [SDK] Fix MetricProducer interface by @yashykt in #3413
- [CMAKE] remove global include_directories usage and rely on target properties by @dbarker in #3426
- [BUILD] remove unused WITH_CURL build flag by @marcalff in #3429
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.34.0 by @marcalff in #3428
- [EXPORTER] ostream log exporter, fix memory ownership issues by @marcalff in #3417
- [TEST] add all components to the cmake fetch content test by @dbarker in #3433
- [BUILD] Error out when building DLL without MSVC by @ThomsonTan in #3438
- [BUILD] Add missing CMake keyword for target_link_libraries by @ThomsonTan in #3442
- [CMAKE] Remove third-party version mismatch warning by @dbarker in #3432
- Bump docker/build-push-action from 6.17.0 to 6.18.0 by @dependabot in #3446
- [SEMANTIC CONVENTIONS] Fix comment style to preserve markup by @marcalff in #3444
- [EXPORTER] support unix sockets in grpc client by @ethandmd in #3410
- [BUILD] Propagate INTERFACE_COMPILE_DEFINITIONS from API through common_foo_library by @ThomsonTan in #3440
- [RELEASE] Release opentelemetry-cpp 1.21.0 by @marcalff in #3445
New Features
-
[SDK] Base2 exponential histogram aggregation
#3346- Add base2 exponential histogram aggregation. Includes a new aggregation type,
ostream exporter, and otlp/grpc exporter. Updated histogram aggregation and
benchmark tests.
- Add base2 exponential histogram aggregation. Includes a new aggregation type,
Important changes
-
[EXPORTER] ostream log exporter, fixed memory ownership issues
#3417-
In the SDK, the following classes implementation has changed:
- opentelemetry::sdk::logs::ReadableLogRecord
- opentelemetry::sdk::logs::ReadWriteLogRecord
-
An application implementing a custom log record exporter,
that reuses these classes from the opentelemetry-cpp SDK,
will need code adjustments, in particular for methods:- GetBody()
- GetAttributes()
-
Applications not using these SDK classes directly are not affected.
-
-
[BUILD] Remove WITH_ABSEIL
#3318-
The build option
WITH_ABSEILis no longer used, and opentelemetry-cpp
will no longer use any release of abseil provided externally,
for its own use. -
Instead, opentelemetry-cpp will only use an internal abseil version.
-
This change resolves long standing binary integrity issues,
that occurred in the past when mixing several versions of abseil
in the build.
-
Deprecations
- This release contains deprecations, see file DEPRECATED.md for details.
New Contributors
- @khanhtc1202 made their first contribution in #3338
- @step-security-bot made their first contribution in #3378
- @ethandmd made their first contribution in #3346
- @ColeVanOphem made their first contribution in #3383
Full Changelog: v1.20.0...v1.21.0
v1.20.0 release
v1.20.0 release
Release of:
- opentelemetry-api
- opentelemetry-sdk
- exporter packages
What's Changed
- [BUILD] Update opentelemetry-proto version by @santigimeno in #3254
- [BUILD] Build break with CURL 7.29.0 by @marcalff in #3255
- [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.30.0 by @marcalff in #3258
- [SDK] Add tracer scope configurator by @psx95 in #3137
- [DOC] Add document and example for sharing gRPC Client by @owent in #3260
- [SDK] Fix BatchLogRecordProcessor to instrument shutdown by @marcalff in #3262
- [SDK] Support OTEL_SDK_DISABLED environment variable by @marcalff in #3245
- [CI] OTLP in Windows builds by @chusitoo in #3263
- [BUILD] Fixes compatibility of type_traits by @owent in #3274
- [BUILD] Fix compilation with Regex being disabled by @kylepl in #3276
- [EXPORTER] Support exporting event_name using OTLP Exporter by @perhapsmaple in #3277
- [CI] Add FOSSA scanning workflow by @opentelemetrybot in #3279
- [BUILD] Adding typecast without whom c++latest build fails by @jeremicmilan in #3281
- [ADMIN] Add FOSSA badges by @marcalff in #3280
- [BUILD] Fix compiling problems with abiv2 and MSVC by @owent in #3284
- [BUILD] Enable old behavior of CMP0092 by @ThomsonTan in #3269
- [SDK] Add meter scope configurator by @psx95 in #3268
- [DEVCONTAINER] support customization and run as non-root user by @dbarker in #3270
- [ETW] Add configuration to export 64-bit integer as timestamp by @ThomsonTan in #3286
- [API] Deprecate event logger by @owent in #3285
- [BUILD] Add link directory to support curl 8.12 by @owent in #3272
- [API] Change the param-pack unpacking order to start from left to right by @ThomsonTan in #3296
- [SDK] Implement spec: MetricFilter by @IcySteam in #3235
- [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.31.0 by @marcalff in #3297
- [SDK] Add logger scope configurator by @psx95 in #3282
- [EXAMPLE] fix buffer overrun in the gRPC sample project by @lukeina2z in #3304
- [CI] Bump fossas/fossa-action from 1.5.0 to 1.6.0 by @dependabot in #3305
- [TEST] fix segfault in singleton test with cmake on macos-latest by @dbarker in #3316
- [TEST] fix test failure with elasticsearch exporter on cxx20 by @dbarker in #3308
- [TEST] otlp grpc exporter retry test fix by @dbarker in #3311
- [SDK] Use OPENTELEMETRY_EXPORT and static local variables by @psx95 in #3314
- [BUILD] Fix elasticsearch exporter json compatibility by @dbarker in #3313
- [BUILD] Fix missing exported definition for OTLP file exporter and forceflush by @ThomsonTan in #3319
- [BUILD] Remove gRPC header including in
OtlpGrpcClientFactory. by @owent in #3321 - [ADMIN] Add Pranav Sharma in cpp-approvers by @psx95 in #3323
- [DEVCONTAINER] fix grpc install by @dbarker in #3325
- [ADMIN] Add Doug Barker to approvers by @dbarker in #3331
- [CI] Upgrade CI to ubuntu 22.04 by @marcalff in #3330
- Add ossf-scorecard scanning workflow by @opentelemetrybot in #3332
- [CI] pin cmake in ci and devcontainer by @dbarker in #3336
- [METRICS SDK] Fix hash collision in MetricAttributes by @ThomsonTan in #3322
- [RELEASE] Release opentelemetry-cpp 1.20.0 by @marcalff in #3328
Deprecations
- This release contains deprecations, see file DEPRECATED.md for details.
New Contributors
- @opentelemetrybot made their first contribution in #3279
- @jeremicmilan made their first contribution in #3281
- @IcySteam made their first contribution in #3235
- @lukeina2z made their first contribution in #3304
New Approvers
- @dbarker is now a member of @open-telemetry/cpp-approvers
- @psx95 is now a member of @open-telemetry/cpp-approvers
Full Changelog: v1.19.0...v1.20.0