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

# Changes since v0.4.1
857e80c27031b0e05246974a78769e7ea41fca23  Prepare for releasing v0.4.2 (#608)
c85f46389fc89e0c92a4b1a1e0174045ce955ddb fix pre_release.sh to update version in sdk/opentelemetry.go (#607)
1f6ffa9ed70337ef2d9ded18894acf894b868f83 Fix time conversion from internal to otlp (#606)

JavaScript

v0.6.1 Release

#### :rocket: (Enhancement)
* `opentelemetry-exporter-jaeger`
  * [#924](https://github.com/open-telemetry/opentelemetry-js/pull/924) [Jaeger-Exporter] host default env var ([@naseemkullah](https://github.com/naseemkullah))
* `opentelemetry-metrics`
  * [#933](https://github.com/open-telemetry/opentelemetry-js/pull/933) feat(meter): allow custom batcher #932 ([@vmarchaud](https://github.com/vmarchaud))

#### :bug: (Bug Fix)
* `opentelemetry-plugin-http`
  * [#946](https://github.com/open-telemetry/opentelemetry-js/pull/946) Remove bad null check ([@dyladan](https://github.com/dyladan))
* `opentelemetry-exporter-prometheus`, `opentelemetry-metrics`
  * [#941](https://github.com/open-telemetry/opentelemetry-js/pull/941) fix: do not clear other labelsets when updating metrics ([@dyladan](https://github.com/dyladan))

#### :books: (Refine Doc)
* `opentelemetry-propagator-jaeger`
  * [#937](https://github.com/open-telemetry/opentelemetry-js/pull/937) fix: Jaeger propagator example of usage" ([@shivkanya9146](https://github.com/shivkanya9146))

#### Committers: 4
- Daniel Dyla ([@dyladan](https://github.com/dyladan))
- Naseem ([@naseemkullah](https://github.com/naseemkullah))
- Valentin Marchaud ([@vmarchaud](https://github.com/vmarchaud))
- [@shivkanya9146](https://github.com/shivkanya9146)

Java

No release information available from GitHub.

Python

opentelemetry v0.6.0

Beta v6 release.

# Documentation

Documentation continues to see large improvements, including re-organizing the examples to make them more discoverable. 

READMEs and the getting started guide also have some corrections.

# opentelemetry-api

- Add support for lazy events and links (#474)
- Metrics API no longer uses LabelSet (#527)
- Adding is_remote flag to SpanContext, indicating when a span is remote (#516)
- Allow digit as first char in vendor specific trace state key (#511)

# opentelemetry-sdk

- Add support for lazy events and links (#474)
- Metrics API no longer uses LabelSet (#527)
- Adding is_remote flag to SpanContext, indicating when a span is remote (#516)
- Adding a solution to release metric handles and observers (#435)

# opentelemetry-ext-flask

- Add an entry_point to be usable in auto-instrumentation (#327)

# opentelemetry-ext-jaeger

- Exporting to collector now works (#508)

# opentelemetry-ext-grpc
- Add gRPC integration (#476)
- Initial release

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.