Releases: open-telemetry/opentelemetry-cpp
OpenTelemetry C++ v1.6.1
v1.6.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
- Upgrade opentelemetry-proto to v0.19.0 by @lalitb in #1579
- Add error log when getting a http error code by @owent in #1581
- Fix ObservableInstrument::RemoveCallback by @ahadnagy in #1582
- Fix
LoggerContext::Shutdown
and tsan ofOtlpHttpClient
by @owent in #1592 - Fix header only api singletons (#1520) by @marcalff in #1604
- resource sdk: Update Resource::Merge function docs by @ricekot in #1615
- [gRPC]: Fix oob access of string_view in example by @Tradias in #1619
- Fixes span creation benchmark issue #1612. by @marcalff in #1622
Exporter
- ETW Exporter - Add support for Sampler and ID Generator by @lalitb in #1547
- ETW Exporter - Add Trace flags in SpanContext by @lalitb in #1618
Build
- codecov ignore paths by @esigo in #1609
- Fix build warnings by @marcalff in #1613
- Fix more build warnings (#1616) by @marcalff in #1620
Metrics
- Update metrics status to Release Candidate by @lalitb in #1570
- Metrics warnings by @esigo in #1583
- Fix 1585 - Multiple cumulative metric collections without measurement recording. by @lalitb in #1586
- Fix default value of
OtlpHttpMetricExporterOptions::aggregation_temporality
. by @owent in #1601 - Add Histogram tests for Synchronous Metric Storage. by @lalitb in #1597
- Add OTLP Metric Exporter Factory and
OtlpGrpcClient
by @owent in #1606 - Example for OTLP gRPC exporter for Metrics. by @lalitb in #1598
Sementic Convention
New Contributors
Full Changelog: v1.6.0...v1.6.1
Notes:
While OpenTelemetry semantic convention is still in experimental state, PR #1624 upgraded it from 1.12.0 to 1.13.0 which MAY break the instrumentation library. Please update the semantic convention in instrumentation library is needed.
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)