Project Status

OpenTelemetry implementations are currently in pre-release 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 is expected to include 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 includes support for distributed context using the W3C TraceContext specification.

0.3

This release 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 anticpated to include improvements to OpenTelemetry Context (such as handling baggage), various semantic conventions around trace and metric metadata, and a finalized OpenTelemetry protocol.

0.4

This release is expected to contain further improvements to the tracing and metrics API and SDK in response to feedback gathered during the prior alpha 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.

Beta, RC, and Release

We anticipate that once the alpha 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.

Current SIG Progress

Progress ChartProjectv0.1v0.2v0.3v0.4betarcv1.0.NETGoJavaScriptJavaPythonPHPRubyErlangCollectorClick a progress bar in the above chart to go to that SIGs repository.

Current SIG Release

.NET

Test release

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

Go

Release v0.2.2

# Changes since v0.2.1.1

8ebc7bbad01b1aa109ac802e1d5c4ec067045637 Name context functions consistently (#481)
a6b805894e429419da806aead81f792343f5fb09 Update tools (#492)
29cd0c08b70052860d9a6ce0510e102537ff7fa7 Fix a possible nil-dereference crash (#478)
6b97bb047a491ec0f7478b84081a80c96cc65ef6 Move correlation context propagation to correlation package (#479)
bfe569d699e9716cb1f73fd00af1b5b41f15ae50 exporter/metric/stdout: fix incorrect code format comments for InstallNewPipeline (#483)
bd74f317691d900aa3ea0b1d502d2dc18d49fb19 exporter/metric/dogstatsd: fix incorrect code format comments for InstallNewPipeline (#484)
f9a54847cc674c65ac9e003dacfbb8075be8cb86 exporter/metric/prometheus: fix incorrect code format comments for InstallNewPipeline (#482)
84d0a2afead368bad77ce061e0b312ab2e17b2b1 prometheus exporter initialize on error based on config (#486)
f99337fb8a1008c85d2ee0536900688276198b73 Do not always put remote span context into links (#480)
cf7a4d909cb2b03a31a4a40a9c425077cdddc5e2 Refactor propagators (#467)
c3974513aa3d2f0496eefaddf1a7e78d28f8bc40 exporter/metric/prometheus: fix wrong module in README.md (#475)
f0c70ffde0d20a92f7fd466759bdfcacc7f49c70 Add StartOptions to Tracer.WithSpan() (#472)
0f1771f3746b7738732a8989f94c167043a52fc7 Add @MrAlias as an approver (#471)
2584c3e7c4d4d7a0bb72886a436c809b2e9bd0a1 Call Gosched if load an unmapped record (#469)
69df67d4498cd2ca424569f25a03b450f13affef Refactor metric records logic (#468)
4818358f94dc034b0cb10cfd3dfff9a519595441 Move dependencies of tools package to a tools directory (#466)
cab6b28263e55166a58f7261b3acd23d28632ce3 Fix URL to opentelemetry.io (#464)
5d6654dab1ff7bc81b6d2475c9b0447cfccb4e17 Use latest version of golang 1.13 in CI (#465)
493e13f834d4f263e665ade0507aa6a6be49048d Update metric types to not use pointer receivers (#462)
942713a02da3dddde5d3c1fae56c09087b7bce5b Replace span relationship with a potentially remote parent context (#451)
574463c9ef9035e7fd443629da5df7de63193419 Allow dropping items from correlations + docs + cleanups (#454)
6051c8149381d24d8a872035b34b988b28b7832c Add AlwaysParentSample sampler (#455)
32489ddae950139dee44475993c299cf9cf3f440 make trace.TraceContext as default context propagator (#456)
8fcdf8be732d4000a12d635d486362bffd424d2c Send span.kind to jaeger and overwrite grpc metadata instead of using append (#441)
405a92ab3ed715c5aa0bf10c47e4b2d8e071861c Misc fixes from PR 381 (#443)
6b4acf47b8cd3b106cc29d3ad6cad764ebf880fb Reorganize propagation code (shrink PR 381) (#444)
437d9af9abd4a152a153020d63c609d6a65acd83 Reword some function documentation in grpc plugin (#446)
7200bb943ff3e27d22374bcc57d54e7c44a5b895 finish adding krnowak to approvers (#445)
027855962b760b13f4ff318f4943e75ad6923c93 Some makefile fixes (#442)
20bb650b2d1de5290c14b75e837ad0aaf3340dc3 Improve detail in stdout exporter (#436)
2c460f0d9797899a251d5e1e56d0f93654bdbfe2 Adds Histogram Aggregator (#433)
dcd0a1049316958692f95582098890cab7e4839d Rename the sdk/export/metric package name (#432)
3a32a19c9a3e477de494ae4a45faf984de0008a0 fix aggregator.go import package (#431)
2d5ba32f4fd53abfcfb3eee1d17bc55f249f124e Remove Tracer name prefix for Span names (#430)

JavaScript

v0.4.0 Release

#### :rocket: (Enhancement)
* `opentelemetry-api`
  * [#727](https://github.com/open-telemetry/opentelemetry-js/pull/727) Api separation (deprecate `opentelemetry-types`)
  * [#749](https://github.com/open-telemetry/opentelemetry-js/pull/749) chore: rename registry to provider


#### :sparkles: (Feature)
* `opentelemetry-plugin-http`
  * [#719](https://github.com/open-telemetry/opentelemetry-js/pull/719) feat(plugin-http): sync. specs for statuscode
* `opentelemetry-exporter-jaeger`
  * [#735](https://github.com/open-telemetry/opentelemetry-js/pull/735) feat: decode jaeger header 
* `opentelemetry-plugin-user-interaction`
  * [#658](https://github.com/open-telemetry/opentelemetry-js/pull/658) feat: plugin user interaction for web

#### :books: (Refine Doc)
  * [#689](https://github.com/open-telemetry/opentelemetry-js/pull/689) Add benchmark README and latest numbers 
  * [#733](https://github.com/open-telemetry/opentelemetry-js/pull/733) chore: add instruction for pg-pool plugin
  * [#665](https://github.com/open-telemetry/opentelemetry-js/pull/665) docs: add ioredis example
  * [#731](https://github.com/open-telemetry/opentelemetry-js/pull/731) Update Stackdriver exporter example

#### :bug: (Bug Fix)
* `opentelemetry-exporter-jaeger`
  * [#715](https://github.com/open-telemetry/opentelemetry-js/pull/715) fix: unref jaeger socket to prevent process running indefinitely
* `opentelemetry-plugin-ioredis`
  * [#671](https://github.com/open-telemetry/opentelemetry-js/pull/671) [ioredis plugin] fix: change supportedVersions to >1 <5 

Java

No release information available from GitHub.

Python

opentelemetry v0.4.0

Alpha v4 release.

## `opentelemetry-api`

- Separate Default classes from interface descriptions ([#311](https://github.com/open-telemetry/opentelemetry-python/pull/311))
- Added named Tracers ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301))
- Add int and valid sequenced to AttributeValue type ([#368](https://github.com/open-telemetry/opentelemetry-python/pull/368))
- Add ABC for Metric ([#391](https://github.com/open-telemetry/opentelemetry-python/pull/391))
- Metric classes required for export pipeline ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/341))
- Adding Context API Implementation ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395))
- Remove monotonic and absolute metric instruments ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410))
- Adding trace.get_tracer function ([#430](https://github.com/open-telemetry/opentelemetry-python/pull/430))

## `opentelemetry-sdk`

- Added named Tracers ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301))
- Set status for ended spans ([#297](https://github.com/open-telemetry/opentelemetry-python/pull/297) and [#358](https://github.com/open-telemetry/opentelemetry-python/pull/358))
- Use module loggers ([#351](https://github.com/open-telemetry/opentelemetry-python/pull/351))
- Protect start_time and end_time from being set manually by the user ([#363](https://github.com/open-telemetry/opentelemetry-python/pull/363))
- Add runtime validation for set_attribute ([#348](https://github.com/open-telemetry/opentelemetry-python/pull/348))
- Add support for B3 ParentSpanID ([#286](https://github.com/open-telemetry/opentelemetry-python/pull/286))
- Set status in start_as_current_span ([#377](https://github.com/open-telemetry/opentelemetry-python/pull/377))
- Implement force_flush for span processors ([#389](https://github.com/open-telemetry/opentelemetry-python/pull/389))
- Metrics export pipeline, and stdout exporter ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/389))
- Set sampled flag on sampling trace ([#407](https://github.com/open-telemetry/opentelemetry-python/pull/407))
- Add io and formatter options to console exporter ([#412](https://github.com/open-telemetry/opentelemetry-python/pull/412))
- Clean up ProbabilitySample for 64 bit trace IDs ([#238](https://github.com/open-telemetry/opentelemetry-python/pull/238))
- Adding Context API Implementation ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395))
- Remove monotonic and absolute metric instruments ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410))
- Implement MinMaxSumCount aggregator ([#422](https://github.com/open-telemetry/opentelemetry-python/pull/422))

## `opentelemetry-ext-dbapi`

- Initial release

## `opentelemetry-ext-flask`

- Use string keys for WSGI environ values ([#366](https://github.com/open-telemetry/opentelemetry-python/pull/366))

## `opentelemetry-ext-jaeger`

- Export span status ([#367](https://github.com/open-telemetry/opentelemetry-python/pull/367))
- Export span kind ([#387](https://github.com/open-telemetry/opentelemetry-python/pull/387))

## `opentelemetry-ext-mysql`

- Initial release

## `opentelemetry-ext-prometheus`

- Initial release

## `opentelemetry-ext-psycopg2`

- Initial release

## `opentelemetry-ext-pymongo`

- Updating network connection attribute names ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350))

## `opentelemetry-ext-wsgi`

- Updating network connection attribute names ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350))

## `opentelemetry-ext-zipkin`

- Initial release

PHP

No release information available from GitHub.

Ruby

No release information available from GitHub.

Erlang

OpenTelemetry API v0.2.0

* Tracer API behaviour
* Span API behaviour
* Context API behaviour
* Baggage and Correlations Context implemented on top of Context API
* Propagation API

Collector

Alpha v0.2.6

Alpha v0.2.6 of OpenTelemetry Collector.
- Update metrics prefix to `otelcol` and expose command line argument to modify the prefix value.
- Extend Span processor to have include/exclude span logic.
- Batch dropped span now emits zero when no spans are dropped.