Skip to content

Releases: open-telemetry/opentelemetry-cpp

v1.15.0 release

21 Apr 20:17
054b0dc
Compare
Choose a tag to compare

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

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

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: v1.14.2...v1.15.0

v1.14.2 release

27 Feb 20:47
a799f4a
Compare
Choose a tag to compare

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

What's Changed

  • [SDK] Fix observable attributes drop #2557

v1.14.1 release

23 Feb 21:54
563094b
Compare
Choose a tag to compare

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

  • [DOC] Fix typo in benchmarks.rst by @orion160 in #2542
  • [BUILD] Incorrect test on ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW by @marcalff in #2546
  • [EXPORTER] Error when grpc endpoint is empty by @HennerM in #2507
  • [DOC] Add missing 1.14.0 CHANGELOG by @marcalff in #2549
  • [SDK] Restore Recordable API compatibility with versions < 1.14.0 by @dbolduc in #2547
  • [RELEASE] Release opentelemetry-cpp version 1.14.1 by @marcalff in #2551

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: v1.14.0...v1.14.1

v1.14.0 release

17 Feb 17:34
e1119ed
Compare
Choose a tag to compare

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

  • [BUILD] Remove gmock from GTEST_BOTH_LIBRARIES by @ThomsonTan in #2437
  • Bump actions/stale from 8 to 9 by @dependabot in #2441
  • [BUILD] Accept path list in OPENTELEMETRY_EXTERNAL_COMPONENT_PATH by @ThomsonTan in #2439
  • [BUILD] Fix removing of NOMINMAX on Windows by @ThomsonTan in #2449
  • [REMOVAL] Remove option WITH_OTLP_HTTP_SSL_PREVIEW by @marcalff in #2435
  • Bump github/codeql-action from 2 to 3 by @dependabot in #2452
  • [BUILD] Introduce CXX 20 CI pipeline for MSVC/Windows by @ThomsonTan in #2450
  • [SEMANTIC CONVENTIONS] Code generation script fails on SELINUX by @marcalff in #2455
  • Bump actions/upload-artifact from 3 to 4 by @dependabot in #2456
  • [EXPORTER] Add option to disable Prometheus otel_scope_name and otel_scope_version attributes by @timwoj in #2451
  • [EXPORTER] Fix Aggregation type detection in OTLP Exporter by @lalitb in #2467
  • [EXPORTER] Do not use regex in CleanUpString because some implementations of STL may crash. by @owent in #2464
  • [EXPORTER and SDK] Additional fixes after NOMINMAX removal on Windows by @meastp in #2475
  • Remove duplicate install command in CMakeLists.txt for api by @meastp in #2474
  • [EXPORTER] Set is_monotonic flag for Observable Counters by @samin36 in #2478
  • [EXPORTER] Rename populate_otel_scope to without_otel_scope by @timwoj in #2479
  • [BUILD] Skip patch alias target by @owent in #2457
  • [PROTO] Upgrade to opentelemetry-proto v1.1.0 by @marcalff in #2488
  • [EXPORTER] Fix forward protocol encoding for ETW exporter by @ThomsonTan in #2473
  • Bump actions/cache from 3 to 4 by @dependabot in #2491
  • [EXAMPLES] Use logs API instead of logs bridge API in the example by @ThomsonTan in #2494
  • [BUILD] Fix checks on __cplusplus under MSVC, do not assume /Zc by @bcsgh in #2493
  • [BUILD] Add DLL build CI pipeline with CXX20 by @ThomsonTan in #2465
  • [BUILD] Fix variable shadow by @owent in #2498
  • [DOCUMENTATION] Add api reference documentation for logs by @S-Bohn in #2497
  • [CI] Make cmake.c++20*.test actualy use C++20 and add cmake.c++23*.test by @bcsgh in #2496
  • [BUILD] Alternative way of exporting symbols (generating .def file) by @meastp in #2476
  • [BUILD] Fix multiple assignment operators for SpinLockMutex by @SaiHarshaK in #2501
  • [BUILD] Clang-15 warning about __has_trivial_destructor by @marcalff in #2502
  • [EXAMPLES] Improve readme of Metrics example by @ThomsonTan in #2510
  • [SEMANTIC CONVENTIONS] Upgrade to version 1.24.0 by @marcalff in #2461
  • [BUILD] Remove unnecessary usage/includes of nostd/type_traits by @bogdandrutu in #2509
  • Bump peter-evans/create-or-update-comment from 3.1.0 to 4.0.0 by @dependabot in #2512
  • Updated the recorded vcpkg submodule version by @ThomsonTan in #2513
  • [API] Propagators: do not overwrite the active span with a default invalid span by @ecourreges-orange in #2511
  • [DOC] Fixes CI markdown error MD055 - Table pipe style by @marcalff in #2517
  • [BUILD] Better handling of OPENTELEMETRY_STL_VERSION under Bazel. by @bcsgh in #2503
  • Bump codecov/codecov-action from 3 to 4 by @dependabot in #2519
  • Fix attribute filtering for synchronous instruments. by @lalitb in #2472
  • [EXPORTER] Async exporting for otlp grpc by @owent in #2407
  • Don't invoke vcpkg from this repo with CMAKE_TOOLCHAIN_FILE set by @ThomsonTan in #2527
  • Remove namespace using in ETW exporter which affects global namespace by @ThomsonTan in #2531
  • [DOC] Fix calendar link by @marcalff in #2532
  • [API] Propagation: fix for hex conversion to binary for odd hex strings by @karusher in #2533
  • [RELEASE] opentelemetry-cpp version 1.14.0 by @ThomsonTan in #2537

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: v1.13.0...v1.14.0

v1.13.0 release

06 Dec 20:12
4bd64c9
Compare
Choose a tag to compare

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

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

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: v1.12.0...v1.13.0

v1.12.0 release

16 Oct 08:43
46e20a4
Compare
Choose a tag to compare

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

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

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: v1.11.0...v1.12.0

OpenTelemetry C++ v1.11.0

22 Aug 22:12
11d5d9e
Compare
Choose a tag to compare

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

Notes

  • Logs are declared as stable in this release.

New Contributors

Full Changelog: v1.10.0...v1.11.0

OpenTelemetry C++ v1.10.0

11 Jul 19:58
ca8c234
Compare
Choose a tag to compare

v1.10.0 release

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

and exporter packages:

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

REMOVAL

  • [REMOVAL] Remove the jaeger exporter
    #2031

CI

  • [CI] Add a C++11 build
    #2152

  • [CI] Add Include what you use
    #2214

  • [CI] opentelemetry-cpp project CI
    #2071

  • [CI] Do not tag pull_request with the "need-triage" label
    #2228

BUILD

  • [BUILD] Fixing CMake to build GTest on Windows
    #1887

  • [BUILD] Remove option WITH_OTLP
    #2161

  • [BUILD] Link to opentelemetry_logs even without OTLP
    #2177

  • [BUILD] Avoid dependency on protobuf from the OTLP HTTP metrics exporter header
    #2179

  • [BUILD] Add ctime header to metrics_exporter.cc
    #2187

  • [BUILD] Fix the exported symbol name for 32-bit win32 DLL
    #2190

  • [BUILD] Upgrade to opentelemetry-proto 0.20.0
    #2195

  • [BUILD] SDK Header files cleanup, use forward declarations
    #2182

  • [BUILD] Enable building otel-cpp extensions from main repo
    #1937

  • [BUILD] Fix if check on environment variable and add CMake variable
    #2207

  • [BUILD] Add OPENTELEMETRY_CPP_FOUND into cmake CONFIG file
    #2215

  • [BUILD] Upgrade opentelemetry-proto to 1.0.0
    #2216

  • [BUILD] Include nostd/string_view which is used in severity.h
    #2219

TEST

  • [TEST] Expand api singleton test to cover explicit dlopen()
    #2164

API

  • [API] Remove include_trace_context
    #2194

  • [API] Remove Meters
    #2205

SDK

  • [SDK] Add AdaptingCircularBufferCounter for exponential histograms
    #2158

  • [SDK] Add base2 exponential histogram indexer
    #2173

  • [SDK] Simplify SDK version
    #2180

  • [SDK] Add benchmark for base2 exponential histogram indexer
    #2181

  • [SDK] Provide builders to avoid exposing Metrics SDK internals
    #2189

  • [SDK] MeterProvider should own MeterContext, not share it
    #2218

  • [SDK] TracerProvider should own TracerContext, not share it
    #2221

EXPORTER

  • [EXPORTER] Change OTLP Json field name to camelCase
    #2162

  • [EXPORTER] Support empty arrays in OtlpRecordable attributes
    #2166

  • [EXPORTER] set is_monotonic only for instrument type kCounter
    #2171

  • [EXPORTER] Fixed HTTP CURL for 32bits platforms
    #2178

  • [EXPORTER] Fix OTLP HTTP exporting in sync mode
    #2193

  • [EXPORTER] Prometheus exporter sanitizes invalid characters
    #1934

  • [EXPORTER] Prometheus: Error on ingesting samples
    with different value but same timestamp
    #2200

  • [EXPORTER] OTLP GRPC mTLS support
    #2120

DOC

  • [DOC] Small fix for Histogram documentation
    #2156

  • [DOC] Move Reiley Yang to emeritus
    #2198

Important changes

  • [API] Remove Meters
    #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

    • 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

    • 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

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

All Deprecations

  • C++11 support is to end, C++14 will be supported instead,
    see DEPRECATED for details.

New Contributors

Full Changelog: v1.9.1...v1.10.0

OpenTelemetry C++ v1.9.1

26 May 09:23
770fce3
Compare
Choose a tag to compare

v1.9.1 release

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

and exporter packages:

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

NEW DEPRECATION

  • [DEPRECATION] Drop C++11 support
    #2146

CI

  • [CI] Upgrade Bazel and Bazelisk version
    #2118
  • [CI] Upgrade Google Benchmark version from 1.6.0 to 1.7.1
    #2116
  • [CI] Upgrade Nlohmann JSON library version from 3.10.5 to 3.11.2
    #2115

BUILD

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

TEST

  • [TEST] Add unit test for log body implicit conversions.
    #2136
  • [TEST] Add event id to logger benchmark method
    #2133

API

  • [API] Fix inclusion header files and use forward declaration
    #2124
  • [API] Add user facing Logging API and Benchmarks
    #2094

SDK

  • [SDK] SDK support for the new OTel log
    #2123

EXPORTER

  • [EXPORTER] Fixed HTTP session cleanup on shutdown
    #2111
  • [EXPORTER] Delegate all API calls of gRPC into
    opentelemetry_exporter_otlp_grpc_client,
    and make it contains all symbols needed.
    #2005

DOC

  • [DOC] Add Marc as maintainer.
    #2027

Breaking changes

  • Add opentelemetry_proto_grpc and move gRPC sources into it.
    #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.

All Deprecations

  • The Jaeger Exporter is deprecated, see DEPRECATED for details.
  • C++11 support is to end, C++14 will be supported instead,
    see DEPRECATED for details.

Full Changelog: v1.9.0...v1.9.1

OpenTelemetry C++ v1.9.0

13 Apr 07:12
7887d32
Compare
Choose a tag to compare

v1.9.0 release

Release of core packages

  • opentelemetry-api
  • opentelemetry-sdk

and exporter packages:

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

CI

  • [CI] Make build environment parallel (Windows)
    #2080
  • [CI] Make build environment parallel (Linux)
    #2076
  • [CI] Remove separate run of metrics ostream example
    #2030

BUILD

  • [BUILD] Include directory path added for Zipkin exporter example
    #2069
  • [BUILD] Ignore more warning in generated protobuf files
    #2067
  • [BUILD] Clean warnings in ETW exporters
    #2063
  • [BUILD] Fix default value of OPENTELEMETRY_INSTALL_default
    #2062

SEMANTIC CONVENTIONS

  • [SEMANTIC CONVENTIONS] Upgrade to version 1.20.0
    #2088
  • [SEMANTIC CONVENTIONS] Upgrade to version 1.19.0
    #2017

API

  • [API] Checking indices before dereference in string utils
    #2040
  • [API] Export factory class of log provider
    #2041

SDK

  • [SDK] Implement Forceflush for Periodic Metric Reader
    #2064
  • [SDK] Add ForceFlush for all LogRecordExporter and SpanExporter
    #2000
  • [SDK] Fix schema URL precedence bug in Resource::Merge
    #2036
  • [SDK] Use sdk_start_ts for MetricData start_ts for instruments having
    cumulative aggregation temporality.
    #2086

EXPORTER

  • [EXPORTER] Add OTLP HTTP SSL support
    #1793
  • [EXPORTER] GRPC endpoint scheme should take precedence over OTEL_EXPORTER_OTLP_TRACES_INSECURE
    #2060

EXAMPLES

  • [EXAMPLES] Remove unused 'alerting' section from prometheus.yml in examples
    #2055
  • [EXAMPLES] Fix view names in Prometheus example
    #2034

DOC

  • [DOC] Fix some docs typo
    #2057
  • [DOC] Update OpenTracing shim README.md
    #2028
  • [DOC] INSTALL doc clarifications
    #2078

Important changes:

  • [EXPORTER] GRPC endpoint scheme should take precedence over OTEL_EXPORTER_OTLP_TRACES_INSECURE
    #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.
  • [SDK] Add ForceFlush for all LogRecordExporter and SpanExporter
    #2000
    • LogRecordExporter and SpanExporter add a new virtual function
      ForceFlush, and if users implement any customized LogRecordExporter and
      SpanExporter, they should also implement this function.
      There should be no impact if users only use factory to create exporters.

New Contributors

Deprecations

  • The Jaeger Exporter is deprecated, see DEPRECATED for details.

Full Changelog: v1.8.3...v1.9.0