Project Status

OpenTelemetry implementations are currently in beta status. This page tracks the overall release milestones as we move towards full releases for each language SIG. You can find more details about the milestones at this link.

Summary

Our current goal is to provide a generally available, production quality release by the second half of 2020. Currently, we are in the alpha stage. What follows is a brief explanation of what we expect to be available, when.

0.2

This release included a functional tracing implementation. While the API may change, you should be able to use these releases to begin exploring and understanding the API and the SDK, and the changes that have been made from OpenTracing/OpenCensus. This release also included support for distributed context using the W3C TraceContext specification.

0.3 (first beta release)

v0.3 is expected to contain a functional metrics implementation. Again, you may see changes to the API and the SDK after this point, but it’s anticipated that these releases will allow you to explore and understand the changes that have been made from OpenCensus. In addition, this release is anticipated to include improvements to OpenTelemetry Context, various semantic conventions around trace and metric metadata, and a finalized OpenTelemetry protocol.

We are planning to take a wave of OpenTelemetry components to beta on or after March 16th 2020. These components include the Java, JavaScript, Python, Go, and .Net APIs and SDKs, along with the OpenTelemetry Collector, though more will be added if they’re able to meet their milestones in time.

We’ve set the following requirements for components to reach beta:

  • All spec version <= 0.3 features must be implemented. For APIs and SDKs this includes all 0.3 features for traces, metrics, context propagation, and resource metadata. For the Collector this includes the OpenTelemetry proto format
  • Smaller changes are already scheduled for the v0.4 and v0.5 versions of the spec, but they may be implemented during the beta. Presumably, beta feedback will create further changes
  • All APIs will attempt to be final, with the goal of not introducing any breaking changes between beta and GA RC. If breaking changes must be introduced between beta and GA RC, they will be small
  • Components must support the OpenTelemetry-native exporter. Components should support exporters for Jaeger, Prometheus, and Zipkin, though some of these might be added soon after the component enters beta. The Collector must also include receivers for these formats
  • APIs must include at least one HTTP and gRPC integration, though these are packaged separately. APIs should include at least one SQL integration, and can include a web framework integration (this is a stretch goal)

0.4 (additional beta release)

These releases are expected to contain further improvements to the tracing and metrics API and SDK in response to feedback gathered during the prior alpha and beta releases. Additionally, we expect that the OpenTelemetry protocol will be fully implemented and languages will include an exporter to the OpenTelemetry Collector. At this phase, we anticipate all APIs will be unlikely to change.

RC and GA

We anticipate that once the beta phase is complete, we’ll enter into a period of final stabilization work around the API, SDK, and other components. This includes benchmarking, profiling, interoperability testing suites, and other work to ensure that the final release is performant and of a high quality. This work is anticipated to complete by the second half of 2020.

Want to Contribute?

For detailed information on contributing, Austin Parker wrote a great article called, How to Start Contributing to OpenTelemetry.

Want to get started right away? Check out the OpenTelemetry GitHub repos, find an issue, and hack away!

You can always join the community on GitHub and the conversation on Gitter. Use OpenTelemetry’s public calendar to keep track of SIG meetings.

Current SIG Release

.NET

Test release

This is a test release to verify nuget package versioning with tags  

Go

Release v0.6.0

Change log since previous tag v0.5.0
======================================
b17a7845df336dddca3ef79c9bb082ed074492e5 Rename Register* to New* (#761)
d6446f0336a00be70f0dfcb1c49b2183e3e434d8 Add Prometheus resource support (#757)
51e57199b6906edc0b3c91bc01eea83d62ff1067 Use []float64 for histogram boundaries, not []metric.Number (#758)
7329ccc8231bb8412dfe0508c0918e1a17c61ec0 Change OTLP example to use syncer (#756)
84a21fe9d7279e7a1f822d436ddfdb7755853c75 Ensure gRPC ClientStream override methods do not panic (#755)
029c0ee71d5490bf58a3f2ab969b8dda1a59dc91 Replace sdktrace.WithResourceAttributes() with WithResource() (#754)
5461669733c8ddb5b4f90a462211af77fda99474 Add a pull controller, use it for Prometheus (#751)
15e8edd498c29b1e1398fd50adc1db2a82b4bb4a Add the UpDownSumObserver instrument (#750)
244ed23e44dcad96b7372bc3a5f0ec9076e3131b Rename ScheduleDelayMillis to BatchTimeout (#752)
19ee7b7a9791d50cd688aba0b3929c5744568ad5 OpenTelemetry Collector Demo (#711)
1fab21ddbf29b4aa9729db035bb49718b2a6364c Support use of synchronous instruments in async callbacks (#725)
c5f2252c4861ddcbc1bc56d4c53ce4c5e40e2d24 Add the SumObserver instrument (#747)
0a333cade1df1abb78217645944e44521c3cec3e Add the UpDownCounter instrument (#745)
055e9c54e163bc4aca3acc0d726e7a2ed512487b Disable parts of batch_span_processor test as flakes (#743)
9adedba21468b9f3402260ee210c29463dd1d2d3 Fix String in Infer (#746)
51ff97e534bd96aaf2c17d420f7dc1964bca9f05 Add timeout to push Controller (#742)
1e36a61edfd8596a69b5fc5ba8b37eff2ea3c9e4 Fix panic in gRPC UnaryServerInfo (#740)
21d094af438ee964cfffe677b1677c1e6062448e Refactor the api/metrics push controller; add CheckpointSet synchronization (#737)
69da3056f24170ccbfcd81031819fa36025e02a4 Move Resource into the metric export Record (#739)
5a534a0b00dc50380eac0aa6562e111446e46343 Rewrite processQueue for better batching (#719)
ee3c9ed1a5a662240050fcefc90c3e50b0331c46 Rename Observer to ValueObserver (#734)
76baa9cc7a46280f0bbc3721adc19556bda053fe Remove the push controller named Meter map (#738)
2dee67652aec812903a6db53945f5c8a54d6cc47 Histogram aggregator initial state (fix #735) (#736)
6bc14ffd2ccc1f3090c8a58f0eb9143245576f06 Replace Measure instrument by ValueRecorder instrument (#732)
0122b586b7759042ba1f8d8e0efe2319824ec311 Ensure golang alpine image is running golang-1.14 (#733)
a5565e8604d193015ae691b73af990e246d4d610 Add api/standards package to implement semantic conventions (#731)
47d71328a093e80873202a779df40a1c62a88736 Added test for grpc UnaryInterceptorClient (#695)
34c03ec9a94fa667fa7bb009da02a7dc2676b7ad Update correlation context header name (#727)
b76f1f11060f1e50492e3703e5b2b1bc71bb84c4 Remove krnowak from approvers (#726)
f1112a4fbbf3b3bd85bdd0f08de931f0ad1cb34e Rearrange api/metric code layout (#724)

JavaScript

v0.8.3 Release

#### :rocket: (Enhancement)
* `opentelemetry-node`
  * [#980](https://github.com/open-telemetry/opentelemetry-js/pull/980) feat: merge user supplied and default plugin configs ([@naseemkullah](https://github.com/naseemkullah))

#### :bug: (Bug Fix)
* `opentelemetry-context-async-hooks`
  * [#1099](https://github.com/open-telemetry/opentelemetry-js/pull/1099) fix(asynchooks-scope): fix context loss using .with() #1101 ([@vmarchaud](https://github.com/vmarchaud))

#### :books: (Refine Doc)
* Other
  * [#1100](https://github.com/open-telemetry/opentelemetry-js/pull/1100) docs(batcher): document how to configure custom aggregators #989 ([@vmarchaud](https://github.com/vmarchaud))
* `opentelemetry-api`
  * [#1106](https://github.com/open-telemetry/opentelemetry-js/pull/1106) chore: improve API documentation ([@mayurkale22](https://github.com/mayurkale22))

#### Committers: 7
- Bartlomiej Obecny ([@obecny](https://github.com/obecny))
- Daniel Dyla ([@dyladan](https://github.com/dyladan))
- Kanika Shah ([@kanikashah90](https://github.com/kanikashah90))
- Mayur Kale ([@mayurkale22](https://github.com/mayurkale22))
- Naseem ([@naseemkullah](https://github.com/naseemkullah))
- Valentin Marchaud ([@vmarchaud](https://github.com/vmarchaud))
- [@shivkanya9146](https://github.com/shivkanya9146)

Java

Release version 0.2.0

* First official release for OpenTelemetry Java.

Python

opentelemetry v0.8.0

Beta v8 release.

# docs
- Improvements to documentation, removed duplicated example (#658)

# opentelemetry-api
- Handle boolean, integer and float values in Configuration (#662)
- bugfix: ensure status is always string (#640)

# opentelemetry-sdk
- Validate span attribute types in SDK (#678)
- Specify to_json indent from arguments (#718)
- Span.resource will now default to an empty resource (#724)
- bugfix: Fix error message (#729)
- bugfix: deep copy empty attributes (#714)

# opentelemetry-auto-instrumentation
- Add a new bootstrap command that enables automatic instrument installations (#650)

# opentelemetry-ext-asgi
- Add ASGI middleware (#716)

# opentelemetry-ext-datadog
- Add exporter to Datadog (#572)

# opentelemetry-ext-django
- Add exclude list for paths and hosts to prevent from tracing (#670)
- Add support for django >=1.10 (#717) 

#  opentelemetry-ext-jaeger
- Transform resource to tags when exporting (#645)

#  opentelemetry-ext-otcollector - opentelemetry-ext-opencensusexporter
- Rename otcollector to opencensus (#695)

#  opentelemetry-ext-psycopg2
- Implement instrumentor interface, enabling auto-instrumentation (#694)

# opentelemetry-ext-sqlite3
- Initial release (#683)

# opentelemetry-ext-zipkin
- Transform resource to tags when exporting (#707) 

PHP

No release information available from GitHub.

Ruby

No release information available from GitHub.

Erlang

OpenTelemetry API v0.3.1

Collector

OpenTelemetry Collector v0.3.0 (Beta)

## Docker images:

* Core: `docker pull otel/opentelemetry-collector:0.3.0`
  * Supported open-source receivers and exporters
  * Supported processors and extensions
* [Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib): `docker pull otel/opentelemetry-collector-contrib:0.3.0`
  * Community open-source receivers and exporters including for commercial back-ends
  * Community processors and extensions

## Breaking changes

-  Make prometheus reciever config loading strict. #697 
Prometheus receiver will now fail fast if the config contains unused keys in it.

## Changes and fixes

- Enable best effort serve by default of Prometheus Exporter (https://github.com/orijtech/prometheus-go-metrics-exporter/pull/6)
- Fix null pointer exception in the logging exporter #743 
- Remove unnecessary condition to have at least one processor #744 

## Components

| Receivers / Exporters | Processors | Extensions |
|:---------------------:|:-----------:|:-----------:|
| Jaeger | Attributes | Health Check |
| OpenCensus | Batch | Performance Profiler |
| OpenTelemetry | Memory Limiter | zPages |
| Zipkin | Queued Retry | |
| | Resource | |
| | Sampling | |
| | Span | |


## Checksums

Checksums were generated with `shasum -a 256 bin/*` and are present in the checksums.txt file.