UNCLASSIFIED - NO CUI

Skip to content

Update dependency open-telemetry/opentelemetry-cpp to v1.18.0

This MR contains the following updates:

Package Type Update Change
open-telemetry/opentelemetry-cpp ironbank-github minor v1.11.0 -> v1.18.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

open-telemetry/opentelemetry-cpp (open-telemetry/opentelemetry-cpp)

v1.18.0: release

Compare Source

v1.18.0 release

Release of:

  • opentelemetry-api
  • opentelemetry-sdk
  • exporter packages

What's Changed

Important changes

  • [API] Jaeger Propagator should not be deprecated #​3086

    • Deprecation of the Jaeger propagator, as announced on 2023-01-31 in version 1.8.2, is now reverted.
    • This deprecation turned out to be not justified, as the Jaeger propagator can be used without the (now removed) Jaeger exporter.
  • [EXPORTER] Change log resources location for ElasticsearchLogRecordExporter #​3119

    • Moved from root/resources to root
  • [SEMANTIC CONVENTIONS] Migration to weaver #​3105

    • semantic_convention.h header files are deprecated, replaced by semconv/xxx_attributes.h header files, for each xxx semantic attribute group.
    • See file DEPRECATED.md for details.

Deprecations

  • This release contains deprecations, see file DEPRECATED.md for details.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.17.0...v1.18.0

v1.17.0: release

Compare Source

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

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: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.16.1...v1.17.0

v1.16.1: release

Compare Source

v1.16.1 release

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

and exporter packages:

  • opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
  • opentelemetry-exporter-prometheus

What's Changed

Breaking changes

  • [SECURITY] Remove OTLP HTTP support for TLS 1.0 and TLS 1.1, require TLS 1.2 or better #​2722
    • The OTLP HTTP exporter no longer accept options like:
      • min_TLS = 1.0
      • min_TLS = 1.1
      • max_TLS = 1.0
      • max_TLS = 1.1
    • When connecting to an OTLP HTTP endpoint, using https, the connection will require TLS 1.2 by default, unless min_TLS is set to 1.3
    • Plain http connections (insecure) are not affected.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.16.0...v1.16.1

v1.16.0: release

Compare Source

v1.16.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

Important changes

  • [API/SDK] Provider cleanup #​2664
    • Before this fix:
      • The API class opentelemetry::trace::Tracer exposed methods such as ForceFlush(), ForceFlushWithMicroseconds(), Close() and CloseWithMicroseconds().
      • These methods are meant to be used when configuring the SDK, and should not be part of the API. Exposing them was an oversight.
      • Two of these methods are virtual, and therefore part of the ABI.
    • After this fix:
      • In OPENTELEMETRY_ABI_VERSION_NO 1, nothing is changed, because removing this code would break the ABI.
      • In OPENTELEMETRY_ABI_VERSION_NO 2, these methods are moved from the API to the SDK. This is a breaking change for ABI version 2, which is still experimental.
    • In all cases, instrumenting an application should not invoke flush or close on a tracer, do not use these methods.

Breaking changes

  • [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.
    • If adjusting application code is impractical, an alternate and temporary solution is to build with option WITH_DEPRECATED_SDK_FACTORY=ON in CMake.
    • Option WITH_DEPRECATED_SDK_FACTORY=ON will allow to build code without application changes, posponing changes for later.
    • WITH_DEPRECATED_SDK_FACTORY=ON is temporary, only to provide an easier migration path. Expect this flag to be removed, as early as by the next release.

Notes on experimental features

  • #​2372 introduced MeterProvider::SetExemplar() which accepts an ExemplarFilterType enumeration with kAlwaysOff, kAlwaysOn and kTraceBased.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.15.0...v1.16.0

v1.15.0: v1.15.0 release

Compare Source

v1.15.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

Important changes:

  • [EXPORTER] Gzip compression support for OTLP/HTTP and OTLP/gRPC exporter #​2530
    • In the OtlpHttpExporterOptions and OtlpGrpcExporterOptions, a new field called compression has been introduced. This field can be set to "gzip” to enable gzip compression.
    • The CMake option WITH_OTLP_HTTP_COMPRESSION is introduced to enable gzip compression support for the OTLP HTTP Exporter and includes a dependency on zlib.
  • [SDK] Change OTLP HTTP content_type default to binary #​2558
  • [CI] Use platform CMake #​2627
    • The CI in github no longer install a different version of cmake.
    • It now always use the cmake provided by the platform.
    • As part of this change, the script ci/setup_cmake.sh was renamed to ci/setup_googletest.sh, for clarity, now that this script only installs googletest.
  • [SDK] DefaultLogHandler to print to std::cerr, add LogLevel::None #​2622
    • Change DefaultLogHandler output
      • Before, the default internal logger, DefaultLogHandler, used to print to std::cout.
      • Now, DefaultLogHandler prints errors and warnings to std::cerr, as expected, while printing info and debug messages to std::cout.
      • Applications that expected to find the opentelemetry-cpp internal error log in std::cout may need adjustments, either by looking at std::cerr instead, or by using a custom log handler.
    • Additional LogLevel::None
      • LogLevel::None is a new supported log level, which does not print any message.
      • Custom log handlers may need to implement a new case, to avoid compiler warnings.
      • Numbering of log levels like OTEL_INTERNAL_LOG_LEVEL_ERROR has changed, which requires to rebuild, as the SDK ABI differs.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.14.2...v1.15.0

v1.14.2: release

Compare Source

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

What's Changed

  • [SDK] Fix observable attributes drop #​2557

v1.14.1: release

Compare Source

v1.14.1 release

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

and exporter packages:

  • opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
  • opentelemetry-exporter-prometheus

What's Changed

Important changes

  • [SDK] Restore Recordable API compatibility with versions < 1.14.0 #​2547
    • For third party extending the SDK, release 1.14.0 introduced an API breaking change compared to 1.13.0
    • This fix restores API (but not ABI) compatibility of release 1.14.1 with release 1.13.0.
    • This allows to build a third party exporter with no source code changes, for both releases 1.14.1 and 1.13.0.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.14.0...v1.14.1

v1.14.0: release

Compare Source

v1.14.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

Breaking Changes:

  • [REMOVAL] Remove option WITH_OTLP_HTTP_SSL_PREVIEW #​2435

    • CMake options WITH_OTLP_HTTP_SSL_PREVIEW and WITH_OTLP_HTTP_SSL_TLS_PREVIEW are removed. Building opentelemetry-cpp without SSL support is no longer possible.
  • [PROTO] Upgrade to opentelemetry-proto v1.1.0 #​2488

    • Class opentelemetry::sdk::trace::Recordable has a new virtual method, SetTraceFlags().
    • This is an incompatible change for the SDK Recordable API and ABI.
    • Applications configuring the SDK are not affected.
    • Third parties providing SDK extensions are affected, and must provide a SetTraceFlags() implementation, starting with opentelemetry-cpp 1.14.0.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.13.0...v1.14.0

v1.13.0: release

Compare Source

v1.13.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

Important changes

  • [API] Add InstrumentationScope attributes in TracerProvider::GetTracer() #​2371

    • TracerProvider::GetTracer() now accepts InstrumentationScope attributes.
    • Because this is an ABI breaking change, the fix is only available with the CMake option WITH_ABI_VERSION_2=ON.
    • When building with CMake option WITH_ABI_VERSION_1=ON (by default) the ABI is unchanged, and the fix is not available.
  • [API] Add a new AddLink() operation to Span #​2380

    • New API Span::AddLink() adds a single link to a span.
    • New API Span::AddLinks() adds multiple links to a span.
    • Because this is an ABI breaking change, the fix is only available with the CMake option WITH_ABI_VERSION_2=ON.
    • When building with CMake option WITH_ABI_VERSION_1=ON (by default) the ABI is unchanged, and the fix is not available.
  • [BUILD] Make WITH_OTLP_HTTP_SSL_PREVIEW mainstream #​2378

    • The experimental CMake option WITH_OTLP_HTTP_SSL_PREVIEW is now promoted to stable. The default is changed to ON.
    • The experimental CMake option WITH_OTLP_HTTP_SSL_TLS_PREVIEW is now promoted to stable. The default is changed to ON.
    • These build options are scheduled to be removed by the next release, building without SSL/TLS will no longer be possible.
  • [EXPORTER] Rework OTLP/HTTP and OTLP/GRPC exporter options #​2388

    • OtlpGrpcMetricExporterOptions used to honor _TRACES_ environment variables, instead of _METRICS_ environment variables.
    • The implementation of OtlpGrpcMetricExporterOptions is now fixed.
    • Please check configuration variables, to make sure _METRICS_ variables are set as expected.

Breaking changes

  • [BUILD] Remove WITH_REMOVE_METER_PREVIEW, use WITH_ABI_VERSION_2 instead #​2370

    • The experimental CMake option WITH_REMOVE_METER_PREVIEW is removed, use option WITH_ABI_VERSION_2 instead.
  • [BUILD] enum CanonicalCode names too generic... conflict with old C defines #​2385

    • Header file opentelemetry/trace/canonical_code.h is unused, and is now removed.
    • This header should not be included directly in an application. If this is the case, please remove any remaining include directives.
  • [BUILD] Fix exported definitions when building DLL with STL #​2387

    • The MeterSelector, MeterSelectorFactory, InstrumentSelector, and InstrumentSelectorFactory APIs now use const std::string& instead of nostd::string_view for name, version and schema to maintain a single export definition for DLL.
  • [EXPORTER] Rework OTLP/HTTP and OTLP/GRPC exporter options #​2388

    • OtlpGrpcLogRecordExporter incorrectly used OtlpGrpcExporterOptions, which are options for traces and not logs.
    • This created a bug: the OtlpGrpcLogRecordExporter honors _TRACES_ environment variables, instead of _LOGS_ environment variables.
    • OtlpGrpcLogRecordExporter is changed to use OtlpGrpcLogRecordExporterOptions instead, fixing the bug.
    • User code that initializes the SDK with a GRPC Log exporter, and uses exporter options, should adjust to replace OtlpGrpcExporterOptions with OtlpGrpcLogRecordExporterOptions.
    • Please check configuration variables, to make sure _LOGS_ variables are set as expected.
  • [REMOVAL] Remove ZPAGES #​2433

    • As announced in release 1.12.0, the deprecated ZPAGES exporter is now removed.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.12.0...v1.13.0

v1.12.0: release

Compare Source

v1.12.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

Important changes

  • [API] Add InstrumentationScope attributes in MeterProvider::GetMeter() #​2224
    • MeterProvider::GetMeter() now accepts InstrumentationScope attributes.
    • Because this is an ABI breaking change, the fix is only available with the CMake option WITH_ABI_VERSION_2=ON.
    • When building with CMake option WITH_ABI_VERSION_1=ON (by default) the ABI is unchanged, and the fix is not available.

Breaking changes

  • [BUILD] Need fine-grained HAVE_CPP_STDLIB #​2304

    • In CMAKE, the boolean option WITH_STL as changed to an option that accepts the values OFF, ON, CXX11, CXX14, CXX17, CXX20 and CXX23.
    • Applications makefiles that did not set WITH_STL need to use WITH_STL=OFF instead (this is the default).
    • Applications makefiles that did set WITH_STL need to use WITH_STL=ON instead, or may choose to pick a specific value.
    • In the API header files, the preprocessor symbol HAVE_CPP_STDLIB is no longer used.
    • Applications that did set HAVE_CPP_STDLIB before, need to set OPENTELEMETRY_STL_VERSION=<version> instead, to build with a specific STL version (2011, 2014, 2017, 2020, 2023).
    • The opentelemetry-cpp makefile no longer sets CMAKE_CXX_STANDARD by itself. Instead, the CMAKE_CXX_STANDARD and/or compiler options -stdc++ used by the caller are honored.
    • Applications that set neither CMAKE_CXX_STANDARD nor -stdc++ options may need to provide a C++ standard in their makefiles.
  • [REMOVAL] Drop C++11 support #​2342

    • Building with C++11 is no longer supported.

New Contributors

Full Changelog: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.11.0...v1.12.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports

Loading