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 beta 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:

<1.0 (additional beta releases)

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 the end of these beta releases, 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

0.7.0-beta

OpenTelemetry

* Changed `ActivityExporter.OnShutdown`, `ActivityExporter.Shutdown`,
  `ActivityProcessor.OnShutdown` and `ActivityProcessor.Shutdown` to return
  boolean value
  ([#1282](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1282))
  ([#1285](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1285))
* Renamed `SamplingDecision` options (`NotRecord` to `Drop`, `Record` to
  `RecordOnly`, and `RecordAndSampled` to `RecordAndSample`)
  ([#1297](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1297))
* Added `ILogger`/`Microsoft.Extensions.Logging` integration
  ([#1308](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1308))
  ([#1315](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1315))
* Changed exporter and processor to generic types
  ([#1328](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1328)):
  * `ActivityExporter` changed to `BaseExporter<Activity>`
  * `ActivityProcessor` changed to `BaseProcessor<Activity>`
  * `BatchExportActivityProcessor` changed to `BatchExportProcessor<Activity>`
  * `ReentrantExportActivityProcessor` changed to
    `ReentrantExportProcessor<Activity>`
  * `SimpleExportActivityProcessor` changed to `SimpleExportProcessor<Activity>`

OpenTelemetry.Api

* `IActivityTagEnumerator` is now `IActivityEnumerator<T>`. Added
  `EnumerateLinks` extension method on `Activity` for retrieving links
  efficiently
  ([#1314](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1314))
* Added `EnumerateEvents` extension method on `Activity` for retrieving events
  efficiently
  ([#1319](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1319))
* Added `EnumerateTags` extension methods on `ActivityLink` & `ActivityEvent`
  for retrieving tags efficiently. Renamed `Activity.EnumerateTagValues` ->
  `Activity.EnumerateTags`.
  ([#1320](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1320))
* Updated System.Diagnostics.DiagnosticSource to version 5.0.0-rc.2.20475.5
  ([#1346](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1346))
* Updated Span Status as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

* Initial release
OpenTelemetry.Exporter.Jaeger

* Renamed `MaxPacketSize` -> `MaxPayloadSizeInBytes` on `JaegerExporterOptions`.
  Lowered the default value from 65,000 to 4096.
  ([#1247](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1274))

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

* Removed unused `TimeoutSeconds` and added `MaxPayloadSizeInBytes` on
  `ZipkinExporterOptions`. The default value for `MaxPayloadSizeInBytes` is
  4096.
  ([#1247](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1274))

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Instrumentation.AspNet

* Instrumentation no longer store raw objects like `HttpRequest` in
  Activity.CustomProperty. To enrich activity, use the Enrich action on the
  instrumentation.
  ([#1261](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1261))
* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Instrumentation.AspNetCore

* Instrumentation no longer store raw objects like `HttpRequest` in
  Activity.CustomProperty. To enrich activity, use the Enrich action on the
  instrumentation.
  ([#1261](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1261))
* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Instrumentation.GrpcNetClient

* Instrumentation no longer store raw objects like `HttpRequestMessage` in
  Activity.CustomProperty. To enrich activity, use the Enrich action on the
  instrumentation.
  ([#1261](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1261))
* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Instrumentation.Http

* Instrumentation no longer store raw objects like `HttpRequestMessage` in
  Activity.CustomProperty. To enrich activity, use the Enrich action on the
  instrumentation.
  ([#1261](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1261))
* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Instrumentation.SqlClient

* Instrumentation no longer store raw objects like `object` in
  Activity.CustomProperty. To enrich activity, use the Enrich action on the
  instrumentation.
  ([#1261](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1261))
* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Instrumentation.StackExchangeRedis

* Span Status is populated as per new spec
  ([#1313](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1313))

OpenTelemetry.Shims.OpenTracing

Go

Release v0.13.0

## [0.13.0] - 2020-10-08

### Added

- OTLP Metric exporter supports Histogram aggregation. (#1209)
- The `Code` struct from the `go.opentelemetry.io/otel/codes` package now supports JSON marshaling and unmarshaling as well as implements the `Stringer` interface. (#1214)
- A Baggage API to implement the OpenTelemetry specification. (#1217)

### Changed

- Set default propagator to no-op propagator. (#1184)
- The `HTTPSupplier`, `HTTPExtractor`, `HTTPInjector`, and `HTTPPropagator` from the `go.opentelemetry.io/otel/api/propagation` package were replaced with unified `TextMapCarrier` and `TextMapPropagator` in the `go.opentelemetry.io/otel` package. (#1212)
- The `New` function from the `go.opentelemetry.io/otel/api/propagation` package was replaced with `NewCompositeTextMapPropagator` in the `go.opentelemetry.io/otel` package. (#1212)
- The status codes of the `go.opentelemetry.io/otel/codes` package have been updated to match the latest OpenTelemetry specification.
   They now are `Unset`, `Error`, and `Ok`.
   They no longer track the gRPC codes. (#1214)
- The `StatusCode` field of the `SpanData` struct in the `go.opentelemetry.io/otel/sdk/export/trace` package now uses the codes package from this package instead of the gRPC project. (#1214)
- Move the `go.opentelemetry.io/otel/api/baggage` package into `go.opentelemetry.io/otel/propagators`. (#1217)

### Fixed

- Copies of data from arrays and slices passed to `go.opentelemetry.io/otel/label.ArrayValue()` are now used in the returned `Value` instead of using the mutable data itself. (#1226)

### Removed

- The `ExtractHTTP` and `InjectHTTP` functions from the `go.opentelemetry.io/otel/api/propagation` package were removed. (#1212)
- The `Propagators` interface from the `go.opentelemetry.io/otel/api/propagation` package was removed to conform to the OpenTelemetry specification.
   The explicit `TextMapPropagator` type can be used in its place as this is the `Propagator` type the specification defines. (#1212)
- The `SetAttribute` method of the `Span` from the `go.opentelemetry.io/otel/api/trace` package was removed given its redundancy with the `SetAttributes` method. (#1216)
- The internal implementation of Baggage storage is removed in favor of using the new Baggage API functionality. (#1217)
- Remove duplicate hostname key `HostHostNameKey` in Resource semantic conventions. (#1219)
- Nested array/slice support has been removed. (#1226)

Raw changes made between v0.12.0 and v0.13.0
======================================
9ebca887f06dd4a4093c26426e6f3b2f6610c7ca Pre release v0.13.0 (#1231)
5660b0b59f4c0fbb9e2879bb645b632b50f5f3bd Update label.ArrayValue to store copies of 1D arrays (#1226)
577b21745b6648fd04ae251ae8a03c5a00f5921b Update codes to match specification (#1214)
e9c80e62a4bb5a85af379d3378fdbf64ece9665f Bump github.com/openzipkin/zipkin-go from 0.2.4 to 0.2.5 in /exporters/trace/zipkin (#1224)
b0fd424c2056c548928b5d9d484db0d95ea74a7a Bump github.com/itchyny/gojq from 0.11.1 to 0.11.2 in /internal/tools (#1225)
5e6634059427be53d366d29070c8209e005bc7d4 Add Baggage API and move Baggage propagator (#1217)
de50711fcc13f7da5c42c71c1f7ad0fb5ff2e7ae feat(span): remove SetAttribute method (#1216)
6e184cd16f2251f377c081d5fa44ba768284adfa Update propagation to conform with OpenTelemetry specification (#1212)
dc79f7fe25712c4674dbc6c3a565d7c3925effda Remove duplicate hostname in Resource (#1219)
423c891359841f3362079fcb2493f74eae17131d Set default propagator to no-op propagator (#1204)
04297f4d043e1cce6dd8c3b159cc23405a167fa6 Enable exporting Histogram aggregation to OTLP metric (#1209)
a69f8fbe7a4618c736792683a2e364bfc0143d87 Add integration tests for span processor ordering (#1208)
3a9f5fe15f50a35ad8da5c5396a9ed3bbb82360c Test benchmarks in precommit (#1207)

JavaScript

v0.12.0 Release

## 0.12.0

### :boom: Breaking Change

* `opentelemetry-api`, `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-exporter-prometheus`, `opentelemetry-metrics`
  * [#1588](https://github.com/open-telemetry/opentelemetry-js/pull/1588) Update to Proto v0.5.0 ([@obecny](https://github.com/obecny))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-plugin-http`, `opentelemetry-plugin-https`, `opentelemetry-shim-opentracing`
  * [#1589](https://github.com/open-telemetry/opentelemetry-js/pull/1589) feat: simplify active span logic ([@mwear](https://github.com/mwear))
* `opentelemetry-resource-detector-aws`, `opentelemetry-resources`
  * [#1581](https://github.com/open-telemetry/opentelemetry-js/pull/1581) chore: remove duplicate hostname resource attribute ([@mwear](https://github.com/mwear))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-plugin-fetch`, `opentelemetry-plugin-xml-http-request`
  * [#1560](https://github.com/open-telemetry/opentelemetry-js/pull/1560) feat: b3 single header support ([@mwear](https://github.com/mwear))
* `opentelemetry-core`, `opentelemetry-tracing`
  * [#1562](https://github.com/open-telemetry/opentelemetry-js/pull/1562) feat(core): rename ProbabilitySampler to TraceIdRatioBasedSampler ([@legendecas](https://github.com/legendecas))
* `opentelemetry-exporter-prometheus`
  * [#1375](https://github.com/open-telemetry/opentelemetry-js/pull/1375) feat: make prometheus config preventServerStart optional ([@legendecas](https://github.com/legendecas))
* `opentelemetry-core`, `opentelemetry-exporter-prometheus`, `opentelemetry-metrics`, `opentelemetry-sdk-node`, `opentelemetry-tracing`
  * [#1522](https://github.com/open-telemetry/opentelemetry-js/pull/1522) Remove process listener ([@dyladan](https://github.com/dyladan))

### :rocket: (Enhancement)

* `opentelemetry-api`, `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-exporter-prometheus`, `opentelemetry-metrics`
  * [#1588](https://github.com/open-telemetry/opentelemetry-js/pull/1588) Update to Proto v0.5.0 ([@obecny](https://github.com/obecny))
* `opentelemetry-core`, `opentelemetry-tracing`
  * [#1577](https://github.com/open-telemetry/opentelemetry-js/pull/1577) feat: implement parent based sampler ([@dyladan](https://github.com/dyladan))
* `opentelemetry-instrumentation`
  * [#1572](https://github.com/open-telemetry/opentelemetry-js/pull/1572) feat: adding function for checking wrapped into instrumentation ([@obecny](https://github.com/obecny))
* `opentelemetry-core`
  * [#1579](https://github.com/open-telemetry/opentelemetry-js/pull/1579) fix: correlation-context header ([@Asafb26](https://github.com/Asafb26))
  * [#1503](https://github.com/open-telemetry/opentelemetry-js/pull/1503) feat: add deep-merge util ([@naseemkullah](https://github.com/naseemkullah))
* `opentelemetry-exporter-prometheus`
  * [#1570](https://github.com/open-telemetry/opentelemetry-js/pull/1570) fix: make prometheus histogram export  cumulative ([@AndrewGrachov](https://github.com/AndrewGrachov))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-exporter-jaeger`, `opentelemetry-exporter-prometheus`, `opentelemetry-exporter-zipkin`, `opentelemetry-metrics`, `opentelemetry-tracing`
  * [#1514](https://github.com/open-telemetry/opentelemetry-js/pull/1514) feat: add global error handler ([@mwear](https://github.com/mwear))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-node`, `opentelemetry-plugin-http`, `opentelemetry-plugin-https`, `opentelemetry-shim-opentracing`, `opentelemetry-tracing`
  * [#1527](https://github.com/open-telemetry/opentelemetry-js/pull/1527) feat(api): propagate spanContext only using API #1456 ([@vmarchaud](https://github.com/vmarchaud))
* `opentelemetry-node`, `opentelemetry-sdk-node`
  * [#1525](https://github.com/open-telemetry/opentelemetry-js/pull/1525) feat(node-tracer): use AsyncLocalStorageContextManager by default starting Node 14.8 #1511 ([@vmarchaud](https://github.com/vmarchaud))
* `opentelemetry-exporter-collector`, `opentelemetry-exporter-jaeger`, `opentelemetry-exporter-zipkin`, `opentelemetry-grpc-utils`, `opentelemetry-plugin-grpc-js`, `opentelemetry-plugin-grpc`, `opentelemetry-plugin-http`, `opentelemetry-plugin-https`
  * [#1548](https://github.com/open-telemetry/opentelemetry-js/pull/1548) chore(http): remove `x-opentelemetry-outgoing-request` header #1547 ([@vmarchaud](https://github.com/vmarchaud))
* Other
  * [#1553](https://github.com/open-telemetry/opentelemetry-js/pull/1553) docs: fix and update getting-started ([@svrnm](https://github.com/svrnm))
  * [#1550](https://github.com/open-telemetry/opentelemetry-js/pull/1550) EOL semantics by adding .gitattributes and changing tsconfig.json ([@MarkSeufert](https://github.com/MarkSeufert))
* `opentelemetry-api`, `opentelemetry-instrumentation`, `opentelemetry-node`
  * [#1540](https://github.com/open-telemetry/opentelemetry-js/pull/1540) Plugins refactoring - new instrumentation package for plugins ([@obecny](https://github.com/obecny))
* `opentelemetry-api`, `opentelemetry-tracing`
  * [#1555](https://github.com/open-telemetry/opentelemetry-js/pull/1555) chore: disallow null attribute values ([@dyladan](https://github.com/dyladan))
* `opentelemetry-resource-detector-aws`, `opentelemetry-resources`
  * [#1404](https://github.com/open-telemetry/opentelemetry-js/pull/1404) Feat: Added AWS ECS Plugins Resource Detector ([@EdZou](https://github.com/EdZou))
* `opentelemetry-node`
  * [#1543](https://github.com/open-telemetry/opentelemetry-js/pull/1543) feat: enable dns instrumentation by default ([@naseemkullah](https://github.com/naseemkullah))
  * [#1532](https://github.com/open-telemetry/opentelemetry-js/pull/1532) fix: decrease level of unsupported-version logs to warn ([@naseemkullah](https://github.com/naseemkullah))
* `opentelemetry-resources`, `opentelemetry-sdk-node`
  * [#1531](https://github.com/open-telemetry/opentelemetry-js/pull/1531) feat: process resource detector ([@mihirsoni](https://github.com/mihirsoni))
* `opentelemetry-api`, `opentelemetry-context-async-hooks`, `opentelemetry-context-base`, `opentelemetry-context-zone-peer-dep`, `opentelemetry-core`, `opentelemetry-shim-opentracing`, `opentelemetry-tracing`, `opentelemetry-web`
  * [#1515](https://github.com/open-telemetry/opentelemetry-js/pull/1515) chore: use interface for context types ([@dyladan](https://github.com/dyladan))
* `opentelemetry-exporter-zipkin`
  * [#1399](https://github.com/open-telemetry/opentelemetry-js/pull/1399) chore: refactoring zipkin to be able to use it in web ([@obecny](https://github.com/obecny))
* `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-exporter-jaeger`, `opentelemetry-exporter-prometheus`, `opentelemetry-exporter-zipkin`, `opentelemetry-metrics`, `opentelemetry-plugin-fetch`, `opentelemetry-plugin-xml-http-request`, `opentelemetry-tracing`
  * [#1439](https://github.com/open-telemetry/opentelemetry-js/pull/1439) unifying shutdown across code base ([@obecny](https://github.com/obecny))

### :bug: (Bug Fix)

* `opentelemetry-plugin-http`
  * [#1546](https://github.com/open-telemetry/opentelemetry-js/pull/1546) fix(http): do not set outgoing http span as active in the context #1479 ([@vmarchaud](https://github.com/vmarchaud))
* `opentelemetry-metrics`
  * [#1567](https://github.com/open-telemetry/opentelemetry-js/pull/1567) fix: histogram aggregator lastUpdateTime ([@AndrewGrachov](https://github.com/AndrewGrachov))
  * [#1470](https://github.com/open-telemetry/opentelemetry-js/pull/1470) IMPORTANT - Fixing collecting data from observers when using batch observer in first run ([@obecny](https://github.com/obecny))
* `opentelemetry-plugin-http`, `opentelemetry-plugin-https`
  * [#1551](https://github.com/open-telemetry/opentelemetry-js/pull/1551) fix: avoid circular require in plugins ([@dyladan](https://github.com/dyladan))
* `opentelemetry-context-async-hooks`
  * [#1530](https://github.com/open-telemetry/opentelemetry-js/pull/1530) fix: ignore TIMERWRAP in AsyncHooksContextManager ([@Flarna](https://github.com/Flarna))
* `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`
  * [#1539](https://github.com/open-telemetry/opentelemetry-js/pull/1539) fix: include missing proto files in npm distribution ([@blumamir](https://github.com/blumamir))

### :books: (Refine Doc)

* Other
  * [#1536](https://github.com/open-telemetry/opentelemetry-js/pull/1536) chore: variable names cleanup ([@DarkPurple141](https://github.com/DarkPurple141))
* `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`
  * [#1483](https://github.com/open-telemetry/opentelemetry-js/pull/1483) docs: change CollectorExporter to CollectorTraceExporter ([@Hongbo-Miao](https://github.com/Hongbo-Miao))

### :sparkles: (Feature)

* `opentelemetry-resource-detector-aws`, `opentelemetry-resources`
  * [#1404](https://github.com/open-telemetry/opentelemetry-js/pull/1404) Feat: Added AWS ECS Plugins Resource Detector ([@EdZou](https://github.com/EdZou))
* `opentelemetry-exporter-zipkin`
  * [#1399](https://github.com/open-telemetry/opentelemetry-js/pull/1399) chore: refactoring zipkin to be able to use it in web ([@obecny](https://github.com/obecny))

### Committers: 19

* Alex Hinds ([@DarkPurple141](https://github.com/DarkPurple141))
* Amir Blum ([@blumamir](https://github.com/blumamir))
* Andrew ([@AndrewGrachov](https://github.com/AndrewGrachov))
* Asaf Ben Aharon ([@Asafb26](https://github.com/Asafb26))
* Bartlomiej Obecny ([@obecny](https://github.com/obecny))
* Cong Zou ([@EdZou](https://github.com/EdZou))
* Daniel Dyla ([@dyladan](https://github.com/dyladan))
* Gerhard StΓΆbich ([@Flarna](https://github.com/Flarna))
* Hongbo Miao ([@Hongbo-Miao](https://github.com/Hongbo-Miao))
* Igor Morozov ([@morigs](https://github.com/morigs))
* Justin Walz ([@justinwalz](https://github.com/justinwalz))
* Mark ([@MarkSeufert](https://github.com/MarkSeufert))
* Matthew Wear ([@mwear](https://github.com/mwear))
* Mihir Soni ([@mihirsoni](https://github.com/mihirsoni))
* Naseem ([@naseemkullah](https://github.com/naseemkullah))
* Severin Neumann ([@svrnm](https://github.com/svrnm))
* Steve Flanders ([@flands](https://github.com/flands))
* Valentin Marchaud ([@vmarchaud](https://github.com/vmarchaud))
* legendecas ([@legendecas](https://github.com/legendecas))

Java

Version 0.9.1

Changes since 0.8.0:

API:
* BREAKING CHANGE: SpanId, TraceId and TraceFlags are no longer used as instances, but only contain helper methods for managing conversion between Strings, bytes and other formats. SpanId and TraceId are now natively String-typed, and the TraceFlags is a single byte.
* BREAKING CHANGE: Propagators now only expose a singleton instance.
* BREAKING CHANGE: The LabelConsumer and AttributeConsumer are now first-class interfaces, and the underlying consumer interface has had the key made additionally generic. Please prefer using the specific interfaces, rather than the underlying `ReadableKeyValuePairs.KeyValueConsumer`.
* BREAKING CHANGE: Minimum JDK version has been updated to 8, with Android API level 24.
* BREAKING CHANGE: Metric Instrument names are now case-insensitive.
* BREAKING CHANGE: The type-safety on Attributes has been moved to a new AttributeKey, and the AttributeValue wrappers have been removed. This impacts all the semantic attribute definitions, and the various APIs that use Attributes.
* BREAKING CHANGE: The obsolete HTTP_STATUS_TEXT semantic attribute has been removed.
* BREAKING CHANGE: The type of the REDIS_DATABASE_INDEX semantic attribute has been changed to be numeric.
* BREAKING CHANGE: Constant Labels have been removed from metric Instrument definitions.
* BREAKING CHANGE: The number of available Span Status options has been greatly reduced (from 16 to 3).
* BREAKING CHANGE: Constant labels have been removed from metric Instrument definitions.
* BREAKING CHANGE: The only way to specify span parenting is via a parent Context
* BREAKING CHANGE: The default TextMapPropagator is now a no-op in the API
* BREAKING CHANGE: CorrelationContext has been renamed to Baggage
* BREAKING CHANGE: Null-valued span attribute behavior has been changed to being "unspecified".
* BREAKING CHANGE: Link and Event interfaces have been removed from the API
* BREAKING CHANGE: The Status object has been removed from the API, in favor of StatusCanonicalCode
* BUGFIX: the `noParent` option on a Span was being ignored if it was set after setting an explicit parent.
* BUGFIX: Attributes and Labels now preserve the latest added entry when an existing key has been used.
* BUGFIX: Updated some of the W3C traceparent validation logic to better match the spec.
* FAAS semantic attributes have been added
* Semantic attribute for "exception.escaped" added
* 

SDK:
* BREAKING CHANGE: The names of the Sampler.Decision enum values, returned by the Sampler interface, have changed.
* `OpenTelemetrySdk.forceFlush()` now returns a CompletableResultCode
* BREAKING CHANGE: The `ProbabilitySampler` has been renamed to `TraceIdRatioBased`
* BREAKING CHANGE: The environment variables/system properties for specifying exporter and span processor configuration have been updated to match the specification.
* BREAKING CHANGE: Exported zipkin attributes have been changed to match the specification.
* BREAKING CHANGE: Metric Descriptor attributes have been flattened into the MetricData for export.
* BREAKING CHANGE: The OpenTelemetrySdk class now returns a TraceSdkManagement interface, rather than the concrete TracerSdkProvider.
* BUGFIX: Zipkin span durations are now rounded up to 1 microsecond, if less than 1.
* BUGFIX: The insecure option for OTLP export now does the correct thing. 
* Added a configuration option for disabling SPI-provided ResourceProviders
* New incubator module with helper classes for working with SpanData
* AWS resources now include the `cloud.provider` attribute.
*

Extensions:
* The auto-config extension has been moved to the instrumentation project.
* New incubator module with some utilities for mutating SpanData instances.
* The AWS Resource extension will now pull in EKS Resource attributes.
* New pre-release extension for handling logging natively.

Many thanks to all who made this release possible:
* @bogdandrutu @Oberon00 @jkwatson @thisthat @anuraaga @jarebudev @malafeev @quijote @JasonXZLiu @zoercai @eunice98k @dengliming @breedx-nr @iNikem @wangzlei @imavroukakis 

Python

opentelemetry v0.14b0

# opentelemetry-api

πŸ’₯ Breaking Changes

- Update baggage propagation header ([#1194](https://github.com/open-telemetry/opentelemetry-python/pull/1194))
- Parent is now always passed in via Context, intead of Span or SpanContext ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146))

πŸš€ Enhancements

- Add support for `OTEL_PROPAGATORS` ([#1123](https://github.com/open-telemetry/opentelemetry-python/pull/1123))
- Store `int`s as `int`s in the global Configuration object
  ([#1118](https://github.com/open-telemetry/opentelemetry-python/pull/1118))
- Make instances of SpanContext immutable ([#1134](https://github.com/open-telemetry/opentelemetry-python/pull/1134))
- Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider ([#1153](https://github.com/open-telemetry/opentelemetry-python/pull/1153))

# opentelemetry-sdk

πŸ’₯ Breaking Changes

- Update sampling result names ([#1128](https://github.com/open-telemetry/opentelemetry-python/pull/1128))
- Renaming metrics Batcher to Processor ([#1203](https://github.com/open-telemetry/opentelemetry-python/pull/1203))
- Parent is now always passed in via Context, intead of Span or SpanContext ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146))

πŸš€ Enhancements

- Add timestamps to aggregators ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199))
- Add Global Error Handler ([#1080](https://github.com/open-telemetry/opentelemetry-python/pull/1080))
- Add support for `OTEL_BSP_MAX_QUEUE_SIZE`, `OTEL_BSP_SCHEDULE_DELAY_MILLIS`, `OTEL_BSP_MAX_EXPORT_BATCH_SIZE` and `OTEL_BSP_EXPORT_TIMEOUT_MILLIS` environment variables ([#1105](https://github.com/open-telemetry/opentelemetry-python/pull/1120))
- Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider ([#1153](https://github.com/open-telemetry/opentelemetry-python/pull/1153))
- Event attributes are now immutable ([#1195](https://github.com/open-telemetry/opentelemetry-python/pull/1195))
- Protect access to Span implementation ([#1188](https://github.com/open-telemetry/opentelemetry-python/pull/1188))
- `start_as_current_span` and `use_span` can now optionally auto-record any exceptions raised inside the context manager. ([#1162](https://github.com/open-telemetry/opentelemetry-python/pull/1162))
- Adding Resource to MeterRecord ([#1209](https://github.com/open-telemetry/opentelemetry-python/pull/1209))


# opentelemetry-exporter-datadog

πŸš€ Enhancements

- Add support for span resource labels and service name ([#1074](https://github.com/open-telemetry/opentelemetry-python/pull/1074))

# opentelemetry-exporter-otlp

πŸ’₯ Breaking Changes

- Update OpenTelemetry protos to v0.5.0 ([#1143](https://github.com/open-telemetry/opentelemetry-python/pull/1143))

πŸš€ Enhancements

- Add support for span resource labels and service name ([#1074](https://github.com/open-telemetry/opentelemetry-python/pull/1074))
- Add timestamps to OTLP exporter ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199))

# opentelemetry-exporter-zipkin

πŸš€ Enhancements

- Add support for span resource labels and service name ([#1074](https://github.com/open-telemetry/opentelemetry-python/pull/1074))
- Zipkin exporter now accepts a ``max_tag_value_length`` attribute to customize the maximum allowed size a tag value can have. ([#1151](https://github.com/open-telemetry/opentelemetry-python/pull/1151)) 

# opentelemetry-instrumentation-celery

πŸš€ Enhancements

- Span operation names now include the task type. ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135))
- Added automatic context propagation. ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135))

# opentelemetry-instrumentation-django

πŸš€ Enhancements

- Changed span name extraction from request to comply semantic convention ([#992](https://github.com/open-telemetry/opentelemetry-python/pull/992)) 
- Added support for `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS` ([#1154](https://github.com/open-telemetry/opentelemetry-python/pull/1154))

# opentelemetry-instrumentation-falcon

πŸš€ Enhancements

- Added support for `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS` ([#1158](https://github.com/open-telemetry/opentelemetry-python/pull/1158))

# opentelemetry-instrumentation-pymysql

πŸš€ Enhancements

- Bumped version from 0.9.3 to 0.10.1 ([#1228](https://github.com/open-telemetry/opentelemetry-python/pull/1228))

# opentelemetry-instrumentation-system-metrics

πŸ› Bug Fixes

- Fix issue when specific metrics are not available in certain OS ([#1207](https://github.com/open-telemetry/opentelemetry-python/pull/1207))

# opentelemetry-instrumentation-tornado

πŸš€ Enhancements

- Added support for `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS` ([#1178](https://github.com/open-telemetry/opentelemetry-python/pull/1178))

# opentelemetry-instrumentation

πŸš€ Enhancements

- Add support for http metrics ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116))

πŸ› Bug Fixes

- Fixed boostrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask ([#1138](https://github.com/open-telemetry/opentelemetry-python/pull/1138))

PHP

No release information available from GitHub.

Ruby

opentelemetry-instrumentation-sinatra 0.7.1

### v0.7.1 / 2020-10-08

* FIXED: Set span name to sinatra.route

Erlang

OpenTelemetry API v0.3.2

* `create_span` has been renamed `start_inactive_span` (#53)
* Fix `add_event` Elixir function (#56)
* Add accessors to deconstruct Span (#54)
* Attributes and events that aren't a list are now silently dropped (#51)
* Fix bug where there is no current span ctx and update_name is called (#52)
* Readme, typespec and doc fixes #45 #46 #50 #59 

Collector

Release version 0.13.0

# v0.13.0 Beta

## πŸ›‘ Breaking changes πŸ›‘

- Host metric `system.disk.time` renamed to `system.disk.operation_time` (#1887)
- Use consumer for sender interface, remove unnecessary receiver address from Runner (#1941)
- Enable sending queue by default in all exporters configured to use it (#1924)
- Removed `groupbytraceprocessor` (#1891)
- Remove ability to configure collection interval per scraper (#1947)

## πŸ’‘ Enhancements πŸ’‘

- Host Metrics receiver now reports both `system.disk.io_time` and `system.disk.operation_time` (#1887)
- Match spans against the instrumentation library and resource attributes (#928)
- Add `receiverhelper` for creating flexible "scraper" metrics receiver (#1886, #1890, #1945, #1946)
- Migrate `tailsampling` processor to new OTLP-based internal data model and add Composite Sampler (#1894)
- Metadata Generator: Change Metrics fields to implement an interface with new methods (#1912)
- Add unmarshalling for `pdata.Traces` (#1948)
- Add debug-level message on error for `jaeger` exporter (#1964)

## 🧰 Bug fixes 🧰

- Fix bug where the service does not correctly start/stop the log exporters (#1943)
- Fix Queued Retry Unusable without Batch Processor (#1813) - (#1930)
- `prometheus` receiver: Log error message when `process_start_time_seconds` gauge is missing (#1921)
- Fix trace jaeger conversion to internal traces zero time bug (#1957)
- Fix panic in otlp traces to zipkin (#1963)
- Fix OTLP/HTTP receiver's path to be /v1/traces (#1979)