OpenTelemetry - CNCF/opentelemetry-cpp: Release v1.17.0
Name: opentelemetry-cpp
Owner: OpenTelemetry - CNCF
Release: v1.17.0 release
Released: 2024-10-07
License: Apache-2.0
Release Assets:
v1.17.0 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-prometheus
What's Changed
- [CI] Add a clang-tidy build by @msiddhu in https://github.com/open-telemetry/opentelemetry-cpp/pull/3001
- [BUILD] Upgrade to opentelemetry-proto 1.3.2 by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/2991
- [REMOVAL] Remove build option
WITH_DEPRECATED_SDK_FACTORY
by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/2717 - [EXPORTER] ForceFlush before canceling the running requests on shutdown. by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/2727
- [SDK] Fix crash in
PeriodicExportingMetricReader
. by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/2983 - [SDK] Fix memory leak in TlsRandomNumberGenerator() constructor by @hongweipeng in https://github.com/open-telemetry/opentelemetry-cpp/pull/2661
- [EXPORTER] Ignore exception when create thread in OTLP file exporter. by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/3012
- [BUILD] Update the version in MODULE.bazel by @BYVoid in https://github.com/open-telemetry/opentelemetry-cpp/pull/3015
- [BUILD] Fix build without vcpkg on Windows when gRPC is disabled by @Corristo in https://github.com/open-telemetry/opentelemetry-cpp/pull/3016
- [BUILD] Add abi_version_no bazel flag. by @BYVoid in https://github.com/open-telemetry/opentelemetry-cpp/pull/3020
- [Code health] Expand iwyu coverage to include unit tests. by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/3022
- [BUILD] Version opentelemetry_proto/proto_grpc shared libraries by @Troels51 in https://github.com/open-telemetry/opentelemetry-cpp/pull/2992
- [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.27.0 by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/3023
- [SDK] Support empty histogram buckets by @lalitb in https://github.com/open-telemetry/opentelemetry-cpp/pull/3027
- [TEST] Fix sync problems in OTLP File exporter tests. by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/3031
- [SDK] PeriodicExportingMetricReader: future is never set, blocks until timeout by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/3030
- [Code Health] Clang Tidy cleanup, Part 2 by @msiddhu in https://github.com/open-telemetry/opentelemetry-cpp/pull/3038
- [Code Health] include-what-you-use cleanup, part 3 by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/3004
- [SDK] Fix overflow in timeout logic by @punya in https://github.com/open-telemetry/opentelemetry-cpp/pull/3046
- [TEST] Add missing tests to Bazel build by @punya in https://github.com/open-telemetry/opentelemetry-cpp/pull/3045
- [TEST] update collector tests with debug exporter by @codeboten in https://github.com/open-telemetry/opentelemetry-cpp/pull/3050
- [EXAMPLE] update collector example with debug exporter by @codeboten in https://github.com/open-telemetry/opentelemetry-cpp/pull/3049
- [TEST] update references to logging exporter by @codeboten in https://github.com/open-telemetry/opentelemetry-cpp/pull/3053
- [EXAMPLE] Clean the tracer initialization in OStream example by @ThomsonTan in https://github.com/open-telemetry/opentelemetry-cpp/pull/3051
- [EXPORTER] Fix the format of SpanLink for ETW by @ThomsonTan in https://github.com/open-telemetry/opentelemetry-cpp/pull/3054
- [EXPORTER] Implement in-memory metric exporter by @punya in https://github.com/open-telemetry/opentelemetry-cpp/pull/3043
- [Code Health] include-what-you-use cleanup, part 4 by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/3040
- [BUILD] add loongarch info by @loong-hy in https://github.com/open-telemetry/opentelemetry-cpp/pull/3052
- [CI] Update otel-collector version by @fabriziomello in https://github.com/open-telemetry/opentelemetry-cpp/pull/3067
- [SDK] Update MetricProducer interface to match spec by @punya in https://github.com/open-telemetry/opentelemetry-cpp/pull/3044
- [EXPORTER] Fix URL in ES exporter, fix ipv6 supporting for http client. by @owent in https://github.com/open-telemetry/opentelemetry-cpp/pull/3081
- [EXPORTER] Add HttpHeaders in ElasticsearchLogRecordExporter by @ShadowMaxLeb in https://github.com/open-telemetry/opentelemetry-cpp/pull/3083
- [RELEASE] Release opentelemetry-cpp 1.17.0 by @marcalff in https://github.com/open-telemetry/opentelemetry-cpp/pull/3076
Breaking changes
[REMOVAL] Remove build option
WITH_DEPRECATED_SDK_FACTORY
#2717As announced in opentelemetry-cpp previous release 1.16.0, CMake option
WITH_DEPRECATED_SDK_FACTORY
was temporary, and to be removed by the next release.This option is now removed.
Code configuring the SDK must be adjusted, as previously described:
[API/SDK] Provider cleanup #2664
Before this fix:
SDK factory methods such as:
- opentelemetry::sdk::trace::TracerProviderFactory::Create()
- opentelemetry::sdk::metrics::MeterProviderFactory::Create()
- opentelemetry::sdk::logs::LoggerProviderFactory::Create()
- opentelemetry::sdk::logs::EventLoggerProviderFactory::Create()
returned an API object (opentelemetry::trace::TracerProvider) to the caller.
After this fix, these methods return an SDK level object (opentelemetry::sdk::trace::TracerProvider) to the caller.
Returning an SDK object is necessary for the application to cleanup and invoke SDK level methods, such as ForceFlush(), on a provider.
The application code that configures the SDK, by calling the various provider factories, may need adjustment.
All the examples have been updated, and in particular no longer perform static_cast do convert an API object to an SDK object. Please refer to examples for guidance on how to adjust.
New Contributors
- @hongweipeng made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/2661
- @BYVoid made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3015
- @Corristo made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3016
- @Troels51 made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/2992
- @codeboten made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3050
- @loong-hy made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3052
- @fabriziomello made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3067
- @ShadowMaxLeb made their first contribution in https://github.com/open-telemetry/opentelemetry-cpp/pull/3083
Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.16.1...v1.17.0