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

  • 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)

<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.6.0-beta.1

OpenTelemetry

* Fixes [953](https://github.com/open-telemetry/opentelemetry-dotnet/issues/953)
* Changes arising from `DiagnosticSource` changes
  ([#1203](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1203))
* `PropertyFetcher` is now public
  ([#1232](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1232))
* `PropertyFetcher` changed to `PropertyFetcher<T>`
  ([#1238](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1238))

OpenTelemetry.Api

* Updated System.Diagnostics.DiagnosticSource to version 5.0.0-rc.1.20451.14
  ([#1265](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1265))
* Added `GetTagValue` extension method on `Activity` for retrieving tag values
  efficiently
  ([#1221](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1221))
* Added `EnumerateTagValues` extension method on `Activity` for enumerating tag
  values efficiently
  ([#1236](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1236))

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.Jaeger

* Removed `MaxFlushInterval` from `JaegerExporterOptions`. Batching is now
  handled  by `BatchExportActivityProcessor` exclusively.
  ([#1254](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1254))

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

* Renamed all extension methods from AddOpenTelemetryTracerProvider to AddOpenTelemetryTracing

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNetCore

* For gRPC invocations, the `grpc.method` and `grpc.status_code` attributes
  added by the library are removed from the span. The information from these
  attributes is contained in other attributes that follow the conventions of
  OpenTelemetry.
  ([#1260](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1260)).

OpenTelemetry.Instrumentation.GrpcNetClient

* The `grpc.method` and `grpc.status_code` attributes
  added by the library are removed from the span. The information from these
  attributes is contained in other attributes that follow the conventions of
  OpenTelemetry.
  ([#1260](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1260)).

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

Go

Release v0.12.0

### Added

- A `SpanConfigure` function in `go.opentelemetry.io/otel/api/trace` to create a new `SpanConfig` from `SpanOption`s. (#1108)
- In the `go.opentelemetry.io/otel/api/trace` package, `NewTracerConfig` was added to construct new `TracerConfig`s.
   This addition was made to conform with our project option conventions. (#1155)
- Instrumentation library information was added to the Zipkin exporter. (#1119)
- The `SpanProcessor` interface now has a `ForceFlush()` method. (#1166)
- More semantic conventions for k8s as resource attributes. (#1167)

### Changed

- Add reconnecting udp connection type to Jaeger exporter.
   This change adds a new optional implementation of the udp conn interface used to detect changes to an agent's host dns record.
   It then adopts the new destination address to ensure the exporter doesn't get stuck. This change was ported from jaegertracing/jaeger-client-go#520. (#1063)
- Replace `StartOption` and `EndOption` in `go.opentelemetry.io/otel/api/trace` with `SpanOption`.
   This change is matched by replacing the `StartConfig` and `EndConfig` with a unified `SpanConfig`. (#1108)
- Replace the `LinkedTo` span option in `go.opentelemetry.io/otel/api/trace` with `WithLinks`.
   This is be more consistent with our other option patterns, i.e. passing the item to be configured directly instead of its component parts, and provides a cleaner function signature. (#1108)
- The `go.opentelemetry.io/otel/api/trace` `TracerOption` was changed to an interface to conform to project option conventions. (#1109)
- Move the `B3` and `TraceContext` from within the `go.opentelemetry.io/otel/api/trace` package to their own `go.opentelemetry.io/otel/propagators` package.
    This removal of the propagators is reflective of the OpenTelemetry specification for these propagators as well as cleans up the `go.opentelemetry.io/otel/api/trace` API. (#1118)
- Rename Jaeger tags used for instrumentation library information to reflect changes in OpenTelemetry specification. (#1119)
- Rename `ProbabilitySampler` to `TraceIDRatioBased` and change semantics to ignore parent span sampling status. (#1115)
- Move `tools` package under `internal`. (#1141)
- Move `go.opentelemetry.io/otel/api/correlation` package to `go.opentelemetry.io/otel/api/baggage`. (#1142)
   The `correlation.CorrelationContext` propagator has been renamed `baggage.Baggage`.  Other exported functions and types are unchanged.
- Rename `ParentOrElse` sampler to `ParentBased` and allow setting samplers depending on parent span. (#1153)
- In the `go.opentelemetry.io/otel/api/trace` package, `SpanConfigure` was renamed to `NewSpanConfig`. (#1155)
- Change `dependabot.yml` to add a `Skip Changelog` label to dependabot-sourced PRs. (#1161)
- The [configuration style guide](https://github.com/open-telemetry/opentelemetry-go/blob/master/CONTRIBUTING.md#config) has been updated to
   recommend the use of `newConfig()` instead of `configure()`. (#1163)
- The `otlp.Config` type has been unexported and changed to `otlp.config`, along with its initializer. (#1163)
- Ensure exported interface types include parameter names and update the
   Style Guide to reflect this styling rule. (#1172)
- Don't consider unset environment variable for resource detection to be an error. (#1170)
- Rename `go.opentelemetry.io/otel/api/metric.ConfigureInstrument` to `NewInstrumentConfig` and
  `go.opentelemetry.io/otel/api/metric.ConfigureMeter` to `NewMeterConfig`.
- ValueObserver instruments use LastValue aggregator by default. (#1165)
- OTLP Metric exporter supports LastValue aggregation. (#1165)
- Move the `go.opentelemetry.io/otel/api/unit` package to `go.opentelemetry.io/otel/unit`. (#1185)
- Rename `Provider` to `MeterProvider` in the `go.opentelemetry.io/otel/api/metric` package. (#1190)
- Rename `NoopProvider` to `NoopMeterProvider` in the `go.opentelemetry.io/otel/api/metric` package. (#1190)
- Rename `NewProvider` to `NewMeterProvider` in the `go.opentelemetry.io/otel/api/metric/metrictest` package. (#1190)
- Rename `Provider` to `MeterProvider` in the `go.opentelemetry.io/otel/api/metric/registry` package. (#1190)
- Rename `NewProvider` to `NewMeterProvider` in the `go.opentelemetry.io/otel/api/metri/registryc` package. (#1190)
- Rename `Provider` to `TracerProvider` in the `go.opentelemetry.io/otel/api/trace` package. (#1190)
- Rename `NoopProvider` to `NoopTracerProvider` in the `go.opentelemetry.io/otel/api/trace` package. (#1190)
- Rename `Provider` to `TracerProvider` in the `go.opentelemetry.io/otel/api/trace/tracetest` package. (#1190)
- Rename `NewProvider` to `NewTracerProvider` in the `go.opentelemetry.io/otel/api/trace/tracetest` package. (#1190)
- Rename `WrapperProvider` to `WrapperTracerProvider` in the `go.opentelemetry.io/otel/bridge/opentracing` package. (#1190)
- Rename `NewWrapperProvider` to `NewWrapperTracerProvider` in the `go.opentelemetry.io/otel/bridge/opentracing` package. (#1190)
- Rename `Provider` method of the pull controller to `MeterProvider` in the `go.opentelemetry.io/otel/sdk/metric/controller/pull` package. (#1190)
- Rename `Provider` method of the push controller to `MeterProvider` in the `go.opentelemetry.io/otel/sdk/metric/controller/push` package. (#1190)
- Rename `ProviderOptions` to `TracerProviderConfig` in the `go.opentelemetry.io/otel/sdk/trace` package. (#1190)
- Rename `ProviderOption` to `TracerProviderOption` in the `go.opentelemetry.io/otel/sdk/trace` package. (#1190)
- Rename `Provider` to `TracerProvider` in the `go.opentelemetry.io/otel/sdk/trace` package. (#1190)
- Rename `NewProvider` to `NewTracerProvider` in the `go.opentelemetry.io/otel/sdk/trace` package. (#1190)
- Renamed `SamplingDecision` values to comply with OpenTelemetry specification change. (#1192)
- Renamed Zipkin attribute names from `ot.status_code & ot.status_description` to `otel.status_code & otel.status_description`. (#1201)
- The default SDK now invokes registered `SpanProcessor`s in the order they were registered with the `TracerProvider`. (#1195)

### Removed

- Remove the B3 propagator from `go.opentelemetry.io/otel/propagators`. It is now located in the
   `go.opentelemetry.io/contrib/propagators/` module. (#1191)
- Remove the semantic convention for HTTP status text, `HTTPStatusTextKey` from package `go.opentelemetry.io/otel/semconv`. (#1194)

### Fixed

- Zipkin example no longer mentions `ParentSampler`, corrected to `ParentBased`. (#1171)
- Fix missing shutdown processor in otel-collector example. (#1186)
- Fix missing shutdown processor in basic and namedtracer examples. (#1197)


Raw changes made between v0.11.0 and v0.12.0
======================================
0b348c345f51b19beaa2588e0cd6ffc3ae767772 (HEAD -> master, tag: v0.12.0, tag: sdk/v0.12.0, tag: exporters/trace/zipkin/v0.12.0, tag: exporters/trace/jaeger/v0.12.0, tag: exporters/stdout/v0.12.0, tag: exporters/otlp/v0.12.0, tag: exporters/metric/prometheus/v0.12.0, tag: exa
mple/zipkin/v0.12.0, tag: example/prometheus/v0.12.0, tag: example/otel-collector/v0.12.0, tag: example/namedtracer/v0.12.0, tag: example/jaeger/v0.12.0, tag: example/basic/v0.12.0, tag: bridge/opentracing/v0.12.0, origin/master, origin/HEAD) Prepare v0.12.0 release (#1205)
8c3cc4399245deab10a089024467467f450fe0d4 Use LastValue by default for ValueObserver instruments (#1165)
304d4cdffcbd655fb4473f77fb873d9d1da059b9 ensure batch span processors are shutdown in examples (#1199)
1e72b51b31c82e7bd8e908774ba876dd3b22ffb9 Add example test for a custom SpanProcessor (#1196)
b97533a74bd0c436d527d4630680b7f1891a18e6 Register/unregister in the fixed order (#1198)
559fecd73ede982801bad9f2e4f6fe4ac8d521a3 Update the attribute names for the OTel attributes for the zipkin exporter (#1201)
7d718676444c9c2f18f8355ae262b64744fed331 Rename *Provider names (#1190)
5dd296220226c92f50f5658a9fdc9744b750522c Remove semantic convention for http status text (#1194)
038f505d12a63d5121e07936981930e20efb0678 Remove B3 propagator from otel repo (#1191)
e7e1dce98299ea97dc90267606faa75c5689ca47 Update sampling decision names (#1192)
b9357d7ee2b37b475521db639f0c738f02ca8e57 Remove flaky BatchSpanProcessor.ForceFlush() test (#1189)
fa741472e77dc61e1fd2f36f57f508daccb4fc89 Bump google.golang.org/api from 0.31.0 to 0.32.0 in /exporters/trace/jaeger (#1188)
4b46365d1d6414c03bb3188c2cd6af267399d14b Move api/unit to top level (#1185)
930b4d01f6cf46eda3ebfca2c4313be6ed70bca7 Fix missing shutdown of the batch processor (#1186)
995be31f426a4c8a4248977e6e48772b8041443f Add ForceFlush() method to SpanProcessor interface (#1166)
a12224a454135a5d7ec17831b6b39cf9723c0cdb Ensure exported interfaces have named method parameters (#1172)
2621bd4847caafe395e1572d6f8267fdb59b28c5 Convert XConfigure into constructor for metrics (#1175)
3de7a0708922da1871351c91712afbc27628b82d Merge otel into one file and add package doc (#1176)
1f7c2206522accd0a176ed8d93183f1168d70939 Don't consider unset env var to be an error during resource detection (#1170)
77de1998cf5364262e06527157be49aba8d3e7a3 Minor change: ParentSampler -> ParentBased in Zipkin example description (#1171)
6f048eb8329be668683c98bb319eda7dbabaa7a5 Add more semantic conventions for k8s as resource attributes (#1167)
d91de437b2ecc2b464df8a0ec217c62080af9bd5 Recommend use of initializers for config structs (#1163)
c9726efd6075c1dccbafc5a17724f0299fd1998a Allow up to 0.5% coverage change before failing build (#1162)
0041e2d26efba124778a0f378c223cb53f6200b6 Rename ParentOrElse sampler to ParentBased and enhance it according to the spec (#1153)
34c02d1d249903a36e5627b1f47d4b49f118c482 Add Skip Changelog label to Dependabot-sourced PRs (#1161)
9f4525847fe215e3a42e0d52eea171a36445d3b1 Convert XConfigure into constructors (#1155)
a787f09536357d91c64f253e140d55a980115799 Update CONTRIBUTING.md to reflect PR process-as-applied (#1159)
36c323ffca1cd4a74d3c8c3d586a4b3ff555d436 Add the missing vanity import path directive (#1157)
7fac2795b63c227780fdff439d416f6aa65f6578 Rename package.go to doc.go for consistency (#1156)
4c5f8348c3738e5ab2cad0edbecd5763f05aa27d Document `make test` for testing (#1154)
06689a01bd0244c6ff40333d544d6fa682dfc5d2 Rename CorrelationContext to Baggage (#1142)
9a4981cc67543fca1fcbed775d21124435b4c905 Bump google.golang.org/grpc from 1.31.1 to 1.32.0 in /sdk (#1145)
422188a85f45411d2db8ab9eb7dcc4044736d502 Correct SDK trace Exporter interface (#1078)
da96fd0c5e3e22b7276dd86d7eea302fc806c146 Bump google.golang.org/grpc from 1.31.1 to 1.32.0 in /exporters/otlp (#1146)
a1b43b4b03cea19547a63db1b4c8da70ee83e176 Bump google.golang.org/grpc from 1.31.1 to 1.32.0 in /exporters/stdout (#1148)
932638697af311c91b7215357e85f1794242eec3 Bump google.golang.org/grpc from 1.31.1 to 1.32.0 in /exporters/trace/jaeger (#1151)
71a1b233b24c178b262ef5df936d24b851e08f8d Bump github.com/golangci/golangci-lint from 1.30.0 to 1.31.0 in /internal/tools (#1152)
e58e347f932dfe922cf68e0754a873e9408054ce Bump google.golang.org/grpc from 1.31.1 to 1.32.0 in /exporters/trace/zipkin (#1149)
dd3d4f2ae0911a96bf08b465e5678d93ac859bd5 Bump github.com/openzipkin/zipkin-go from 0.2.3 to 0.2.4 in /exporters/trace/zipkin (#1150)
2f0538ac372f4f2e6f111fc01325c68e8c64027e Bump google.golang.org/grpc in /example/otel-collector (#1147)
2e221fdf3e1539b68f79c4b1254c7ee1b4149692 Move tools package under internal (#1141)
1d2189088dbfe62fc65bfd481c547d33ba59c522 Add workflow to check for presence of CHANGELOG changes on PRs (#1067)
a2c75c6d783399049e2368ab6acef2d8dcdb3e77 Unexport NoopXXX trace types (#1134)
f1dad21e4724662778416d7e53d88d685d2a8db9 Move propagators out of API and into their own package (#1118)
bc1a59274f5934b883dd5cc7a504948adbb2e472 Add a test for jaeger udp client (#1137)
224629bd0ba38bd65f6abd347ddff878e7d7e4dc Bump google.golang.org/api from 0.30.0 to 0.31.0 in /exporters/trace/jaeger (#1124)
b0f978c307724aa33affa40681d355d79daa24fd Add receiver names to TraceContext methods (#1136)
9ad4824394292806361f9832886127ca4869dccf Added missing package document and canonical import paths (#1125)
74357106b0fd67b902a2f4de2a76a70d0749e625 Add missing argument names to the Span interface (#1135)
d143b8fbf809225ab2b07f6ed0486e9e1974d549 Unify API Span Start/End Options (#1108)
4d83d5b57190f433ca268ce8d78832c67f543189 Change name of ProbabilitySampler to TraceIdRatioBased (#1115)
f38e1902f998b4e9864df99c0af680e51e6cf85d Add InstrumentationLibrary info to Zipkin/Jaeger exporters (#1119)
440c4bd060deada9af58b0c1cba61cc2cdeac3d6 Stop `find` complaining due to missing directory starting point (#1116)
0fec28040dde5ac35d6ff0b742c394cf58d16536 Update trace API TracerOption (#1109)
a304e8280d3304f06af22bacdfad0def93ad85f3 Add reconnecting udp connection type to jaeger exporter (#1063)
e3abf31b0b925875bdac582fbc6caca22b3cc090 Make trace testhelpers public (#1111)
1ab708e4b844ceb6b5db5ebd4973e3d5f81ab634 Rename global SetTraceProvider and TraceProvider (#1102)
f36759aa477cf7865becb9890557fb865147fd80 Add @XSAM as project approver (#1110)
1c3626e636ea0b3dde7b75abb97b831842fbf545 #872 Make metric test helpers public (#1040)
5d9daf065402a297a0b8fb9bf5c5d4fe8a215844 Bump google.golang.org/grpc from 1.31.0 to 1.31.1 in /sdk (#1105)
06a0be789aa0a7c251835c4570d45cd4921a6528 Update README.md (#1106)
3b3c263d9a222e307f9fd27274c413d82b8b37a6 Update dependabot config (#1100)
737d81208b31988d177365871a19258b57c4896b Bump github.com/google/go-cmp from 0.5.1 to 0.5.2 (#1093)
170b6c6986be596a8c8ce1f133505d161b9624e7 Bump github.com/google/go-cmp from 0.5.1 to 0.5.2 in /exporters/otlp (#1095)
2351c8cf7dbf43e7d90a6d1e8fe4982d5c6a8069 Bump github.com/google/go-cmp from 0.5.1 to 0.5.2 in /exporters/trace/jaeger (#1097)
9ce71fe2e5b1451b1ed0bf48a66b222e7af653e1 Bump google.golang.org/grpc from 1.31.0 to 1.31.1 in /exporters/trace/zipkin (#1096)
b933f31a205c4f38d97e614d9d4f58a48551fac0 Bump google.golang.org/grpc from 1.31.0 to 1.31.1 in /exporters/trace/jaeger (#1098)
750848e993219f987ecdcbb921125f10194ce641 Bump google.golang.org/grpc from 1.31.0 to 1.31.1 in /exporters/stdout (#1099)

JavaScript

v0.11.0 Release

## 0.11.0

### :boom: Breaking Change

* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-node`, `opentelemetry-plugin-http`, `opentelemetry-plugin-https`, `opentelemetry-sdk-node`, `opentelemetry-tracing`, `opentelemetry-web`
  * [#1458](https://github.com/open-telemetry/opentelemetry-js/pull/1458) refactor: rename HttpText to TextMap propagator ([@dengliming](https://github.com/dengliming))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-metrics`
  * [#1446](https://github.com/open-telemetry/opentelemetry-js/pull/1446) Collector split ([@obecny](https://github.com/obecny))
* `opentelemetry-exporter-collector`, `opentelemetry-exporter-jaeger`, `opentelemetry-exporter-zipkin`, `opentelemetry-node`, `opentelemetry-resources`, `opentelemetry-web`
  * [#1419](https://github.com/open-telemetry/opentelemetry-js/pull/1419) chore!: refer to resource labels as attributes ([@mwear](https://github.com/mwear))

### :rocket: (Enhancement)

* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-shim-opentracing`, `opentelemetry-tracing`
  * [#1447](https://github.com/open-telemetry/opentelemetry-js/pull/1447) Move SpanContext isValid to the API ([@srjames90](https://github.com/srjames90))
* `opentelemetry-plugin-xml-http-request`
  * [#1476](https://github.com/open-telemetry/opentelemetry-js/pull/1476) Align xhr span name with spec ([@johnbley](https://github.com/johnbley))
* `opentelemetry-resource-detector-gcp`, `opentelemetry-sdk-node`
  * [#1469](https://github.com/open-telemetry/opentelemetry-js/pull/1469) chore: bump gcp-metadata ([@dyladan](https://github.com/dyladan))
* `opentelemetry-exporter-prometheus`
  * [#1310](https://github.com/open-telemetry/opentelemetry-js/pull/1310) feat: prometheus serializer ([@legendecas](https://github.com/legendecas))
  * [#1428](https://github.com/open-telemetry/opentelemetry-js/pull/1428) feat: Add missing prometheus exports for ValueRecorder, SumObserver & UpDownSumObserver ([@paulfairless](https://github.com/paulfairless))
* `opentelemetry-core`, `opentelemetry-tracing`
  * [#1344](https://github.com/open-telemetry/opentelemetry-js/pull/1344) feat: introduces ability to suppress tracing via context ([@michaelgoin](https://github.com/michaelgoin))
* `opentelemetry-api`, `opentelemetry-exporter-collector-proto`, `opentelemetry-plugin-http`, `opentelemetry-semantic-conventions`, `opentelemetry-tracing`
  * [#1372](https://github.com/open-telemetry/opentelemetry-js/pull/1372) feat: adding possibility of recording exception ([@obecny](https://github.com/obecny))
* `opentelemetry-api`, `opentelemetry-core`, `opentelemetry-exporter-collector-grpc`, `opentelemetry-exporter-collector-proto`, `opentelemetry-exporter-collector`, `opentelemetry-metrics`
  * [#1446](https://github.com/open-telemetry/opentelemetry-js/pull/1446) Collector split ([@obecny](https://github.com/obecny))
* `opentelemetry-metrics`
  * [#1366](https://github.com/open-telemetry/opentelemetry-js/pull/1366) fix: ignore non-number value on BaseBoundInstrument.update ([@legendecas](https://github.com/legendecas))
* `opentelemetry-node`
  * [#1440](https://github.com/open-telemetry/opentelemetry-js/pull/1440) fix: add Hapi and Koa to default supported plugins ([@carolinee21](https://github.com/carolinee21))
* `opentelemetry-resources`
  * [#1408](https://github.com/open-telemetry/opentelemetry-js/pull/1408) Feat: Migrate EC2 Plugin Resource Detector from IMDSv1 to IMDSv2 ([@EdZou](https://github.com/EdZou))
* `opentelemetry-core`
  * [#1349](https://github.com/open-telemetry/opentelemetry-js/pull/1349) feat: faster span and trace id generation ([@dyladan](https://github.com/dyladan))
* `opentelemetry-context-async-hooks`
  * [#1356](https://github.com/open-telemetry/opentelemetry-js/pull/1356) feat: use a symbol to store patched listeners ([@Flarna](https://github.com/Flarna))
* `opentelemetry-semantic-conventions`
  * [#1407](https://github.com/open-telemetry/opentelemetry-js/pull/1407) semantic conventions for operating system ([@obecny](https://github.com/obecny))
  * [#1409](https://github.com/open-telemetry/opentelemetry-js/pull/1409) removing semantic conventions from code coverage ([@obecny](https://github.com/obecny))
  * [#1388](https://github.com/open-telemetry/opentelemetry-js/pull/1388) chore: transpile semantic conventions to es5 ([@dyladan](https://github.com/dyladan))

### :bug: (Bug Fix)

* `opentelemetry-api`, `opentelemetry-metrics`
  * [#1373](https://github.com/open-telemetry/opentelemetry-js/pull/1373) fix: updates ValueRecorder to allow negative values ([@michaelgoin](https://github.com/michaelgoin))
* `opentelemetry-metrics`
  * [#1475](https://github.com/open-telemetry/opentelemetry-js/pull/1475) fix: proper histogram boundaries sort ([@AndrewGrachov](https://github.com/AndrewGrachov))
* `opentelemetry-core`
  * [#1336](https://github.com/open-telemetry/opentelemetry-js/pull/1336) fix: correlation context propagation extract for a single entry ([@rubenvp8510](https://github.com/rubenvp8510))
  * [#1406](https://github.com/open-telemetry/opentelemetry-js/pull/1406) Pass W3C Trace Context test suite at strictness 1 ([@michaelgoin](https://github.com/michaelgoin))
* `opentelemetry-context-base`
  * [#1387](https://github.com/open-telemetry/opentelemetry-js/pull/1387) fix: allow multiple instances of core to interact with context ([@dyladan](https://github.com/dyladan))

### :books: (Refine Doc)

* `opentelemetry-exporter-collector`
  * [#1432](https://github.com/open-telemetry/opentelemetry-js/pull/1432) docs(exporter-collector): CollectorTransportNode should be CollectorProtocolNode ([@Hongbo-Miao](https://github.com/Hongbo-Miao))
  * [#1361](https://github.com/open-telemetry/opentelemetry-js/pull/1361) chore: adding info about collector compatible version, removing duplicated doc after merge ([@obecny](https://github.com/obecny))
* `opentelemetry-metrics`
  * [#1427](https://github.com/open-telemetry/opentelemetry-js/pull/1427) chore: fix histogram type documentation ([@TigerHe7](https://github.com/TigerHe7))
* Other
  * [#1431](https://github.com/open-telemetry/opentelemetry-js/pull/1431) Fix typo in document. ([@dengliming](https://github.com/dengliming))

#### Committers: 21

* Andrew ([@AndrewGrachov](https://github.com/AndrewGrachov))
* 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 Konforti ([@confiq](https://github.com/confiq))
* John Bley ([@johnbley](https://github.com/johnbley))
* Jonah Rosenblum ([@jonahrosenblum](https://github.com/jonahrosenblum))
* Mark Wolff ([@markwolff](https://github.com/markwolff))
* Matthew Wear ([@mwear](https://github.com/mwear))
* Michael Goin ([@michaelgoin](https://github.com/michaelgoin))
* Paul Fairless ([@paulfairless](https://github.com/paulfairless))
* Reginald McDonald ([@reggiemcdonald](https://github.com/reggiemcdonald))
* Ruben Vargas Palma ([@rubenvp8510](https://github.com/rubenvp8510))
* Sergio Regueira ([@sergioregueira](https://github.com/sergioregueira))
* Tiger He ([@TigerHe7](https://github.com/TigerHe7))
* [@carolinee21](https://github.com/carolinee21)
* [@dengliming](https://github.com/dengliming)
* [@srjames90](https://github.com/srjames90)
* legendecas ([@legendecas](https://github.com/legendecas))

Java

Release Version 0.8.0

Changes from 0.7.0:

- Extensions:
    - Updated metrics generated by the runtime_metrics module to match the proposed semantic conventions.
- API:
    - BREAKING CHANGE: Renamed HttpTextFormat to TextMapPropagator
    - Added a toBuilder method to the Attributes class
    - Added method to create an Attributes Builder from ReadableAttributes
    - Updates to the Attributes' null-handling to conform to the specification
    - TraceState validations were updated to match the W3C specification
    - recordException Span API now has an additional overload to support additional attributes
- SDK:
    - BUGFIX: Bound instruments with no recordings no longer generate data points.
    - BREAKING CHANGE: The Exporter interfaces have changed to be async-friendly.
    - BREAKING CHANGE: The parent context passed to the Sampler will no longer be nullable, but instead an invalid context will be passed.
    - BREAKING CHANGE: The SpanProcessor now takes a ReadWriteSpan for the onStart method
    - BREAKING CHANGE: ResourceConstants changed to ResourceAttributes
    - BREAKING CHANGE: ParentOrElse Sampler changed to be called ParentBased
    - Default Resource include the SDK attributes
    - ResourceProvider SPI to enable custom Resource providers
    - The individual pieces of the SDK are not published as individual components, in addition to the whole SDK artifact.
    - Zipkin and Jaeger exporters now include the InstrumentationLibraryInfo attributes.
    - The OTLP protobufs were updated to version 0.5.0 and the OTLP exporters were updated accordingly.

- Many thanks for contributions from @anuraaga, @dengliming, @iNikem, @huntc, @jarebudev, @MitchellDumovic, @wtyanan, @williamhu99, @Oberon00, @thisthat, @malafeev, @mateuszrzeszutek, @kenfinnigan

Python

opentelemetry v0.13b0

The 0.13b0 version officially drops support for Python 3.4 ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))

# opentelemetry-api

πŸ’₯ Breaking Changes

- Refactor `SpanContext.is_valid` from a method to a data attribute ([#1005](https://github.com/open-telemetry/opentelemetry-python/pull/1005))
- Moved samplers from API to SDK ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023))
- Change is_recording_events to is_recording ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034))
- Remove lazy Event and Link API from Span interface ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045))
- Rename CorrelationContext to Baggage ([#1060](https://github.com/open-telemetry/opentelemetry-python/pull/1060))
- Rename HTTPTextFormat to TextMapPropagator. This change also updates `get_global_httptextformat` and `set_global_httptextformat` to `get_global_textmap` and `set_global_textmap` ([#1085](https://github.com/open-telemetry/opentelemetry-python/pull/1085))

πŸ› Bug Fixes

- Change return value type of `correlationcontext.get_correlations` to immutable `MappingProxyType` ([#1024](https://github.com/open-telemetry/opentelemetry-python/pull/1024))
- Fix api/sdk setup.cfg to include missing python files ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091))

# opentelemetry-sdk

πŸ’₯ Breaking Changes

- Moved samplers from API to SDK ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023))
- Sampling spec changes ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034))
- Remove lazy Event and Link API from Span interface ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045))
- Rename Resource labels to attributes ([#1082](https://github.com/open-telemetry/opentelemetry-python/pull/1082))
- Rename members of `trace.sampling.Decision` enum ([#1115](https://github.com/open-telemetry/opentelemetry-python/pull/1115))

πŸš€ Enhancements

- Improve BatchExportSpanProcessor ([#1062](https://github.com/open-telemetry/opentelemetry-python/pull/1062))
- Populate resource attributes as per semantic conventions ([#1053](https://github.com/open-telemetry/opentelemetry-python/pull/1053))

πŸ› Bug Fixes

- Fix api/sdk setup.cfg to include missing python files ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091))

# opentelemetry-exporter-jaeger

πŸš€ Enhancements

* Report instrumentation info ([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098))

# opentelemetry-exporter-otlp

πŸš€ Enhancements

- Add instrumentation info to exported spans ([#1095](https://github.com/open-telemetry/opentelemetry-python/pull/1095))
- Add metric OTLP exporter ([#835](https://github.com/open-telemetry/opentelemetry-python/pull/835))

# opentelemetry-exporter-zipkin

πŸš€ Enhancements

- Add support for OTEL_EXPORTER_ZIPKIN_ENDPOINT env var. As part of this change, the configuration of the ZipkinSpanExporter exposes a `url` argument to replace `host_name`, `port`, `protocol`, `endpoint`. This brings this implementation inline with other implementations. ([#1064](https://github.com/open-telemetry/opentelemetry-python/pull/1064))
- Zipkin exporter report instrumentation info. ([#1097](https://github.com/open-telemetry/opentelemetry-python/pull/1097))

# opentelemetry-instrumentation-aiohttp-client

πŸš€ Enhancements

- Updating span name to match semantic conventions ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972))

# opentelemetry-instrumentation-dbapi

πŸ› Bug Fixes

- cursors and connections now produce spans when used with context managers ([#1028](https://github.com/open-telemetry/opentelemetry-python/pull/1028))

# opentelemetry-instrumentation-falcon

πŸš€ Enhancements

* Initial release. Added instrumentation for Falcon 2.0+

# opentelemetry-instrumentation-tornado

πŸš€ Enhancements

*  Initial release. Supports Tornado 6.x on Python 3.5 and newer

PHP

No release information available from GitHub.

Ruby

opentelemetry-exporter-otlp 0.6.0

### v0.6.0 / 2020-09-10

* Initial release.

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

## v0.11.0 Beta

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

- Rename service.Start() to Run() since it's a blocking call
- Fix slice Append to accept by value the element in pdata
- Change CreateTraceProcessor and CreateMetricsProcessor to use the same parameter order as receivers/logs processor and exporters.
- Prevent accidental use of LogsToOtlp and LogsFromOtlp and the OTLP data structs (#1703)
- Remove SetType from configmodels, ensure all registered factories set the type in config (#1798)
- Move process telemetry to service/internal (#1794)

## πŸ’‘ Enhancements πŸ’‘

- Add map and array attribute value type support (#1656)
- Add authentication support to kafka (#1632)
- Implement InstrumentationLibrary translation to jaeger (#1645)
- Add public functions to export pdata to ExportXServicesRequest Protobuf bytes (#1741)
- Expose telemetry level in the configtelemetry (#1796)
- Add configauth package (#1807)
- Add config to docker image (#1792)

## 🧰 Bug fixes 🧰

- Use zap int argument for int values instead of conversion (#1779)
- Add support for gzip encoded payload in OTLP/HTTP receiver (#1581)
- Return proto status for OTLP receiver when failed (#1788)