Releases: open-telemetry/opentelemetry-cpp
OpenTelemetry C++ v1.6.0 (Metrics release candidate)
v1.6.0 release (Metrics release candidate)
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger (thrift + UDP/HTTP)
Changelog
API
- No API change
SDK
- Fix log sdk builder (#1486) by @marcalff in #1524
- [Trace] Add SpanData getter for Span Recordable by @lalitb in #1508
- Fix infinitely waiting when shutdown with more than one running http sessions. by @owent in #1549
Exporter
- Prometheus exporter support Gauge Type by @esigo in #1553
- [NFC] Improve scope/instrument names in metrics OStream exporter by @bsarden in #1544
Build
- vscode debug launch.json by @esigo in #1537
- Fix several compiling/linking errors by @owent in #1539
- Fix code scanning alert by @esigo in #1530
- Add CI jobs for new and deprecated metrics by @esigo in #1531
Test
Metrics Features
- Add configuration options for Aggregation creation by @esigo in #1513
- Support multiple async callbacks by @lalitb in #1495
- OStream exporter should print out resource attributes by @bsarden in #1523
- Histogram min/max support by @esigo in #1540
- Metric aggregation temporality controls by @lalitb in #1541
- Fix OTLP gRPC Metrics env variables by @lalitb in #1543
- Fix default Metric view name by @esigo in #1515
- Fix IWYU error in instruments.h by @bsarden in #1555
- Fix metrics context circular reference by @esigo in #1535
- fix metrics race condition by @esigo in #1552
- remove throw check from metrics with noexcept by @esigo in #1560
- Fix metrics asan and tsan CI by @esigo in #1562
- Calling Observable Instruments callback during metrics collection by @lalitb in #1554
New Contributors
Full Changelog: v1.5.0...v1.6.0
OpenTelemetry C++ v1.5.0
v1.5.0 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger (thrift + UDP/HTTP)
##Changelog
API
- No API change
SDK
- fix: urlPaser will incorrect parsing url like "http://abc.com/xxx@xxx/a/b" #1511
- Rename
InstrumentationLibrary
toInstrumentationScope
#1507 - Add automatically semantic conventions from the spec (#873) #1497
- Use template class for in-memory data. #1496
- fix compiler warnings #1499
- Add trace sdk builders (#1393) #1471
- Remove reference to deprecated InstrumentationLibrary in OTLP #1469
- Fix trace kIsSampled flag set incorrectly #1465
- Fix build warnings about missing aggregates. #1368
Exporter
- Add resources to dep list of prometheus exporter test #1527
- Inline print_value() in ostream exporter #1512
- fix otlp grpc exporter naming #1488
- Fix endpoint in otlp grpc exporter #1474
- fix prometheus exporter failure type #1460
Semantic Conventions
- Upgrade to version 1.12.0 #873
Build
- Don't require applications using jaeger exporter to know about libcurl #1518
- Try to build nlohmann-json only it's depended. #1505
- Remove
--config Debug
when installing. #1480
Docs
- Update docs to use relative code links. #1447
Example
Ext
curl::HttpClient
usecurl_multi_handle
instead of creating a thread for every request and it's able to reuse connections now. (#1317)
Metrics Features
OpenTelemetry C++ v1.4.1
v1.4.1 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger (thrift + UDP/HTTP)
Changelog
API
- No API change.
SDK
- fix: WaitOnSocket select error when sockfd above FD_SETSIZE (#1410)
- fix OTEL_INTERNAL_LOG_INFO (#1407)
Build
- Upgrade nlohmann_json to 3.10.5 (#1441)
- install sdk-config.h (#1419)
- fix nlohmann_json's (third party) include dir (#1415)
Example
- Log current timestamp instead of epoch time (#1434)
Docs
- Fixed broken link to OpenTelemetry.io (#1446)
- Fix GettingStarted documentation for Jaeger HTTP exporter (#1439)
- Document Getting Started with Prometheus and Grafana (#1396)
Metrics features
OpenTelemetry C++ v1.4.0
v1.4.0 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger (thrift + UDP/HTTP)
Changelog
API
- Upgrade proto to v0.17.0, update log data model (#1383)
- Add noexcept/const qualifier at missing places for Trace API. (#1374)
- Update yield logic for ARM processor (#1325)
SDK
- Get span_id from context when Logger::Log received invalid span_id (#1398)
- Fix sharing resource in batched exported spans (#1386)
- Fix empty tracestate header propagation (#1373)
- Fix baggage propagation for empty/invalid baggage context (#1367)
- Add explicit type cast in baggage UrlDecode (#1353)
Exporters
- Fix scalar delete against array (#1356)
- Conditional include for codecvt header (#1355)
- Prometheus exporter (#1331)
Build
- Alpine image (#1382)
- Fix missing link to nlohmann_json (#1390)
- Prometheus exporter meters and instrument name (#1378)
- Export opentelemetry_otlp_recordable (#1365)
- Add missing include guard (#1357)
- Use latest TraceLoggingDynamic.h (#1354)
- ostream metrics cmake (#1344)
- Link opentelemetry_ext with opentelemetry_api (#1336)
- Dependencies image as artifact (#1333)
- Fix Ninja path (#1326)
- Fix metrics compiler warnings (#1328)
Metrics features
- Connect async storage with async instruments (#1388)
- Reuse temporal metric storage for sync storage (#1369)
- Fix class member initialization order (#1360)
- Simplify SDK Configuration: Use View with default aggregation if no matching View is configured (#1358)
- Remove exporter registration to meter provider (#1350)
- Fix output time in metrics OStream exporter (#1346)
- Enable metric collection for Async Instruments - Delta and Cumulative (#1334)
- Metrics histogram example (#1330)
- Implement Merge and Diff operation for Histogram Aggregation (#1303)
Examples
- Prometheus example (#1332)
Docs
- Getting started document using ostream exporter (#1394)
Notes:
- This release includes alpha milestone of OpenTelemetry Metrics.
- The name parameter for Log APIs is deprecated and will be removed in future releases. See details in CHANGELOG.md
OpenTelemetry C++ v1.3.0
v1.3.0 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger (thrift + UDP/HTTP)
Changelog
API
- Allow extension of the lifetime of ContextStorage. (#1214)
SDK
- Bugfix: span SetAttribute crash (#1283)
- Reorder the destructor of members in LoggerProvider and TracerProvider (#1245)
Exporters
- ETW provider handle cleanup (#1322)
- Fix: use CURLOPT_TIMEOUT_MS to config OtlpHttpExporter's timeout instead of CURLOPT_TIMEOUT (#1261)
- Jaeger Exporter - Populate Span Links (#1251)
Build
- Move public definitions into
opentelemetry_api
. (#1314) - Rename
http_client_curl
toopentelemetry_http_client_curl
(#1301) - Update grpc to v1.43.2 to support VS2022/MSVC 19.30 and bazel 5.0 (#1207)
Experimental metrics features
- OStream example (#1312)
- Add InstrumentationInfo and Resource to the metrics data to be exported. (#1299)
- Implement periodic exporting metric reader (#1286)
- Synchronous Metric collection (Delta , Cumulative) (#1265)
- Metrics exemplar round 1 (#1264)
- Enable metric collection from MetricReader (#1241)
- Asynchronous Aggregation storage (#1232)
- Synchronous Instruments - Aggregation Storage(s) creation for configured views (#1219)
- Add Aggregation storage (#1213)
- Ostream metric exporter (#1196)
- Filtering metrics attributes (#1191)
- Sync and Async Instruments SDK (#1184)
- Add Aggregation as part of metrics SDK. (#1178)
Notes:
#1301 added opentelemetry_
as prefix to http_client_curl library for resolving potential naming conflict, this could break existing cmake build if http_client_curl is listed as explicit dependency in user's cmake file.
opentelemetry v1.2.0
v1.2.0 release
Release of core packages:
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp ( gRPC + HTTP/JSON )
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger ( thrift + UDP/HTTP )
Changelog
API
- Allow to use external abseil for bazel targets (#1172)
Exporters
- InMemorySpanExporter shutdown fix (#1161)
- Fix leak in Jaeger exporter (#1160)
- Importing gsl::span if std::span is not available (#1167)
- Synchronized calls to Exporter::Export & Shutdown (#1164)
- OTLP http exporter block thread (#1163)
Experimental features
- Logger: propagating resources through LoggerProvider (#1154)
- Logger: support for instrumentation library (#1149)
- Add log level for internal log of sdk (#1147)
- Metrics SDK: View API (#1110)
Notes on experimental features:
#1149 and #1154 from above list introduced API changes which are not backward compatible with previous logs, please update API package to this release if ENABLE_LOGS_PREVIEW
is turned on (it is turned off by default).
opentelemetry v1.1.1
v1.1.1 release
Release of core packages:
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp ( gRPC + HTTP/JSON )
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger ( thrift + UDP/HTTP )
Changelog
SDK
- Rename OTEL_CPP_GET_ATTR macro, and define it using fully qualified attr function (#1140)
- Default resource attributes and attributes in OTEL_RESOURCE_ATTRIBUTES are missing when using Otlp*LogExporter (#1082)
Exporters
- Add OTLP/gRPC Log Exporter (#1048)
- Add OTLP/HTTP Log Exporter (#1030)
- [EXPORTER] ZipkinExporter shutdown (#1153)
- [EXPORTER] Jaeger exporter shutdown (#1150)
- [EXPORTER] Bugfix: jaeger::TUDPTransport::write crash when getaddrinfo returns error (#1116)
- [EXPORTER] Bugfix: Jaeger exporter: extend supported attributes types (#1106)
- [EXPORTER] Fix otlp generates null span ids (#1113)
- [EXPORTER] Jaeger bazel (Linux only) (#1077)
Build
- Mark tags to bazel targets (#1075)
Docs
- Add note on DLL support (#1137)
- Improve the instructions for Bazel build (#1136)
- Document dependencies (#1119)
- Dockerfile for quick demo/troubleshooting purpose (#905)
Example
- OTLP gRPC log example (#1083)
Metrics
- Add Meter and MeterProvider in the SDK (#1078)
opentelemetry v1.1.0
v1.1.0 release
Release of core packages:
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp ( gRPC + HTTP/JSON )
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger ( thrift + UDP/HTTP )
Changelog
SDK
- Bugfix: regex is neither working on GCC 4.9.x (#1069)
- Improvement: span_id should not break strict aliasing. (#1068)
- OTLP gRPC log export should fail after shutdown (#1064)
- [SDK] fix: issue 368- consistent namespace scope resolution (#1008)
OTLP
- checkout opentelemetry-proto v0.11.0 (#1055)
OTLP Log Exporter (preview)
Prometheus Exporter
- Prometheus Exporter (#1031)
Build
- Build release tarball when nlohmann-json not installed (#1074)
- Build OTLP exporter from the release tarball (#1056)
Example
- OTLP HTTP log example (#1062)
Metrics
- Move old metrics implementation to different directory, and rename targets to _deprecated (#1053)
opentelemetry v1.0.1
v1.0.1 release
Release of core packages:
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp ( gRPC + HTTP/JSON )
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger ( thrift + UDP/HTTP )
Changelog
API
- 🚀 Adding new Logger:log() method (#1005)
SDK
- 🚀 Add schema_url support to both Resource and InstrumentationLibrary (#979)
ETW Exporter
OTLP Exporter
- Change OTLP/HTTP default port from 4317 to 4318 (#1018)
- 🐛 Remove scheme from OTLP endpoint before passing to gRPC (#988)
- 🚀 Support environment variables for both
OtlpGrpcExporter
andOtlpHttpExporter
(#983)
BUILD
opentelemetry v1.0.0
v1.0.0 release
Release of core packages:
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp ( gRPC + HTTP/JSON )
- opentelemetry-exporter-etw
- opentelemetry-exporter-zipkin
- opentelemetry-exporter-jaeger ( thrift + UDP/HTTP )
Changelog
API
- Document DefaultSpan, remove DefaultTracer (#959)
- Separate baggage<->Context api from Baggage Propagator (#963)
- Remove unused public API to_span_ptr (#964)
- 💥 Make span context management public (#967)
- Support determining parent span from Context while creating new Span (#969)
- 💥 Traces: Add note on experimental semantic convention implementation, prefix semantics headers with experimental tag (#970)
- Increment OPENTELEMETRY_ABI_VERSION_NO to 1 (#980)
SDK
- Clean up
GetEnvironmentVariable
and remove unused variable underNO_GETENV
(#976) - 💥 Resources: Add note on experimental semantic convention implementation, prefix semantics headers with experimental tag (#970)
OTLP Exporter
- 🐛 Ignore status description if status code is not Error (#962)
- 💥 Make Otlp exporter configuration environment variables specs-compliant (#974)
Zipkin Exporter
- 🐛 Don't set parentId in case parentId is empty (#943)
- 🚀 Extend zipkin exporter with ability to provide headers (#951)
DOCS
- 📖 Add getting-started documentation for SDK: (#942)
- 📖 Remove unnecessary spaces and spelling of gRPC in README (#965)
BUILD
- Disable bazel build for gcc 4.8, upgrade versions for grpc(v1.39.1) and bazel(4.2.0), document bazel support (#953)
- Move CMake config template to cmake folder (#958)
- Enable CMake to search the new package variable
<PackageName>_ROOT
(#975) - 🐛 Do not override CMAKE_CXX_STANDARD (#977)
🚧 Experiemental Features (Will change in future)
- Semantic Conventions for traces - As the specs is still experimental, the implementation will change in future.
- Semantic Convention for resource - As the specs is still experimental, the implementation will change in future.
- Logs and Metrics API & SDK - These are not compliant, and are behind feature flag. Not recommended to use for now.