Skip to content

v1.17.0 release

Compare
Choose a tag to compare
@marcalff marcalff released this 07 Oct 22:07
· 59 commits to main since this release
fa0a520

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 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

Full Changelog: v1.16.1...v1.17.0