Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/opentelemetry-cpp/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 127 kB image not shown  

Quelle  CHANGELOG.md   Sprache: unbekannt

 
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Guideline to update the version

Increment the:

* MAJOR version when you make incompatible API/ABI changes,
* MINOR version when you add functionality in a backwards compatible manner, and
* PATCH version when you make backwards compatible bug fixes.

## [Unreleased]

## [1.18 2024-11-25]

* [EXPORTER] Fix crash in ElasticsearchLogRecordExporter
  [#3082](https://github.com/open-telemetry/opentelemetry-cpp/pull/3082)

* [BUILD] Avoid buggy warning with gcc <= 8
  [#3087](https://github.com/open-telemetry/opentelemetry-cpp/pull/3087)

* [API] Jaeger Propagator should not be deprecated
  [#3086](https://github.com/open-telemetry/opentelemetry-cpp/pull/3086)

* Update bzlmod version
  [#3093](https://github.com/open-telemetry/opentelemetry-cpp/pull/3093)

* [BUILD] Remove std::make_unique
  [#3098](https://github.com/open-telemetry/opentelemetry-cpp/pull/3098)

* [BUILD] Fix compiling problems for gcc 4.8
  [#3100](https://github.com/open-telemetry/opentelemetry-cpp/pull/3100)

* [TEST] Fix linking order and gmock linking
  [#3106](https://github.com/open-telemetry/opentelemetry-cpp/pull/3106)

* [EXPORTER] Add config options to prometheus exporter
  [#3104](https://github.com/open-telemetry/opentelemetry-cpp/pull/3104)

* [BUILD] Add a CMake option to disable shared libs
  [#3095](https://github.com/open-telemetry/opentelemetry-cpp/pull/3095)

* [EXPORTER] Remove out of date ETW exporter doc
  [#3103](https://github.com/open-telemetry/opentelemetry-cpp/pull/3103)

* [EXPORTER] Add logging for async gRPC errors
  [#3108](https://github.com/open-telemetry/opentelemetry-cpp/pull/3108)

* [BUILD] Remove aligned_storage from nostd
  [#3112](https://github.com/open-telemetry/opentelemetry-cpp/pull/3112)

* [EXPORTER] Elastic Search exporter follow ECS guidelines
  [#3107](https://github.com/open-telemetry/opentelemetry-cpp/pull/3107)

* [INSTALL] Resolve dependencies in opentelemetry-cpp-config.cmake
  [#3094](https://github.com/open-telemetry/opentelemetry-cpp/pull/3094)

* [API] Add synchronous gauge
  [#3029](https://github.com/open-telemetry/opentelemetry-cpp/pull/3029)

* [BUILD] allow building with -DWITH_OTLP_HTTP_COMPRESSION=OFF without zlib
  [#3120](https://github.com/open-telemetry/opentelemetry-cpp/pull/3120)

* [CI] Comment the arm64 CI
  [#3125](https://github.com/open-telemetry/opentelemetry-cpp/pull/3125)

* [API] Comply with W3C Trace Context
  [#3115](https://github.com/open-telemetry/opentelemetry-cpp/pull/3115)

* [EXPORTER] bump prometheus to v1.3.0
  [#3122](https://github.com/open-telemetry/opentelemetry-cpp/pull/3122)

* [EXPORTER] Log SSL Connection Information
  [#3113](https://github.com/open-telemetry/opentelemetry-cpp/pull/3113)

* [BUILD] Improve how to handle yield() in ARM
  [#3129](https://github.com/open-telemetry/opentelemetry-cpp/pull/3129)

* [BUILD] Fix -Wmissing-template-arg-list-after-template-kw warning
  [#3133](https://github.com/open-telemetry/opentelemetry-cpp/pull/3133)

* [EXPORTER]: Elasticsearch exporter put log resource in root instead of under 'resources'
  [#3131](https://github.com/open-telemetry/opentelemetry-cpp/pull/3131)

* [TEST] Rename w3c_tracecontext_test to w3c_tracecontext_http_test_server
  [#3132](https://github.com/open-telemetry/opentelemetry-cpp/pull/3132)

* [BUILD] Patches for building on AIX
  [#3127](https://github.com/open-telemetry/opentelemetry-cpp/pull/3127)

* [SEMANTIC CONVENTIONS] Migration to weaver
  [#3105](https://github.com/open-telemetry/opentelemetry-cpp/pull/3105)

* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.28.0
  [#3139](https://github.com/open-telemetry/opentelemetry-cpp/pull/3139)

* [EXPORTER] handling of invalid ports in UrlParser
  [#3142](https://github.com/open-telemetry/opentelemetry-cpp/pull/3142)

* [CI] speed up clang-tidy workflow
  [#3148](https://github.com/open-telemetry/opentelemetry-cpp/pull/3148)

* [EXPORTER] Allow to share gRPC clients between OTLP exporters
  [#3041](https://github.com/open-telemetry/opentelemetry-cpp/pull/3041)

* Bump codecov/codecov-action from 4 to 5
  [#3143](https://github.com/open-telemetry/opentelemetry-cpp/pull/3143)

* [CI] Add cppcheck in the build
  [#3151](https://github.com/open-telemetry/opentelemetry-cpp/pull/3151)

* [BUILD] Fix error message
  [#3152](https://github.com/open-telemetry/opentelemetry-cpp/pull/3152)

* [EXPORTER] fix clang-tidy warnings in UrlParser
  [#3146](https://github.com/open-telemetry/opentelemetry-cpp/pull/3146)

* [EXPORTER] Upgrade to opentelemetry-proto 1.4.0
  [#3157](https://github.com/open-telemetry/opentelemetry-cpp/pull/3157)

* [TEST] refactor UrlParser tests to use value-paramterized tests
  [#3153](https://github.com/open-telemetry/opentelemetry-cpp/pull/3153)

* [TEST] add a test for ElasticSearchRecordable
  [#3154](https://github.com/open-telemetry/opentelemetry-cpp/pull/3154)

* [BUILD] Fix missing dependency on protoc compiler
  [#3159](https://github.com/open-telemetry/opentelemetry-cpp/pull/3159)

* [bazel] Update prometheus-cpp in MODULE.bazel
  [#3162](https://github.com/open-telemetry/opentelemetry-cpp/pull/3162)

* [bazel] Enable --incompatible_disallow_empty_glob
  [#2642](https://github.com/open-telemetry/opentelemetry-cpp/pull/2642)

* [INSTALL] Fix cmake/opentelemetry-cpp-config.cmake.in
  [#3165](https://github.com/open-telemetry/opentelemetry-cpp/pull/3165)

* [BUILD] Do not set OTELCPP_PROTO_PATH in the CMake cache
  [#3160](https://github.com/open-telemetry/opentelemetry-cpp/pull/3160)

* [BUILD] Fix build for esp32
  [#3155](https://github.com/open-telemetry/opentelemetry-cpp/pull/3155)

* [bazel] Update opentelemetry-proto in MODULE.bazel
  [#3163](https://github.com/open-telemetry/opentelemetry-cpp/pull/3163)

Important changes:

* [API] Jaeger Propagator should not be deprecated
  [#3086](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/3131)

  * Moved from `root/resources` to `root`

* [SEMANTIC CONVENTIONS] Migration to weaver
  [#3105](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.17 2024-10-07]

* [CI] Add a clang-tidy build
  [#3001](https://github.com/open-telemetry/opentelemetry-cpp/pull/3001)

* [BUILD] Upgrade to opentelemetry-proto 1.3.2
  [#2991](https://github.com/open-telemetry/opentelemetry-cpp/pull/2991)

* [REMOVAL] Remove build option `WITH_DEPRECATED_SDK_FACTORY`
  [#2717](https://github.com/open-telemetry/opentelemetry-cpp/pull/2717)

* [EXPORTER] ForceFlush before canceling the running requests on shutdown
  [#2727](https://github.com/open-telemetry/opentelemetry-cpp/pull/2727)

* [SDK] Fix crash in PeriodicExportingMetricReader
  [#2983](https://github.com/open-telemetry/opentelemetry-cpp/pull/2983)

* [SDK] Fix memory leak in TlsRandomNumberGenerator() constructor
  [#2661](https://github.com/open-telemetry/opentelemetry-cpp/pull/2661)

* [EXPORTER] Ignore exception when create thread in OTLP file exporter
  [#3012](https://github.com/open-telemetry/opentelemetry-cpp/pull/3012)

* [BUILD] Update the version in MODULE.bazel
  [#3015](https://github.com/open-telemetry/opentelemetry-cpp/pull/3015)

* [BUILD] Fix build without vcpkg on Windows when gRPC is disabled
  [#3016](https://github.com/open-telemetry/opentelemetry-cpp/pull/3016)

* [BUILD] Add abi_version_no bazel flag
  [#3020](https://github.com/open-telemetry/opentelemetry-cpp/pull/3020)

* [Code health] Expand iwyu coverage to include unit tests
  [#3022](https://github.com/open-telemetry/opentelemetry-cpp/pull/3022)

* [BUILD] Version opentelemetry_proto/proto_grpc shared libraries
  [#2992](https://github.com/open-telemetry/opentelemetry-cpp/pull/2992)

* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.27.0
  [#3023](https://github.com/open-telemetry/opentelemetry-cpp/pull/3023)

* [SDK] Support empty histogram buckets
  [#3027](https://github.com/open-telemetry/opentelemetry-cpp/pull/3027)

* [TEST] Fix sync problems in OTLP File exporter tests
  [#3031](https://github.com/open-telemetry/opentelemetry-cpp/pull/3031)

* [SDK] PeriodicExportingMetricReader: future is never set, blocks until timeout
  [#3030](https://github.com/open-telemetry/opentelemetry-cpp/pull/3030)

* [Code Health] Clang Tidy cleanup, Part 2
  [#3038](https://github.com/open-telemetry/opentelemetry-cpp/pull/3038)

* [Code Health] include-what-you-use cleanup, part 3
  [#3004](https://github.com/open-telemetry/opentelemetry-cpp/pull/3004)

* [SDK] Fix overflow in timeout logic
  [#3046](https://github.com/open-telemetry/opentelemetry-cpp/pull/3046)

* [TEST] Add missing tests to Bazel build
  [#3045](https://github.com/open-telemetry/opentelemetry-cpp/pull/3045)

* [TEST] update collector tests with debug exporter
  [#3050](https://github.com/open-telemetry/opentelemetry-cpp/pull/3050)

* [EXAMPLE] update collector example with debug exporter
  [#3049](https://github.com/open-telemetry/opentelemetry-cpp/pull/3049)

* [TEST] update references to logging exporter
  [#3053](https://github.com/open-telemetry/opentelemetry-cpp/pull/3053)

* [EXAMPLE] Clean the tracer initialization in OStream example
  [#3051](https://github.com/open-telemetry/opentelemetry-cpp/pull/3051)

* [EXPORTER] Fix the format of SpanLink for ETW
  [#3054](https://github.com/open-telemetry/opentelemetry-cpp/pull/3054)

* [EXPORTER] Add in-memory metric exporter
  [#3043](https://github.com/open-telemetry/opentelemetry-cpp/pull/3043)

* [Code Health] include-what-you-use cleanup, part 4
  [#3040](https://github.com/open-telemetry/opentelemetry-cpp/pull/3040)

* [BUILD] add loongarch info
  [#3052](https://github.com/open-telemetry/opentelemetry-cpp/pull/3052)

* [CI] Update otel-collector version
  [#3067](https://github.com/open-telemetry/opentelemetry-cpp/pull/3067)

* [SDK] Update MetricProducer interface to match spec
  [#3044](https://github.com/open-telemetry/opentelemetry-cpp/pull/3044)

* [EXPORTER] Fix URL in ES exporter, fix ipv6 supporting for http client
  [#3081](https://github.com/open-telemetry/opentelemetry-cpp/pull/3081)

* [EXPORTER] Add HttpHeaders in ElasticsearchLogRecordExporter
  [#3083](https://github.com/open-telemetry/opentelemetry-cpp/pull/3083)

Breaking changes:

* [REMOVAL] Remove build option `WITH_DEPRECATED_SDK_FACTORY`
  [#2717](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.16.1 2024-07-17]

* [BUILD] Add bazel missing BUILD file
  [#2720](https://github.com/open-telemetry/opentelemetry-cpp/pull/2720)

* [SDK] Added reserve for spans array in BatchSpanProcessor.
  [#2724](https://github.com/open-telemetry/opentelemetry-cpp/pull/2724)

* [DOC] Update "Using triplets" section in building-with-vcpkg documentation.
  [#2726](https://github.com/open-telemetry/opentelemetry-cpp/pull/2726)

* [DOC] Remove comment for unused LoggerProvider initialization params
  [#2972](https://github.com/open-telemetry/opentelemetry-cpp/pull/2972)

* [SECURITY] Remove OTLP HTTP support for TLS 1.0 and TLS 1.1,
  require TLS 1.2 or better
  [#2722](https://github.com/open-telemetry/opentelemetry-cpp/pull/2722)

* [TEST] Fix opentelemetry-collector bind address
  [#2989](https://github.com/open-telemetry/opentelemetry-cpp/pull/2989)

* [EXPORTER] Fix references in AttributeValueVisitor
  [#2985](https://github.com/open-telemetry/opentelemetry-cpp/pull/2985)

* [Code health] include-what-you-use cleanup, part 2
  [#2704](https://github.com/open-telemetry/opentelemetry-cpp/pull/2704)

* [Code Health] clang-tidy cleanup, part 1
  [#2990](https://github.com/open-telemetry/opentelemetry-cpp/pull/2990)

* [CI] Build failures with ABSEIL 20240116 and CMAKE 3.30
  [#3002](https://github.com/open-telemetry/opentelemetry-cpp/pull/3002)

* [CI] Enable bzlmod
  [#2995](https://github.com/open-telemetry/opentelemetry-cpp/pull/2995)

* [Metrics SDK] Fix hash calculation for nostd::string
  [#2999](https://github.com/open-telemetry/opentelemetry-cpp/pull/2999)

Breaking changes:

* [SECURITY] Remove OTLP HTTP support for TLS 1.0 and TLS 1.1,
  require TLS 1.2 or better
  [#2722](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.16.0] 2024-06-21

* [BUILD] Upgrade bazel abseil from 20220623.1 to 20230802.2
  [#2650](https://github.com/open-telemetry/opentelemetry-cpp/pull/2650)
* [BUILD] Use nostd::enable_if_t instead of std::enable_if_t
  [#2648](https://github.com/open-telemetry/opentelemetry-cpp/pull/2648)
* [EXEMPLAR] Update ExemplarFilter and ExemplarReservoir for spec
  [#2372](https://github.com/open-telemetry/opentelemetry-cpp/pull/2372)
* [BUILD] Link CoreFoundation on apple systems
  [#2655](https://github.com/open-telemetry/opentelemetry-cpp/pull/2655)
* [SDK] Avoid missing conditional variable update and simplify atomic bool
  [#2553](https://github.com/open-telemetry/opentelemetry-cpp/pull/2553)
* [BUILD] Build break in OLTP_FILE tests
  [#2659](https://github.com/open-telemetry/opentelemetry-cpp/pull/2659)
* [EXPORTER] General cleanup for is_shutdown flags in exporters.
  [#2663](https://github.com/open-telemetry/opentelemetry-cpp/pull/2663)
* [CI] Upgrade Maintainers CI to ubuntu-24.04
  [#2670](https://github.com/open-telemetry/opentelemetry-cpp/pull/2670)
* [BUILD] Upgrade to opentelemetry-proto 1.3.1
  [#2669](https://github.com/open-telemetry/opentelemetry-cpp/pull/2669)
* [API] Return NoopLogRecord from NoopLogger
  [#2668](https://github.com/open-telemetry/opentelemetry-cpp/pull/2668)
* [BUILD] Remove the hard-coded separator in tracestate
  [#2672](https://github.com/open-telemetry/opentelemetry-cpp/pull/2672)
* [SDK] Fix forceflush may wait for ever
  [#2584](https://github.com/open-telemetry/opentelemetry-cpp/pull/2584)
* [API] DO not allow unsafe Logger::EmitLogRecord
  [#2673](https://github.com/open-telemetry/opentelemetry-cpp/pull/2673)
* [BUILD] Read default proto version from third_party_release
  [#2677](https://github.com/open-telemetry/opentelemetry-cpp/pull/2677)
* [CI] include-what-you-use
  [#2629](https://github.com/open-telemetry/opentelemetry-cpp/pull/2629)
* [CI] Upgrade to clang-format 18
  [#2684](https://github.com/open-telemetry/opentelemetry-cpp/pull/2684)
* [CI] Fix CI failures on Ubuntu 24.04
  [#2686](https://github.com/open-telemetry/opentelemetry-cpp/pull/2686)
* [SEMANTIC CONVENTIONS] Upgrade to version 1.26.0
  [#2687](https://github.com/open-telemetry/opentelemetry-cpp/pull/2687)
* [API/SDK] Provider cleanup
  [#2664](https://github.com/open-telemetry/opentelemetry-cpp/pull/2664)
* [ETW] Add table name mapping for Logs other than the default Log table
  [#2691](https://github.com/open-telemetry/opentelemetry-cpp/pull/2691)
* [CI] Remove benchmark overlay for vcpkg
  [#2695](https://github.com/open-telemetry/opentelemetry-cpp/pull/2695)
* [BUILD] Remove the incorrect set of CMAKE_MSVC_RUNTIME_LIBRARY for vcpkg
  [#2696](https://github.com/open-telemetry/opentelemetry-cpp/pull/2696)
* [BUILD] CMakeLists.txt: Enable CMAKE_MSVC_RUNTIME_LIBRARY support
  [#2652](https://github.com/open-telemetry/opentelemetry-cpp/pull/2652)
* [EXPORTER] OTLP file: use thread-safe file/io
  [#2675](https://github.com/open-telemetry/opentelemetry-cpp/pull/2675)
* [bazel] Bump version and deps
  [#2679](https://github.com/open-telemetry/opentelemetry-cpp/pull/2679)
* [BUILD] Add support for bzlmod
  [#2608](https://github.com/open-telemetry/opentelemetry-cpp/pull/2608)
* [BUILD] Fix Import Abseil-cpp
  [#2701](https://github.com/open-telemetry/opentelemetry-cpp/pull/2701)
* [Code health] include-what-you-use cleanup
  [#2692](https://github.com/open-telemetry/opentelemetry-cpp/pull/2692)
* [BUILD] Restore Bazel flag removed from public API
  [#2702](https://github.com/open-telemetry/opentelemetry-cpp/pull/2702)
* [DOC] Fix typo tace_id -> trace_id in logger.h
  [#2703](https://github.com/open-telemetry/opentelemetry-cpp/pull/2703)
* Bump docker/build-push-action from 5 to 6
  [#2705](https://github.com/open-telemetry/opentelemetry-cpp/pull/2705)
* [CI] Enable ARM64 build in CI
  [#2699](https://github.com/open-telemetry/opentelemetry-cpp/pull/2699)
* [Code health] Remove Unicode Text from Source files
  [#2707](https://github.com/open-telemetry/opentelemetry-cpp/pull/2707)
* [BUILD] Add option WITH_OTLP_GRPC_SSL_MTLS_PREVIEW
  [#2714](https://github.com/open-telemetry/opentelemetry-cpp/pull/2714)
* [EXPORTER] All 2xx return codes should be considered successful.
  [#2712](https://github.com/open-telemetry/opentelemetry-cpp/pull/2712)

Important changes:

* [API/SDK] Provider cleanup
  [#2664](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/issues/2372)
  introduced `MeterProvider::SetExemplar()` which accepts en
  `ExemplarFilterType` enumeration with `kAlwaysOff`, `kAlwaysOn` and
  `kTraceBased`.

## [1.15.0] 2024-04-21

* [EXPORTER] Change OTLP HTTP content_type default to binary
  [#2564](https://github.com/open-telemetry/opentelemetry-cpp/pull/2564)
* [DOC] Fix OTLP documentation: Default endpoint is wrong for OTLP/HTTP
  [#2560](https://github.com/open-telemetry/opentelemetry-cpp/pull/2560)
* [BUILD] Fix old style cast warning
  [#2567](https://github.com/open-telemetry/opentelemetry-cpp/pull/2567)
* [EXPORTER] Gzip compression support for OTLP/HTTP and OTLP/gRPC exporter
  [#2530](https://github.com/open-telemetry/opentelemetry-cpp/pull/2530)
* [BUILD] update vcpkg submodule to 2024.02.14
  [#2575](https://github.com/open-telemetry/opentelemetry-cpp/pull/2575)
* [SDK] Support for OTEL_SERVICE_NAME
  [#2577](https://github.com/open-telemetry/opentelemetry-cpp/pull/2577)
* [EXPORTER] Support URL-encoded values for `OTEL_EXPORTER_OTLP_HEADERS`
  [#2579](https://github.com/open-telemetry/opentelemetry-cpp/pull/2579)
* [BUILD] CMake cleanup for message()
  [#2582](https://github.com/open-telemetry/opentelemetry-cpp/pull/2582)
* [BUILD] Bump CMake minimum required version to 3.9
  [#2581](https://github.com/open-telemetry/opentelemetry-cpp/pull/2581)
* [BUILD] Provide LIKELY / UNLIKELY macros
  [#2580](https://github.com/open-telemetry/opentelemetry-cpp/pull/2580)
* [EXPORTER] OTLP: Fix missing ResourceMetrics SchemaURL
  [#2587](https://github.com/open-telemetry/opentelemetry-cpp/pull/2587)
* [ETW] cleanup include path
  [#2594](https://github.com/open-telemetry/opentelemetry-cpp/pull/2594)
* Upgrade to googletest 1.14.0
  [#2596](https://github.com/open-telemetry/opentelemetry-cpp/pull/2596)
* Upgrade to nlohmann_json 3.11.3
  [#2595](https://github.com/open-telemetry/opentelemetry-cpp/pull/2595)
* [BAZEL] Move -std=c++14 to .bazelrc
  [#2600](https://github.com/open-telemetry/opentelemetry-cpp/pull/2600)
* [BAZEL] Fix -std=c++14 warning on Windows
  [#2601](https://github.com/open-telemetry/opentelemetry-cpp/pull/2601)
* Upgrade to benchmark 1.8.3
  [#2597](https://github.com/open-telemetry/opentelemetry-cpp/pull/2597)
* Upgrade to prometheus 1.2.4
  [#2598](https://github.com/open-telemetry/opentelemetry-cpp/pull/2598)
* [DOC] Fix typo: Asynchronouse -> Asynchronous in meter.h
  [#2604](https://github.com/open-telemetry/opentelemetry-cpp/pull/2604)
* [BUILD] Do not link prometheus-cpp::util when it doesn't exist
  [#2606](https://github.com/open-telemetry/opentelemetry-cpp/pull/2606)
* [SDK] Remove unused variable
  [#2609](https://github.com/open-telemetry/opentelemetry-cpp/pull/2609)
* [METRICS SDK] Remove extra OfferMeasurement call
  in SyncMetricsStorage::OfferMeasurement
  [#2610](https://github.com/open-telemetry/opentelemetry-cpp/pull/2610)
* [MISC] Use set -e on all shell scripts and pass shellcheck --severity=error
  [#2616](https://github.com/open-telemetry/opentelemetry-cpp/pull/2616)
* [CI] Add shellcheck --severity=error as a CI step
  [#2618](https://github.com/open-telemetry/opentelemetry-cpp/pull/2618)
* [CI] Upgrade to abseil 20240116.1 (CMake only)
  [#2599](https://github.com/open-telemetry/opentelemetry-cpp/pull/2599)
* [CI] Benchmark, provide units with --benchmark_min_time
  [#2621](https://github.com/open-telemetry/opentelemetry-cpp/pull/2621)
* [EXPORTER] OTLP file exporter
  [#2540](https://github.com/open-telemetry/opentelemetry-cpp/pull/2540)
* [CI] Use platform CMake
  [#2627](https://github.com/open-telemetry/opentelemetry-cpp/pull/2627)
* [PROTO] Upgrade to opentelemetry-proto 1.2.0
  [#2631](https://github.com/open-telemetry/opentelemetry-cpp/pull/2631)
* [SDK] DefaultLogHandler to print errors to std::cerr, add LogLevel::None
  [#2622](https://github.com/open-telemetry/opentelemetry-cpp/pull/2622)
* [SEMANTIC CONVENTIONS] Upgrade to semantic convention 1.25.0
  [#2633](https://github.com/open-telemetry/opentelemetry-cpp/pull/2633)
* [DOC] Add readme and examples for OTLP FILE exporters.
  [#2638](https://github.com/open-telemetry/opentelemetry-cpp/pull/2638)
* [SEMANTIC CONVENTIONS] Rework on semantic conventions 1.25.0
  [#2640](https://github.com/open-telemetry/opentelemetry-cpp/pull/2640)
* [DOC] Update INSTALL.md
  [#2592](https://github.com/open-telemetry/opentelemetry-cpp/pull/2592)

Important changes:

* [EXPORTER] Gzip compression support for OTLP/HTTP and OTLP/gRPC exporter
  [#2530](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/2558)
* [CI] Use platform CMake
  [#2627](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.14.2] 2024-02-27

* [SDK] Fix observable attributes drop
   [#2557](https://github.com/open-telemetry/opentelemetry-cpp/pull/2557)

## [1.14.1] 2024-02-23

* [SDK] Restore Recordable API compatibility with versions < 1.14.0
  [#2547](https://github.com/open-telemetry/opentelemetry-cpp/pull/2547)
* [DOC] Add missing CHANGELOG.
  [#2549](https://github.com/open-telemetry/opentelemetry-cpp/pull/2549)
* [EXPORTER] Error when grpc endpoint is empty
  [#2507](https://github.com/open-telemetry/opentelemetry-cpp/pull/2507)
* [DOC] Fix typo in benchmarks.rst
  [#2542](https://github.com/open-telemetry/opentelemetry-cpp/pull/2542)

Important changes:

* [SDK] Restore Recordable API compatibility with versions < 1.14.0
  [#2547](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.14.0] 2024-02-16

* [BUILD] Add DLL build CI pipeline with CXX20
  [#2465](https://github.com/open-telemetry/opentelemetry-cpp/pull/2465)
* [EXPORTER] Set `is_monotonic` flag for Observable Counters
  [#2478](https://github.com/open-telemetry/opentelemetry-cpp/pull/2478)
* [PROTO] Upgrade to opentelemetry-proto v1.1.0
  [#2488](https://github.com/open-telemetry/opentelemetry-cpp/pull/2488)
* [BUILD] Introduce CXX 20 CI pipeline for MSVC/Windows
  [#2450](https://github.com/open-telemetry/opentelemetry-cpp/pull/2450)
* [API] Propagation: fix for hex conversion to binary for odd hex strings
  [#2533](https://github.com/open-telemetry/opentelemetry-cpp/pull/2533)
* [DOC] Fix calendar link
  [#2532](https://github.com/open-telemetry/opentelemetry-cpp/pull/2532)
* [ETW EXPORTER] Remove namespace using in ETW exporter which affects global
  namespace
  [#2531](https://github.com/open-telemetry/opentelemetry-cpp/pull/2531)
* [BUILD] Don't invoke vcpkg from this repo with CMAKE_TOOLCHAIN_FILE set
  [#2527](https://github.com/open-telemetry/opentelemetry-cpp/pull/2527)
* [EXPORTER] Async exporting for otlp grpc
  [#2407](https://github.com/open-telemetry/opentelemetry-cpp/pull/2407)
* [METRICS SDK] Fix attribute filtering for synchronous instruments.
  [#2472](https://github.com/open-telemetry/opentelemetry-cpp/pull/2472)
* [BUILD] Better handling of OPENTELEMETRY_STL_VERSION under Bazel.
  [#2503](https://github.com/open-telemetry/opentelemetry-cpp/pull/2503)
* [DOC] Fixes CI markdown error MD055 - Table pipe style
  [#2517](https://github.com/open-telemetry/opentelemetry-cpp/pull/2517)
* [API] Propagators: do not overwrite the active span with a default invalid
  span [#2511](https://github.com/open-telemetry/opentelemetry-cpp/pull/2511)
* [BUILD] Updated the recorded vcpkg submodule version
  [#2513](https://github.com/open-telemetry/opentelemetry-cpp/pull/2513)
* [BUILD] Remove unnecessary usage/includes of nostd/type_traits
  [#2509](https://github.com/open-telemetry/opentelemetry-cpp/pull/2509)
* [SEMANTIC CONVENTIONS] Upgrade to version 1.24.0
  [#2461](https://github.com/open-telemetry/opentelemetry-cpp/pull/2461)
* [EXAMPLES] Improve readme of Metrics example
  [#2510](https://github.com/open-telemetry/opentelemetry-cpp/pull/2510)
* [BUILD] Clang-15 warning about `__has_trivial_destructor`
  [#2502](https://github.com/open-telemetry/opentelemetry-cpp/pull/2502)
* [BUILD] Fix multiple assignment operators for SpinLockMutex
  [#2501](https://github.com/open-telemetry/opentelemetry-cpp/pull/2501)
* [BUILD] Alternative way of exporting symbols (generating .def file)
  [#2476](https://github.com/open-telemetry/opentelemetry-cpp/pull/2476)
* [CI] Make cmake.c++20*.test actually use C++20 and add cmake.c++23*.test
  [#2496](https://github.com/open-telemetry/opentelemetry-cpp/pull/2496)
* [DOCUMENTATION] Add api reference documentation for logs
  [#2497](https://github.com/open-telemetry/opentelemetry-cpp/pull/2497)
* [BUILD] Fix variable shadow
  [#2498](https://github.com/open-telemetry/opentelemetry-cpp/pull/2498)
* [BUILD] Fix checks on __cplusplus under MSVC, do not assume /Zc
  [#2493](https://github.com/open-telemetry/opentelemetry-cpp/pull/2493)
* [EXAMPLES] Use logs API instead of logs bridge API in the example
  [#2494](https://github.com/open-telemetry/opentelemetry-cpp/pull/2494)
* [EXPORTER] Fix forward protocol encoding for ETW exporter
  [#2473](https://github.com/open-telemetry/opentelemetry-cpp/pull/2473)
* [BUILD] Skip patch alias target
  [#2457](https://github.com/open-telemetry/opentelemetry-cpp/pull/2457)
* [EXPORTER] Rename populate_otel_scope to without_otel_scope
  [#2479](https://github.com/open-telemetry/opentelemetry-cpp/pull/2479)
* [EXPORTER SDK] Additional fixes after NOMINMAX removal on Windows
  [#2475](https://github.com/open-telemetry/opentelemetry-cpp/pull/2475)
* [EXPORTER] Do not use regex in `CleanUpString` because some implementations of
  STL may crash.
  [#2464](https://github.com/open-telemetry/opentelemetry-cpp/pull/2464)
* [EXPORTER] Fix Aggregation type detection in OTLP Exporter
  [#2467](https://github.com/open-telemetry/opentelemetry-cpp/pull/2467)
* [EXPORTER] Add option to disable Prometheus otel_scope_name and
  otel_scope_version attributes
  [#2451](https://github.com/open-telemetry/opentelemetry-cpp/pull/2451)
* [SEMANTIC CONVENTIONS] Code generation script fails on SELINUX
  [#2455](https://github.com/open-telemetry/opentelemetry-cpp/pull/2455)
* [BUILD] Fix removing of NOMINMAX on Windows
  [#2449](https://github.com/open-telemetry/opentelemetry-cpp/pull/2449)
* [BUILD] Accept path list in OPENTELEMETRY_EXTERNAL_COMPONENT_PATH
  [#2439](https://github.com/open-telemetry/opentelemetry-cpp/pull/2439)
* [BUILD] Remove gmock from GTEST_BOTH_LIBRARIES
  [#2437](https://github.com/open-telemetry/opentelemetry-cpp/pull/2437)
* [REMOVAL] Remove option WITH_OTLP_HTTP_SSL_PREVIEW
  [#2435](https://github.com/open-telemetry/opentelemetry-cpp/pull/2435)

Important changes:

Breaking changes:

* [REMOVAL] Remove option WITH_OTLP_HTTP_SSL_PREVIEW
  [#2435](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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.

## [1.13.0] 2023-12-06

* [BUILD] Remove WITH_REMOVE_METER_PREVIEW, use WITH_ABI_VERSION_2 instead
  [#2370](https://github.com/open-telemetry/opentelemetry-cpp/pull/2370)
* [SDK] Metrics ObservableRegistry Cleanup
  [#2376](https://github.com/open-telemetry/opentelemetry-cpp/pull/2376)
* [BUILD] Make WITH_OTLP_HTTP_SSL_PREVIEW mainstream
  [#2378](https://github.com/open-telemetry/opentelemetry-cpp/pull/2378)
* [SDK] Creating DoubleUpDownCounter with no matching view
  [#2379](https://github.com/open-telemetry/opentelemetry-cpp/pull/2379)
* [API] Add InstrumentationScope attributes in TracerProvider::GetTracer()
  [#2371](https://github.com/open-telemetry/opentelemetry-cpp/pull/2371)
* [BUILD] DLL export interface for Metrics
  [#2344](https://github.com/open-telemetry/opentelemetry-cpp/pull/2344)
* [BUILD] enum CanonicalCode names too generic... conflict with old C defines
  [#2385](https://github.com/open-telemetry/opentelemetry-cpp/pull/2385)
* [BUILD] Fix cpack broken package version
  [#2386](https://github.com/open-telemetry/opentelemetry-cpp/pull/2386)
* [API] Add a new AddLink() operation to Span
  [#2380](https://github.com/open-telemetry/opentelemetry-cpp/pull/2380)
* [opentracing-shim] Add check for sampled context
  [#2390](https://github.com/open-telemetry/opentelemetry-cpp/pull/2390)
* [BUILD] Fix exported definitions when building DLL with STL
  [#2387](https://github.com/open-telemetry/opentelemetry-cpp/pull/2387)
* [BUILD] Add missing includes to runtime_context_test
  [#2395](https://github.com/open-telemetry/opentelemetry-cpp/pull/2395)
* [ADMIN] Add file .github/repository-settings.md
  [#2392](https://github.com/open-telemetry/opentelemetry-cpp/pull/2392)
* [SDK] Fix GetLogger with empty library name
  [#2398](https://github.com/open-telemetry/opentelemetry-cpp/pull/2398)
* [TEST] Fix compiling problem and removed -DENABLE_TEST
  [#2401](https://github.com/open-telemetry/opentelemetry-cpp/pull/2401)
* [BUILD] Check windows options are not passed to non-Windows build
  [#2399](https://github.com/open-telemetry/opentelemetry-cpp/pull/2399)
* [EXPORTER] Rework OTLP/HTTP and OTLP/GRPC exporter options
  [#2388](https://github.com/open-telemetry/opentelemetry-cpp/pull/2388)
* [Build] Update vcpkg to latest release
  [#2412](https://github.com/open-telemetry/opentelemetry-cpp/pull/2412)
* [SDK] Cardinality limits for metrics streams
  (Sync Instruments + Delta Temporality)
  [#2255](https://github.com/open-telemetry/opentelemetry-cpp/pull/2255)
* [EXPORTER] Prometheus: Add unit to names, convert to word
  [#2213](https://github.com/open-telemetry/opentelemetry-cpp/pull/2213)
* [Metrics] Make context optional for histogram instruments in Metrics SDK
  [#2416](https://github.com/open-telemetry/opentelemetry-cpp/pull/2416)
* [BUILD] Fix references to trace namespace to be fully qualified
  [#2422](https://github.com/open-telemetry/opentelemetry-cpp/pull/2422)
* [BUILD] Bump third_party/googletest to same version as bazel
  [#2421](https://github.com/open-telemetry/opentelemetry-cpp/pull/2421)
* [BUILD] Remove defining NOMINMAX from api
  [#2420](https://github.com/open-telemetry/opentelemetry-cpp/pull/2420)
* [BUILD] 'uint8_t' not declared in this scope with gcc 13.2.1
  [#2423](https://github.com/open-telemetry/opentelemetry-cpp/pull/2423)
* [BUILD] Improve the handling of OPENTELEMETRY_HAVE_WORKING_REGEX
  [#2430](https://github.com/open-telemetry/opentelemetry-cpp/pull/2430)
* [SEMANTIC CONVENTION] Upgrade to semconv 1.23.1
  [#2428](https://github.com/open-telemetry/opentelemetry-cpp/pull/2428)
* [BUILD] Use fully qualified references to trace/common namespace
  [#2424](https://github.com/open-telemetry/opentelemetry-cpp/pull/2424)
* [API] Create root span with active span
  [#2427](https://github.com/open-telemetry/opentelemetry-cpp/pull/2427)
* [REMOVAL] Remove ZPAGES
  [#2433](https://github.com/open-telemetry/opentelemetry-cpp/pull/2433)

Important changes:

* [API] Add InstrumentationScope attributes in TracerProvider::GetTracer()
  [#2371](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/2433)
  * As announced in release 1.12.0,
    the deprecated ZPAGES exporter is now removed.

## [1.12.0] 2023-10-16

* [BUILD] Support `pkg-config`
  [#2269](https://github.com/open-telemetry/opentelemetry-cpp/pull/2269)
* [CI] Do not automatically close stale issues
  [#2277](https://github.com/open-telemetry/opentelemetry-cpp/pull/2277)
* [CI] Benchmark workflow fails, C++14 required to build grpc
  [#2278](https://github.com/open-telemetry/opentelemetry-cpp/pull/2278)
* [SDK] Increase metric name maximum length from 63 to 255 characters
  [#2284](https://github.com/open-telemetry/opentelemetry-cpp/pull/2284)
* [SEMANTIC CONVENTION] Deprecated semconv (in the spec)
  not deprecated (in C++)
  [#2285](https://github.com/open-telemetry/opentelemetry-cpp/pull/2285)
* [SDK] Remove unused member variables from SyncMetricStorage
  [#2294](https://github.com/open-telemetry/opentelemetry-cpp/pull/2294)
* [DEPRECATION] Deprecate ZPAGES
  [#2291](https://github.com/open-telemetry/opentelemetry-cpp/pull/2291)
* [API] Deliver ABI breaking changes
  [#2222](https://github.com/open-telemetry/opentelemetry-cpp/pull/2222)
* [SDK] Allow metric instrument names to contain / characters
  [#2310](https://github.com/open-telemetry/opentelemetry-cpp/pull/2310)
* [SDK] Fix Observable Counters/UpDownCounters
  [#2298](https://github.com/open-telemetry/opentelemetry-cpp/pull/2298)
* [SDK] Add exemplar reservoir to async metric storage
  [#2319](https://github.com/open-telemetry/opentelemetry-cpp/pull/2319)
* [TEST] Fix lifetime issues in prometheus test utils
  [#2322](https://github.com/open-telemetry/opentelemetry-cpp/pull/2322)
* [EXPORTER] Prometheus: Remove explicit timestamps from metric points
  [#2324](https://github.com/open-telemetry/opentelemetry-cpp/pull/2324)
* [EXPORTER] Prometheus: Handle attribute key collisions from sanitation
  [#2326](https://github.com/open-telemetry/opentelemetry-cpp/pull/2326)
* [EXPORTER] Prometheus cleanup, test with TranslateToPrometheus
  [#2329](https://github.com/open-telemetry/opentelemetry-cpp/pull/2329)
* [SDK] Fix log message in Meter::RegisterSyncMetricStorage
  [#2325](https://github.com/open-telemetry/opentelemetry-cpp/pull/2325)
* [DOC] Simplify the project status section
  [#2332](https://github.com/open-telemetry/opentelemetry-cpp/pull/2332)
* [EXPORTER] Prometheus: Sanitize labels according to spec
  [#2330](https://github.com/open-telemetry/opentelemetry-cpp/pull/2330)
* [SDK] Fix deadlock when shuting down http client
  [#2337](https://github.com/open-telemetry/opentelemetry-cpp/pull/2337)
* [Exporter] Group spans by resource and instrumentation scope
  in OTLP export requests
  [#2335](https://github.com/open-telemetry/opentelemetry-cpp/pull/2335)
* [BUILD] Need fine-grained HAVE_CPP_STDLIB
  [#2304](https://github.com/open-telemetry/opentelemetry-cpp/pull/2304)
* [API] Add InstrumentationScope attributes in MeterProvider::GetMeter()
  [#2224](https://github.com/open-telemetry/opentelemetry-cpp/pull/2224)
* [REMOVAL] Drop C++11 support
  [#2342](https://github.com/open-telemetry/opentelemetry-cpp/pull/2342)
* [EXPORTER] prometheus: add otel_scope_name and otel_scope_version labels
  [#2293](https://github.com/open-telemetry/opentelemetry-cpp/pull/2293)
* [EXPORTER] Export resource for prometheus
  [#2301](https://github.com/open-telemetry/opentelemetry-cpp/pull/2301)
* [BUILD] error: read-only reference ‘value’ used as ‘asm’ output
  [#2354](https://github.com/open-telemetry/opentelemetry-cpp/pull/2354)
* [BUILD] Build break with external CMake nlohman_json package
  [#2353](https://github.com/open-telemetry/opentelemetry-cpp/pull/2353)
* [BUILD] Upgrade libcurl to version 8.4.0
  [#2358](https://github.com/open-telemetry/opentelemetry-cpp/pull/2358)
* [BUILD] Fix opentracing-shim when added in super project
  [#2356](https://github.com/open-telemetry/opentelemetry-cpp/pull/2356)
* [BUILD] Fix protoc searching with non-imported protobuf::protoc target
  [#2362](https://github.com/open-telemetry/opentelemetry-cpp/pull/2362)
* [BUILD] Support to use different cmake package CONFIG of dependencies
  [#2263](https://github.com/open-telemetry/opentelemetry-cpp/pull/2263)
* [SEMANTIC CONVENTION] Upgrade to semconv 1.22.0
  [#2368](https://github.com/open-telemetry/opentelemetry-cpp/pull/2368)

Important changes:

* [API] Add InstrumentationScope attributes in MeterProvider::GetMeter()
  [#2224](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/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](https://github.com/open-telemetry/opentelemetry-cpp/pull/2342)
  * Building with C++11 is no longer supported.

Deprecations:

* [DEPRECATION] Deprecate ZPAGES
  [#2291](https://github.com/open-telemetry/opentelemetry-cpp/pull/2291)

## [1.11.0] 2023-08-21

* [BUILD] Fix more cases for symbol name for 32-bit win32 DLL build
  [#2264](https://github.com/open-telemetry/opentelemetry-cpp/pull/2264)
* [BUILD] added public link of `opentelemetry_proto_grpc` against gRPC lib (only
  if gRPC library is shared)
  [#2268](https://github.com/open-telemetry/opentelemetry-cpp/pull/2268)
* [CI] use ubuntu-latest for tsan CI
  [#2267](https://github.com/open-telemetry/opentelemetry-cpp/pull/2267)
* [SDK] Fixing an apparent logging macro bug
  [#2265](https://github.com/open-telemetry/opentelemetry-cpp/pull/2265)
* [BUILD] Support protobuf 3.22 or upper
  [#2163](https://github.com/open-telemetry/opentelemetry-cpp/pull/2163)
* [BUILD] Remove extra includes
  [#2252](https://github.com/open-telemetry/opentelemetry-cpp/pull/2252)
* [LOGS API SDK] Mark logs signal as stable API/SDK
  [#2229](https://github.com/open-telemetry/opentelemetry-cpp/pull/2229)
* [SEMANTIC CONVENTIONS] Upgrade to 1.21.0
  [#2248](https://github.com/open-telemetry/opentelemetry-cpp/pull/2248)
* [SDK] Valgrind errors on std::atomic variables
  [#2244](https://github.com/open-telemetry/opentelemetry-cpp/pull/2244)
* [BUILD] Fix compile with clang 16 and libc++
  [#2242](https://github.com/open-telemetry/opentelemetry-cpp/pull/2242)
* [Metrics SDK] Add unit to Instrument selection criteria
  [#2236](https://github.com/open-telemetry/opentelemetry-cpp/pull/2236)
* [SDK] Add OStreamLogRecordExporterFactory
  [#2240](https://github.com/open-telemetry/opentelemetry-cpp/pull/2240)
* [SDK] Add support for LowMemory metrics temporality
  [#2234](https://github.com/open-telemetry/opentelemetry-cpp/pull/2234)
* [CI] Misc build scripts cleanup
  [#2232](https://github.com/open-telemetry/opentelemetry-cpp/pull/2232)
* [CI] Upgrade GoogleTest version from 1.12.1 to 1.13.0
  [#2114](https://github.com/open-telemetry/opentelemetry-cpp/pull/2114)
* [BUILD] include cstdint
  [#2230](https://github.com/open-telemetry/opentelemetry-cpp/pull/2230)
* [EXPORTER] Support protobuf 3.22 or upper
  [#2163](https://github.com/open-telemetry/opentelemetry-cpp/pull/2163)
* [SDK] Mark logs signal as stable API/SDK
  [#2229](https://github.com/open-telemetry/opentelemetry-cpp/pull/2229)

Breaking changes:

* [SDK] Add unit to Instrument selection criteria
  [#2236](https://github.com/open-telemetry/opentelemetry-cpp/pull/2236)
  * The `View` constructor and `ViewFactory::Create` method now takes a
   `unit` criteria as optional third argument.
  * Please adjust SDK configuration code accordingly.

## [1.10.0] 2023-07-11

* [REMOVAL] Remove the jaeger exporter
  [#2031](https://github.com/open-telemetry/opentelemetry-cpp/pull/2031)

* [CI] Add a C++11 build
  [#2152](https://github.com/open-telemetry/opentelemetry-cpp/pull/2152)

* [CI] Add Include what you use
  [#2214](https://github.com/open-telemetry/opentelemetry-cpp/pull/2214)

* [CI] opentelemetry-cpp project CI
  [#2071](https://github.com/open-telemetry/opentelemetry-cpp/pull/2071)

* [CI] Do not tag pull_request with the "need-triage" label
  [#2228](https://github.com/open-telemetry/opentelemetry-cpp/pull/2228)

* [BUILD] Fixing CMake to build GTest on Windows
  [#1887](https://github.com/open-telemetry/opentelemetry-cpp/pull/1887)

* [BUILD] Remove option WITH_OTLP
  [#2161](https://github.com/open-telemetry/opentelemetry-cpp/pull/2161)

* [BUILD] Link to opentelemetry_logs even without OTLP
  [#2177](https://github.com/open-telemetry/opentelemetry-cpp/pull/2177)

* [BUILD] Avoid dependency on protobuf from the OTLP HTTP metrics exporter header
  [#2179](https://github.com/open-telemetry/opentelemetry-cpp/pull/2179)

* [BUILD] Add ctime header to metrics_exporter.cc
  [#2187](https://github.com/open-telemetry/opentelemetry-cpp/pull/2187)

* [BUILD] Fix the exported symbol name for 32-bit win32 DLL
  [#2190](https://github.com/open-telemetry/opentelemetry-cpp/pull/2190)

* [BUILD] Upgrade to opentelemetry-proto 0.20.0
  [#2195](https://github.com/open-telemetry/opentelemetry-cpp/pull/2195)

* [BUILD] SDK Header files cleanup, use forward declarations
  [#2182](https://github.com/open-telemetry/opentelemetry-cpp/pull/2182)

* [BUILD] Enable building otel-cpp extensions from main repo
  [#1937](https://github.com/open-telemetry/opentelemetry-cpp/pull/1937)

* [BUILD] Fix if check on environment variable and add CMake variable
  [#2207](https://github.com/open-telemetry/opentelemetry-cpp/pull/2207)

* [BUILD] Add `OPENTELEMETRY_CPP_FOUND` into cmake CONFIG file
  [#2215](https://github.com/open-telemetry/opentelemetry-cpp/pull/2215)

* [BUILD] Upgrade opentelemetry-proto to 1.0.0
  [#2216](https://github.com/open-telemetry/opentelemetry-cpp/pull/2216)

* [BUILD] Include nostd/string_view which is used in severity.h
  [#2219](https://github.com/open-telemetry/opentelemetry-cpp/pull/2219)

* [TEST] Expand api singleton test to cover explicit dlopen()
  [#2164](https://github.com/open-telemetry/opentelemetry-cpp/pull/2164)

* [API] Remove include_trace_context
  [#2194](https://github.com/open-telemetry/opentelemetry-cpp/pull/2194)

* [API] Remove Meters
  [#2205](https://github.com/open-telemetry/opentelemetry-cpp/pull/2205)

* [SDK] Add AdaptingCircularBufferCounter for exponential histograms
  [#2158](https://github.com/open-telemetry/opentelemetry-cpp/pull/2158)

* [SDK] Add base2 exponential histogram indexer
  [#2173](https://github.com/open-telemetry/opentelemetry-cpp/pull/2173)

* [SDK] Simplify SDK version
  [#2180](https://github.com/open-telemetry/opentelemetry-cpp/pull/2180)

* [SDK] Add benchmark for base2 exponential histogram indexer
  [#2181](https://github.com/open-telemetry/opentelemetry-cpp/pull/2181)

* [SDK] Provide builders to avoid exposing Metrics SDK internals
  [#2189](https://github.com/open-telemetry/opentelemetry-cpp/pull/2189)

* [SDK] MeterProvider should own MeterContext, not share it
  [#2218](https://github.com/open-telemetry/opentelemetry-cpp/pull/2218)

* [SDK] TracerProvider should own TracerContext, not share it
  [#2221](https://github.com/open-telemetry/opentelemetry-cpp/pull/2221)

* [EXPORTER] Change OTLP Json field name to camelCase
  [#2162](https://github.com/open-telemetry/opentelemetry-cpp/pull/2162)

* [EXPORTER] Support empty arrays in `OtlpRecordable` attributes
  [#2166](https://github.com/open-telemetry/opentelemetry-cpp/pull/2166)

* [EXPORTER] set is_monotonic only for instrument type kCounter
  [#2171](https://github.com/open-telemetry/opentelemetry-cpp/pull/2171)

* [EXPORTER] Fixed HTTP CURL for 32bits platforms
  [#2178](https://github.com/open-telemetry/opentelemetry-cpp/pull/2178)

* [EXPORTER] Fix OTLP HTTP exporting in sync mode
  [#2193](https://github.com/open-telemetry/opentelemetry-cpp/pull/2193)

* [EXPORTER] Prometheus exporter sanitizes invalid characters
  [#1934](https://github.com/open-telemetry/opentelemetry-cpp/pull/1934)

* [EXPORTER] Prometheus: Error on ingesting samples
  with different value but same timestamp
  [#2200](https://github.com/open-telemetry/opentelemetry-cpp/pull/2200)

* [EXPORTER] OTLP GRPC mTLS support
  [#2120](https://github.com/open-telemetry/opentelemetry-cpp/pull/2120)

* [DOC] Small fix for Histogram documentation
  [#2156](https://github.com/open-telemetry/opentelemetry-cpp/pull/2156)

* [DOC] Move Reiley Yang to emeritus
  [#2198](https://github.com/open-telemetry/opentelemetry-cpp/pull/2198)

Important changes:

* [API] Remove Meters
  [#2205](https://github.com/open-telemetry/opentelemetry-cpp/pull/2205)
  * The CMake option `WITH_REMOVE_METER_PREVIEW` was added.
  * This option is experimental, and may change in the future.
  * Enabling it is an ABI breaking change.

Breaking changes:

* [REMOVAL] Remove the jaeger exporter
  [#2031](https://github.com/open-telemetry/opentelemetry-cpp/pull/2031)
  * The CMake `WITH_JAEGER` option has been removed
  * Please remove usage of `WITH_JAEGER` from user scripts and makefiles.

* [SDK] MeterProvider should own MeterContext, not share it
  [#2218](https://github.com/open-telemetry/opentelemetry-cpp/pull/2218)
  * The `MeterProvider` constructor now takes a `unique_ptr` on
    `MeterContext`, instead of a `shared_ptr`.
  * Please adjust SDK configuration code accordingly.

* [SDK] TracerProvider should own TracerContext, not share it
  [#2221](https://github.com/open-telemetry/opentelemetry-cpp/pull/2221)
  * The `TracerProvider` constructor now takes a `unique_ptr` on
    `TracerContext`, instead of a `shared_ptr`.
  * The `LoggerProvider` constructor now takes a `unique_ptr` on
    `LoggerContext`, instead of a `shared_ptr`.
  * Please adjust SDK configuration code accordingly.

## [1.9.1] 2023-05-26

* [DEPRECATION] Drop C++11 support
  [#2146](https://github.com/open-telemetry/opentelemetry-cpp/pull/2146)

* [CI] Upgrade Bazel and Bazelisk version
  [#2118](https://github.com/open-telemetry/opentelemetry-cpp/pull/2118)
* [CI] Upgrade Google Benchmark version from 1.6.0 to 1.7.1
  [#2116](https://github.com/open-telemetry/opentelemetry-cpp/pull/2116)
* [CI] Upgrade Nlohmann JSON library version from 3.10.5 to 3.11.2
  [#2115](https://github.com/open-telemetry/opentelemetry-cpp/pull/2115)

* [BUILD] Missed include
  [#2143](https://github.com/open-telemetry/opentelemetry-cpp/pull/2143)
* [BUILD] Add opentelemetry_proto_grpc and allow build shared
  opentelemetry_proto and opentelemetry_proto_grpc on non-Windows platform.
  [#2097](https://github.com/open-telemetry/opentelemetry-cpp/pull/2097)
* [BUILD] Warning cleanup, single character wrapped by std::string
  [#2137](https://github.com/open-telemetry/opentelemetry-cpp/pull/2137)
* [BUILD] Add missing target dependencies
  [#2128](https://github.com/open-telemetry/opentelemetry-cpp/pull/2128)
* [BUILD] Fix if JSON library already added another CMake target
  [#2126](https://github.com/open-telemetry/opentelemetry-cpp/pull/2126)
* [BUILD] shared libraries with version suffix, along with the symbolic link
  [#2109](https://github.com/open-telemetry/opentelemetry-cpp/pull/2109)
* [BUILD] Show warning message if WITH_OTLP is enabled
  [#2112](https://github.com/open-telemetry/opentelemetry-cpp/pull/2112)
* [BUILD] Add missing STL header.
  [#2107](https://github.com/open-telemetry/opentelemetry-cpp/pull/2107)
* [BUILD] Build break with old curl, macro CURL_VERSION_BITS unknown
  [#2102](https://github.com/open-telemetry/opentelemetry-cpp/pull/2102)
* [BUILD] Transitive dependency issue with the otlp http exporter
  [#2154](https://github.com/open-telemetry/opentelemetry-cpp/pull/2154)

* [TEST] Add unit test for log body implicit conversions.
  [#2136](https://github.com/open-telemetry/opentelemetry-cpp/pull/2136)
* [TEST] Add event id to logger benchmark method
  [#2133](https://github.com/open-telemetry/opentelemetry-cpp/pull/2133)

* [API] Fix inclusion header files and use forward declaration
  [#2124](https://github.com/open-telemetry/opentelemetry-cpp/pull/2124)
* [API] Add user facing Logging API and Benchmarks
  [#2094](https://github.com/open-telemetry/opentelemetry-cpp/pull/2094)

* [SDK] SDK support for the new OTel log
  [#2123](https://github.com/open-telemetry/opentelemetry-cpp/pull/2123)

* [EXPORTER] Fixed HTTP session cleanup on shutdown
  [#2111](https://github.com/open-telemetry/opentelemetry-cpp/pull/2111)
* [EXPORTER] Delegate all API calls of gRPC into
  opentelemetry_exporter_otlp_grpc_client,
  and make it contains all symbols needed.
  [#2005](https://github.com/open-telemetry/opentelemetry-cpp/pull/2005)

* [DOC] Add Marc as maintainer.
  [#2027](https://github.com/open-telemetry/opentelemetry-cpp/pull/2027)

Breaking changes:

* Add opentelemetry_proto_grpc and move gRPC sources into it.
  [#2097](https://github.com/open-telemetry/opentelemetry-cpp/pull/2097)
  * There will be no breaking changes for users who only use OTLP exporters and
    do not directly use opentelemetry-cpp::proto. However, it is important to
    note that `opentelemetry-cpp::proto` no longer contains generated gRPC codes
    , and all components that depend on these gRPC codes should also link to
    `opentelemetry-cpp::proto_grpc`.

Deprecations:

* The Jaeger Exporter is deprecated, see [DEPRECATED](./DEPRECATED.md) for details.
* C++11 support is to end, C++14 will be supported instead,
  see [DEPRECATED](./DEPRECATED.md) for details.

## [1.9.0] 2023-04-12

* [CI] Make build environment parallel (Windows)
  [#2080](https://github.com/open-telemetry/opentelemetry-cpp/pull/2080)
* [CI] Make build environment parallel (Linux)
  [#2076](https://github.com/open-telemetry/opentelemetry-cpp/pull/2076)
* [CI] Remove separate run of metrics ostream example
  [#2030](https://github.com/open-telemetry/opentelemetry-cpp/pull/2030)

* [BUILD] Include directory path added for Zipkin exporter example
  [#2069](https://github.com/open-telemetry/opentelemetry-cpp/pull/2069)
* [BUILD] Ignore more warning in generated protobuf files
  [#2067](https://github.com/open-telemetry/opentelemetry-cpp/pull/2067)
* [BUILD] Clean warnings in ETW exporters
  [#2063](https://github.com/open-telemetry/opentelemetry-cpp/pull/2063)
* [BUILD] Fix default value of OPENTELEMETRY_INSTALL_default
  [#2062](https://github.com/open-telemetry/opentelemetry-cpp/pull/2062)

* [SEMANTIC CONVENTIONS] Upgrade to version 1.20.0
  [#2088](https://github.com/open-telemetry/opentelemetry-cpp/pull/2088)
* [SEMANTIC CONVENTIONS] Upgrade to version 1.19.0
  [#2017](https://github.com/open-telemetry/opentelemetry-cpp/pull/2017)

* [API] Checking indices before dereference in string utils
  [#2040](https://github.com/open-telemetry/opentelemetry-cpp/pull/2040)
* [API] Export factory class of log provider
  [#2041](https://github.com/open-telemetry/opentelemetry-cpp/pull/2041)

* [SDK] Implement Forceflush for Periodic Metric Reader
  [#2064](https://github.com/open-telemetry/opentelemetry-cpp/pull/2064)
* [SDK] Add `ForceFlush` for all `LogRecordExporter` and `SpanExporter`
  [#2000](https://github.com/open-telemetry/opentelemetry-cpp/pull/2000)
* [SDK] Fix schema URL precedence bug in `Resource::Merge`
  [#2036](https://github.com/open-telemetry/opentelemetry-cpp/pull/2036)
* [SDK] Use sdk_start_ts for MetricData start_ts for instruments having
  cumulative aggregation temporality.
  [#2086](https://github.com/open-telemetry/opentelemetry-cpp/pull/2086)

* [EXPORTER] Add OTLP HTTP SSL support
  [#1793](https://github.com/open-telemetry/opentelemetry-cpp/pull/1793)
* [EXPORTER] GRPC endpoint scheme should take precedence over OTEL_EXPORTER_OTLP_TRACES_INSECURE
  [#2060](https://github.com/open-telemetry/opentelemetry-cpp/pull/2060)

* [EXAMPLES] Remove unused 'alerting' section from prometheus.yml in examples
  [#2055](https://github.com/open-telemetry/opentelemetry-cpp/pull/2055)
* [EXAMPLES] Fix view names in Prometheus example
  [#2034](https://github.com/open-telemetry/opentelemetry-cpp/pull/2034)

* [DOC] Fix some docs typo
  [#2057](https://github.com/open-telemetry/opentelemetry-cpp/pull/2057)
* [DOC] Update OpenTracing shim README.md
  [#2028](https://github.com/open-telemetry/opentelemetry-cpp/pull/2028)
* [DOC] INSTALL doc clarifications
  [#2078](https://github.com/open-telemetry/opentelemetry-cpp/pull/2078)

Important changes:

* [EXPORTER] GRPC endpoint scheme should take precedence over OTEL_EXPORTER_OTLP_TRACES_INSECURE
  [#2060](https://github.com/open-telemetry/opentelemetry-cpp/pull/2060)
  * The logic to decide whether or not an OTLP GRPC exporter uses SSL has
    changed to comply with the specification:
    * Before this change, the following settings were evaluated, in order:
      * OTEL_EXPORTER_OTLP_TRACES_INSECURE (starting with 1.8.3)
      * OTEL_EXPORTER_OTLP_INSECURE (starting with 1.8.3)
      * OTEL_EXPORTER_OTLP_TRACES_SSL_ENABLE
      * OTEL_EXPORTER_OTLP_SSL_ENABLE
    * With this change, the following settings are evaluated, in order:
      * The GRPC endpoint scheme, if provided:
        * "https" imply with SSL,
        * "http" imply without ssl.
      * OTEL_EXPORTER_OTLP_TRACES_INSECURE
      * OTEL_EXPORTER_OTLP_INSECURE
      * OTEL_EXPORTER_OTLP_TRACES_SSL_ENABLE
      * OTEL_EXPORTER_OTLP_SSL_ENABLE
    * As a result, a behavior change for GRPC SSL is possible,
      because the endpoint scheme now takes precedence.
      Please verify configuration settings for the GRPC endpoint.
--> --------------------

--> maximum size reached

--> --------------------

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]