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 #3001
- [BUILD] Upgrade to opentelemetry-proto 1.3.2 by @marcalff in #2991
- [REMOVAL] Remove build option
WITH_DEPRECATED_SDK_FACTORY
by @marcalff in #2717 - [EXPORTER] ForceFlush before canceling the running requests on shutdown. by @owent in #2727
- [SDK] Fix crash in
PeriodicExportingMetricReader
. by @owent in #2983 - [SDK] Fix memory leak in TlsRandomNumberGenerator() constructor by @hongweipeng in #2661
- [EXPORTER] Ignore exception when create thread in OTLP file exporter. by @owent in #3012
- [BUILD] Update the version in MODULE.bazel by @BYVoid in #3015
- [BUILD] Fix build without vcpkg on Windows when gRPC is disabled by @Corristo in #3016
- [BUILD] Add abi_version_no bazel flag. by @BYVoid in #3020
- [Code health] Expand iwyu coverage to include unit tests. by @marcalff in #3022
- [BUILD] Version opentelemetry_proto/proto_grpc shared libraries by @Troels51 in #2992
- [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.27.0 by @marcalff in #3023
- [SDK] Support empty histogram buckets by @lalitb in #3027
- [TEST] Fix sync problems in OTLP File exporter tests. by @owent in #3031
- [SDK] PeriodicExportingMetricReader: future is never set, blocks until timeout by @owent in #3030
- [Code Health] Clang Tidy cleanup, Part 2 by @msiddhu in #3038
- [Code Health] include-what-you-use cleanup, part 3 by @marcalff in #3004
- [SDK] Fix overflow in timeout logic by @punya in #3046
- [TEST] Add missing tests to Bazel build by @punya in #3045
- [TEST] update collector tests with debug exporter by @codeboten in #3050
- [EXAMPLE] update collector example with debug exporter by @codeboten in #3049
- [TEST] update references to logging exporter by @codeboten in #3053
- [EXAMPLE] Clean the tracer initialization in OStream example by @ThomsonTan in #3051
- [EXPORTER] Fix the format of SpanLink for ETW by @ThomsonTan in #3054
- [EXPORTER] Implement in-memory metric exporter by @punya in #3043
- [Code Health] include-what-you-use cleanup, part 4 by @marcalff in #3040
- [BUILD] add loongarch info by @loong-hy in #3052
- [CI] Update otel-collector version by @fabriziomello in #3067
- [SDK] Update MetricProducer interface to match spec by @punya in #3044
- [EXPORTER] Fix URL in ES exporter, fix ipv6 supporting for http client. by @owent in #3081
- [EXPORTER] Add HttpHeaders in ElasticsearchLogRecordExporter by @ShadowMaxLeb in #3083
- [RELEASE] Release opentelemetry-cpp 1.17.0 by @marcalff in #3076
Breaking changes
-
[REMOVAL] Remove build option
WITH_DEPRECATED_SDK_FACTORY
#2717-
As announced in opentelemetry-cpp previous release 1.16.0,
CMake optionWITH_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 #2661
- @BYVoid made their first contribution in #3015
- @Corristo made their first contribution in #3016
- @Troels51 made their first contribution in #2992
- @codeboten made their first contribution in #3050
- @loong-hy made their first contribution in #3052
- @fabriziomello made their first contribution in #3067
- @ShadowMaxLeb made their first contribution in #3083
Full Changelog: v1.16.1...v1.17.0