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


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.


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.


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.


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


Test release

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


Release v0.2.0

# Changes since v0.1.2
d35ea75879d21c105df6f8a9dd4a600fef806c49 go module update for release v0.2.0 (#366)
f0eb35b918af9fc7559795b76566f34adfc93a0a exclude example dirs from coverage test/report. (#365)
eb9fe13a777b691cc1ecfd1a29bdbe6368fc0e9d Drop SetAttribute from Span (#361)
f25c84f35fef22447576198d9da0fed5ca532de3 Fix lint target (#360)
921ea03c0d11cdc69aa44403344e0eb50a96c6aa Drop GO111MODULE environment variable (#359)
e6d725626d4629220a2de0112570adf80d50be21 Simplify Makefile (#354)
77543cd80e50b6c276e1c540ea58b6f1ece3d7e8 Unary gRPC tracing example (#351)
fef504d469ed76bf310e31fd8299f536ef80fb00 Add Min() interface - rename MaxSumCount to MinMaxSumCount (#352)
5ec1f5c643f4e62a95715e95917b5b9a26f06635 Add example prometheus binary to gitignore (#358)
a99f87275966a21a7d7376aa0c1945d163580bd1 Span interface should only allow LinkedTo at creation. (#349)
3d78564d2ff2706b7af22be043f322d5154ed90c Prometheus exporter (#334)
1b08d827a4a47cc88e69ffb0f506d7e263f8181d Rename GetMeter() to Meter() (#357)
5f776dbaedb450120d9f7d47dd877adbb6762652 Remove "HTTP" from propagator names (#355)
13cd2ac41713c4a9d59f338d6a2da816450e21e8 move /global to /api/global (#356)
9a2484c373d7e3c25383545bc4514eb83cabf41a Implement support for NonAbsolute Measurement MaxSumCount (#335)
0f052af2f4caf534a4fd20d46aa0a911ce949c93 Rename GetTracer to Tracer (#347)
059ca3ef6f949aa888f2b8eba9d6a48aad1afe31 Removing pjanotti from owners (#342)
799a4180bd41258b93f8710e59380054ab3a7f20 Fix race conditions in push_test.go (#340)
b9706b20f9ecf28dbb567e375c069609059f3904 Dogstatsd metrics exporter (#326)
6b632815f831ed5ad941ca50146fa27b0aa36536 Use /usr/bin/env bash rather than /bin/bash (#336)
2c437c9efe00356727c7903d83dc241f43568e33 fix benchmark error, with always/never sample and add benchmark setAttribute vs setAttributes (#325)
dfae2acc6c5b0ee8f1267b212448981d84b9d9b6 Fix the defaultkeys metrics batcher (#333)


v0.3.0 Release

#### :rocket: (Enhancement)
* `opentelemetry-core`, `opentelemetry-node`, `opentelemetry-plugin-dns`, `opentelemetry-plugin-document-load`, `opentelemetry-plugin-grpc`, `opentelemetry-plugin-postgres`, `opentelemetry-plugin-redis`, `opentelemetry-tracing`, `opentelemetry-types`
  * [#569]( chore: allow parent span to be null
* `opentelemetry-plugin-document-load`
  * [#546]( chore: fixing issue when metric time is 0 in document-load plugin
  * [#469]( chore: fixing problem with load event and performance for loadend
* `opentelemetry-plugin-http`, `opentelemetry-plugin-https`
  * [#548]( fix(plugin-http): adapt to current @types/node
* Other
  * [#510]( chore(circleci): remove duplicate compile step
  * [#514]( ci: enumerate caching paths manually
  * [#470]( chore: remove examples from lerna packages
* `opentelemetry-core`, `opentelemetry-metrics`, `opentelemetry-types`
  * [#507]( feat: direct calling of metric instruments
  * [#517]( chore: update dependencies gts and codecov
  * [#497]( chore: bump typescript version to ^3.7.2
* `opentelemetry-metrics`
  * [#475]( add shutdown method on MetricExporter interface
* `opentelemetry-core`, `opentelemetry-plugin-document-load`, `opentelemetry-tracing`, `opentelemetry-web`
  * [#466]( chore: fixing coverage for karma using istanbul

#### :bug: (Bug Fix)
* `opentelemetry-exporter-jaeger`
  * [#609]( Jaeger no flush interval
* `opentelemetry-plugin-dns`
  * [#613]( fix(plugin-dns): remove from default plugin list
* `opentelemetry-plugin-http`
  * [#589]( fix(plugin-http): correct handling of WHATWG urls
  * [#580]( fix(plugin-http): http.url attribute
* `opentelemetry-shim-opentracing`
  * [#577]( fix: add missing `main` in package.json
* `opentelemetry-exporter-zipkin`
  * [#526]( fix: zipkin-exporter: don't export after shutdown
* `opentelemetry-plugin-grpc`
  * [#487]( fix(grpc): use correct supportedVersions
* `opentelemetry-core`
  * [#472]( fix(core): add missing semver dependency

#### :books: (Refine Doc)
* Other
  * [#574]( chore: add
  * [#575]( Add exporter guide
  * [#534]( feat: add redis plugin example
  * [#562]( chore(web-example): Added a README for the existing example
  * [#537]( examples(tracing): add multi exporter example
  * [#484]( chore: update README for new milestones
* `opentelemetry-plugin-mongodb-core`
  * [#564]( docs: add usage for mongodb-core plugin #543)
* `opentelemetry-metrics`
  * [#490]( chore: update metrics README
* `opentelemetry-plugin-redis`
  * [#551]( chore: fix minor typo
* `opentelemetry-exporter-prometheus`
  * [#521]( chore: update prometheus exporter readme with usage and links
* `opentelemetry-types`
  * [#512]( chore: minor name change
* `opentelemetry-plugin-postgres`
  * [#473]( chore(plugin): postgres-pool plugin skeleton

#### :sparkles: (Feature)
* `opentelemetry-core`, `opentelemetry-exporter-collector`
  * [#552]( Collector exporter
* `opentelemetry-node`, `opentelemetry-plugin-mysql`
  * [#525]( feat: mysql support
* `opentelemetry-plugin-redis`
  * [#503]( feat(plugin): implement redis plugin
* `opentelemetry-plugin-mongodb-core`
  * [#205]( feat: add mongodb plugin
* `opentelemetry-exporter-prometheus`
  * [#483]( feat: Add prometheus exporter
* `opentelemetry-metrics`
  * [#500]( feat: add ConsoleMetricExporter
  * [#468]( feat: validate metric names
* `opentelemetry-scope-zone-peer-dep`, `opentelemetry-scope-zone`, `opentelemetry-web`
  * [#461]( feat(scope-zone): new scope manager to support async operations in web
* `opentelemetry-core`, `opentelemetry-plugin-document-load`
  * [#477]( feat(traceparent): setting parent span from server
* `opentelemetry-core`, `opentelemetry-metrics`, `opentelemetry-types`
  * [#463]( feat: implement labelset
* `opentelemetry-metrics`, `opentelemetry-types`
  * [#437]( feat(metrics): add registerMetric and getMetrics


No release information available from GitHub.


opentelemetry v0.3.0

Alpha V3 release.

## `opentelemetry-api`

- Multiple tracing API changes
- Multiple metrics API changes
- Remove option to create unstarted spans from API ([#290](

## `opentelemetry-sdk`

- Multiple tracing SDK changes
- Multiple metrics SDK changes
- Add metrics exporters ([#192](
- Multiple bugfixes and improvements

## `opentelemetry-ext-flask`

- Initial release

## `opentelemetry-ext-opentracing-shim`

- Implement extract and inject support for HTTP_HEADERS and TEXT_MAP formats ([#256](

## `opentelemetry-ext-pymongo`

- Initial release

## `opentelemetry-ext-wsgi`

- Support new semantic conventions ([#299](
- Updates for core library changes


No release information available from GitHub.


No release information available from GitHub.


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


Alpha v0.2.0

Alpha v0.2 of OpenTelemetry Collector.

Docker image: omnition/opentelemetry-collector:v0.2.0 (we are working on getting this under an OpenTelemetry org)

Main changes visible to users since previous release:

* Rename from `service` to `collector`, the binary is now named `otelcol`

* Configuration reorganized and using strict mode

* Concurrency issues for pipelines transforming data addressed


0e505d5 Refactor config: pipelines now under service (#376)
402b80c Add Capabilities to Processor and use for Fanout cloning decision (#374)
b27d824 Use strict mode to read config (#375)
d769eb5 Fix concurrency handling when data is fanned out (#367)
dc6b290 Rename all github paths from opentelemtry-service to opentelemetry-collector (#371)
d038801 Rename otelsvc to otelcol (#365)
c264e0e Add Include/Exclude logic for Attributes Processor (#363)
8ce427a Pin a commit for Prometheus dependency in go.mod (#364)
2393774 Bump Jaeger version to 1.14.0 (latest) (#349)
63362d5 Update testbed modules (#360)
c0e2a27 Change dashes to underscores to separate words in config files (#357)
7609eaa Rename OpenTelemetry Service to Collector in docs and comments (#354)
bc5b299 Add common gRPC configuration settings (#340)
b38505c Remove network access popups on macos (#348)
f7727d1 Fixed loop variable pointer bug in jaeger translator (#341)
958beed Ensure that ConsumeMetricsData() is not passed empty metrics in the Prometheus receiver (#345)
0be295f Change log statement in Prometheus receiver from info to debug. (#344)
d205393 Add Owais to codeowners (#339)
8fa6afe Translate OC resource labels to Jaeger process tags (#325)