Skip to content

Releases: open-telemetry/opentelemetry-dotnet

1.5.1

26 Jun 23:15
core-1.5.1
8d61691
Compare
Choose a tag to compare

OpenTelemetry

  • Fixed a breaking change causing LogRecord.State to be null where it was previously set to a valid value when OpenTelemetryLoggerOptions.ParseStateValues is false and states implement IReadOnlyList or IEnumerable of KeyValuePair<string, object>s. (#4609)

  • Breaking Change Removed the support for parsing TState types passed to the ILogger.Log<TState> API when ParseStateValues is true and TState does not implement either IReadOnlyList<KeyValuePair<string, object>> or IEnumerable<KeyValuePair<string, object>>. This feature was first introduced in the 1.5.0 stable release with #4334 and has been removed because it makes the OpenTelemetry .NET SDK incompatible with native AOT. (#4614)

1.5.0 / 1.5.0-beta.1

06 Jun 00:40
core-1.5.0
494323b
Compare
Choose a tag to compare

OpenTelemetry

  • Fixed a bug introduced by
    #4508 in
    1.5.0-rc.1 which caused the "Build" extension to return null when performing
    chained/fluent calls.
    (#4529)

  • Marked Exemplars and related APIs internal as the spec for Exemplars is
    not stable yet. This would be added back in the 1.6.* prerelease versions
    right after 1.5.0 stable version is released.
    (#4533)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added an IServiceCollection.ConfigureOpenTelemetryMeterProvider overload
    which may be used to configure MeterProviderBuilders while the
    IServiceCollection is modifiable (before the IServiceProvider has been
    created).
    (#4517)

OpenTelemetry.Exporter.Console

  • Remove support for exporting Exemplars. This would be added back in the
    1.6.* prerelease versions right after 1.5.0 stable version is released.
    (#4533)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Remove support for exporting Exemplars. This would be added back in the
    1.6.* prerelease versions right after 1.5.0 stable version is released.
    (#4533)

OpenTelemetry.Instrumentation.AspNetCore

  • Fix issue where baggage gets cleared when the ASP.NET Core Activity
    is stopped. The instrumentation no longer clears baggage. One problem
    this caused was that it prevented Activity processors from accessing baggage
    during their OnEnd call.
    (#4274)

  • Added direct reference to System.Text.Encodings.Web with minimum version of
    4.7.2 due to CVE-2021-26701.
    This impacts target frameworks netstandard2.0 and netstandard2.1 which has a
    reference to Microsoft.AspNetCore.Http.Abstractions that depends on
    System.Text.Encodings.Web >= 4.5.0.
    (#4399)

  • Improve perf by avoiding boxing of common status codes values.
    (#4360,
    #4363)

OpenTelemetry.Instrumentation.Http

  • Fixed an issue of missing http.client.duration metric data in case of
    network failures (when response is not available).
    (#4098)

  • Improve perf by avoiding boxing of common status codes values.
    (#4361,
    #4363)

1.5.0-rc.1

25 May 23:49
core-1.5.0-rc.1
ba3a4fa
Compare
Choose a tag to compare
1.5.0-rc.1 Pre-release
Pre-release

OpenTelemetry

  • The default resource provided by ResourceBuilder.CreateDefault() now adds
    the telemetry.sdk.* attributes defined in the
    specification.
    (#4369)

  • Fixed an issue with HashCode computations throwing exceptions on .NET
    Standard 2.1 targets.
    (#4362)

  • Update value of the resource attribute telemetry.sdk.version to show the tag
    name which resembles the package version of the SDK.
    (#4375)

  • Obsoleted State and StateValues properties and added Body and
    Attributes properties on LogRecord. Note: LogRecord.Attributes and
    LogRecord.StateValues point to the same data. "Attributes" is what the
    OpenTelemetry Specification defines so this was changed for clarity &
    consistency with the specification.
    (#4334)

  • Tweaked the behavior of the OpenTelemetryLoggerOptions.ParseStateValues
    flag:

    • LogRecord.Attributes (aka LogRecord.StateValues) are now automatically
      included for all log messages with states implementing IReadOnlyList or
      IEnumerable.

    • OpenTelemetryLoggerOptions.ParseStateValues is now used to tell the SDK to
      parse (using reflection) attributes for custom states which do not implement
      IReadOnlyList or IEnumerable. Only top-level properties are included.

    • LogRecord.State will only be set to the raw state object if no attributes
      are found.

    See #4334
    for details.

  • If a template ({OriginalFormat} attribute) cannot be found on log messages a
    formatted message will now automatically be generated (even if
    OpenTelemetryLoggerOptions.IncludeFormattedMessage is set to false).
    (#4334)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Fixed a bug which prevented the
    TracerProviderBuilder.AddInstrumentation(IServiceProvider, TracerProvider)
    factory extension from being called during construction of the SDK
    TracerProvider.
    (#4468)

  • Added an IServiceCollection.ConfigureOpenTelemetryTracerProvider overload
    which may be used to configure TracerProviderBuilders while the
    IServiceCollection is modifiable (before the IServiceProvider has been
    created).
    (#4508)

OpenTelemetry.Exporter.Console

  • Add display of bucket boundaries when using exponential histograms.
    (#4507)

  • Added direct reference to System.Text.Encodings.Web with minimum version of
    4.7.2 in response to CVE-2021-26701.

  • Updated LogRecord console output: Body is now shown (if set),
    StateValues are now written as Attributes, and State is no longer
    processed.
    (#4334)

OpenTelemetry.Exporter.Jaeger

  • Added direct reference to System.Text.Encodings.Web with minimum version of
    4.7.2 in response to CVE-2021-26701.

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Revert version of Google.Protobuf to 3.19.4 (see
    #4201).
    This also reintroduces the System.Reflection.Emit.Lightweight dependency.
    (#4407)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

  • The OpenTelemetryLoggerOptions.AddOtlpExporter extension no longer
    automatically sets OpenTelemetryLoggerOptions.ParseStateValues to true.
    The OpenTelemetry SDK now automatically sets Attributes (aka StateValues)
    for the common cases where ParseStateValues was previously required.
    ParseStateValues can be set to true manually by users to enable parsing of
    custom states which do not implement IReadOnlyList / IEnumerable
    interfaces.
    (#4334)

  • Updated to use the new LogRecord.Attributes field as LogRecord.StateValues
    is now marked obsolete. There is no impact to transmitted data (StateValues
    and Attributes are equivalent).
    (#4334)

  • Fixed issue where the
    observed time
    field of the OTLP log record was not set. It is now correctly set to equal
    the
    time
    field.
    (#4444)

OpenTelemetry.Exporter.Zipkin

  • Added direct reference to System.Text.Encodings.Web with minimum version of
    4.7.2 in response to CVE-2021-26701.

1.5.0-alpha.2

31 Mar 23:34
core-1.5.0-alpha.2
7fcad19
Compare
Choose a tag to compare
1.5.0-alpha.2 Pre-release
Pre-release

OpenTelemetry

  • Enabling SetErrorStatusOnException on TracerProvider will now set the Status property on Activity to ActivityStatusCode.Error in case of an error. This will be done in addition to current behavior of setting otel.status_code tag on activity. (#4336)

  • Add support for configuring the Base2 Exponential Bucket Histogram Aggregation using the AddView API. This aggregation is supported by OTLP but not yet by Prometheus. (#4337)

  • Implementation of SuppressInstrumentationScope changed to improve performance. (#4304)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

  • Fixed issue where the MetricSnapshot of a histogram did not capture the min and max values. (#4306)

OpenTelemetry.Exporter.Jaeger

  • Enabled performance optimizations for .NET 6.0+ runtimes. (#4349)

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

1.5.0-alpha.1 of all core components

07 Mar 23:42
6c580b3
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Added Exemplar support. See exemplars for instructions to enable exemplars.

  • Added AddDetector factory overload on ResourceBuilder. (#4261)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Bumped the version of Google.Protobuf used by the project to 3.22.0 so
    that a new performance feature can be used instead of reflection. Removed the
    dependency on System.Reflection.Emit.Lightweight.
    (#4201)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

1.4.0 / 1.0.0-rc9.14

24 Feb 22:19
6f78784
Compare
Choose a tag to compare

1.4.0

This is the stable release encompassing work from 1.4.0-alpha.1 to 1.4.0-rc.4

OpenTelemetry

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • AddOtlpExporter extension methods will now always create a new options instance when named options are NOT used. (#4200)

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

  • Removed deprecated extensions: AddOpenTelemetryTracing, AddOpenTelemetryMetrics, Configure, & GetServices. (#4071)

OpenTelemetry.Extensions.Propagators

1.0.0-rc9.14

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.4 / 1.0.0-rc9.13

11 Feb 01:52
939b4c4
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Removed the dependency on System.Reflection.Emit.Lightweight (#4140)

  • Moved the AddOpenTelemetry extension into the OpenTelemetry.Extensions.Hosting package so that the StartWithHost API
    could be removed. (#4174)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added a direct dependency on System.Reflection.Emit.Lightweight which previously came transitively through the OpenTelemetry SDK. (#4140)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

  • Added AddOpenTelemetry extension from SDK and removed StartWithHost. AddOpenTelemetry now registers the IHostedService used to start collecting traces and/or metrics. (#4174)

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.3 / 1.0.0-rc9.12

02 Feb 02:53
31cf729
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Removed the dependency on Microsoft.Extensions.Configuration.EnvironmentVariables (#4092)

  • Removed the explicit reference to Microsoft.Extensions.Options version 5.0 and reverted back to the transitive reference of version 3.1 (#4093)

  • Added SetSampler, AddProcessor, & AddReader factory extensions. (#4103)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

  • Removed ConfigureBuilder from the public API. (#4103)

  • Renamed package from OpenTelemetry.Extensions.DependencyInjection to OpenTelemetry.Api.ProviderBuilderExtensions. (#4125)

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

  • Changed EnvironmentVariable parsing to not throw a FormatException and instead log a warning. (#4095)

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.2/1.0.0-rc9.11

09 Jan 22:39
69f215a
Compare
Choose a tag to compare
Pre-release

1.4.0-rc.2

OpenTelemetry

  • Performance Improvement: Update the internal structure used to store metric dimensions from a combination of string[] and object[] to a KeyValuePair<string, object>[]. This results in faster copying of the metric dimensions required for MetricPoint lookup on the hot path (#4059)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • For AddOtlpExporter extension methods, configuration delegates will be executed inline and not through Options API when named options are NOT used. (#4058)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.DependencyInjection

OpenTelemetry.Extensions.Hosting

  • If the OpenTelemetry SDK cannot start it will now throw exceptions and prevent the host from starting. (#4006)

1.0.0-rc9.11

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

core-1.3.2

20 Dec 23:28
78aa8ad
Compare
Choose a tag to compare
  • Support for metrics was originally released in version 1.3.0. A synchronization issue with regards to the histogram aggregation was discovered and fixed in #3534. This fix has been back-ported to OpenTelemetry .NET 1.3.2. If you are currently running OpenTelemetry .NET version 1.3.x, it is recommended that you upgrade to 1.3.2. (#4031)