Skip to content

Releases: open-telemetry/opentelemetry-dotnet

Instrumentation.AspNetCore-1.8.1

12 Apr 19:33
e222ecb

Choose a tag to compare

OpenTelemetry.Instrumentation.AspNetCore

  • Breaking Change: Fixed tracing instrumentation so that by default any
    values detected in the query string component of requests are replaced with
    the text Redacted when building the url.query tag. For example,
    ?key1=value1&key2=value2 becomes ?key1=Redacted&key2=Redacted. You can
    disable this redaction by setting the environment variable
    OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION to true.
    (#5532)

Instrumentation.Http-1.8.0

04 Apr 21:21
2c421a0

Choose a tag to compare

OpenTelemetry.Instrumentation.Http

  • Fixed an issue for spans when server.port attribute was not set with
    server.address when it has default values (80 for HTTP and
    443 for HTTPS protocol).
    (#5419)

  • Fixed an issue where the http.request.method_original attribute was not set
    on activity. Now, when http.request.method is set and the original method
    is converted to its canonical form (e.g., Get is converted to GET),
    the original value Get will be stored in http.request.method_original.
    The attribute is not set on .NET Framework for non canonical form of CONNECT,
    GET, HEAD, PUT, and POST. HTTP Client is converting these values
    to canonical form.
    (#5471)

Instrumentation.AspNetCore-1.8.0

04 Apr 21:21
2c421a0

Choose a tag to compare

OpenTelemetry.Instrumentation.AspNetCore

  • Fixed an issue for spans when server.port attribute was not set with
    server.address when it has default values (80 for HTTP and
    443 for HTTPS protocol).
    (#5419)

  • Fixed an issue where the http.request.method_original attribute was not set
    on activity. Now, when http.request.method is set and the original method
    is converted to its canonical form (e.g., Get is converted to GET),
    the original value Get will be stored in http.request.method_original.
    (#5471)

  • Fixed the name of spans that have http.request.method attribute set to _OTHER.
    The span name will be set as HTTP {http.route} as per the specification.
    (#5484)

Instrumentation.SqlClient-1.8.0-beta.1

04 Apr 21:22
2c421a0

Choose a tag to compare

Pre-release
1.8.0-beta.1 of SqlClient instrumentation library

Instrumentation.GrpcNetClient-1.8.0-beta.1

04 Apr 21:21
2c421a0

Choose a tag to compare

1.8.0-beta.1 of GrpcNetClient instrumentation library

core-1.8.0

02 Apr 18:02
fb74013

Choose a tag to compare

If you're interested in knowing all of the changes that went into 1.8.0 release, please go through the release notes of all the previous pre-release versions for 1.8.0:

Changes in 1.8.0:

OpenTelemetry.Exporter.Console

  • Added support for ActivitySource.Version property.
    (#5472)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • OtlpExporter will no longer throw an exception (even on .NET Core 3.1)
    when the System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport
    AppContext switch is NOT set AND using OtlpExportProtocol.Grpc
    to send to an insecure ("http") endpoint.
    System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport
    is not required to be set when using .NET 5 or newer.
    (#5486)

  • Replaced environment variable
    OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY with
    OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY. OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY
    when set to in_memory will enable automatic retries in case of transient
    failures during data export to an OTLP endpoint.
    (#5495)

core-1.8.0-rc.1

27 Mar 22:26
aac1a01

Choose a tag to compare

core-1.8.0-rc.1 Pre-release
Pre-release

OpenTelemetry

  • TracerProviders can now have a sampler configured via the
    OTEL_TRACES_SAMPLER environment variable. The supported values are:
    always_off, always_on, traceidratio, parentbased_always_on,
    parentbased_always_off, and parentbased_traceidratio. The options
    traceidratio and parentbased_traceidratio may have the sampler probability
    configured via the OTEL_TRACES_SAMPLER_ARG environment variable.
    For details see: OpenTelemetry Environment Variable
    Specification
    .
    (#5448)

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Fix serializing scope_info when buffer overflows
    (#5407)

  • Add target_info to Prometheus exporters when using OpenMetrics
    (#5407)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Fix serializing scope_info when buffer overflows
    (#5407)

  • Add target_info to Prometheus exporters when using OpenMetrics
    (#5407)

OpenTelemetry.Exporter.Zipkin

  • Zipkin tags used for Instrumentation Library changed from otel.library.name and
    otel.library.version to otel.scope.name and otel.scope.version respectively.
    Old versions of attributes are deprecated, but still exported
    for backward compatibility.
    (#5473)

core-1.8.0-beta.1

14 Mar 23:21
core-1.8.0-beta.1
59f829d

Choose a tag to compare

core-1.8.0-beta.1 Pre-release
Pre-release

OpenTelemetry

  • Throw NotSupportedException when using SetErrorStatusOnException method for Tracing in Mono Runtime and Native AOT environment because the dependent Marshal.GetExceptionPointers() API is not supported on these platforms. (#5374)

  • Fixed an issue where LogRecord.Attributes (or LogRecord.StateValues alias) could become out of sync with LogRecord.State if either is set directly via the public setters. This was done to further mitigate issues introduced in 1.5.0 causing attributes added using custom processor(s) to be missing after upgrading. For details see:(#5169)

  • Fixed an issue where SimpleExemplarReservoir was not resetting internal state for cumulative temporality. (#5230)

  • Fixed an issue causing LogRecords to be incorrectly reused when wrapping an instance of BatchLogRecordExportProcessor inside another
    BaseProcessor<LogRecord> which leads to missing or incorrect data during export. (#5255)

  • Experimental (pre-release builds only): Added support for setting CardinalityLimit (the maximum number of data points allowed for a metric) when configuring a view (applies to individual metrics) and obsoleted MeterProviderBuilderExtensions.SetMaxMetricPointsPerMetricStream (previously applied to all metrics). The default cardinality limit for metrics remains at 2000. (#5312, #5328)

  • Updated LogRecord to keep CategoryName and Logger in sync when using the experimental Log Bridge API. #5317

  • Added OpenTelemetryBuilderSdkExtensions class which contains extension methods (ConfigureResource, WithMetrics, WithTracing, and experimental WithLogging) for the IOpenTelemetryBuilder interface. (#5265)

  • Added Microsoft.Extensions.Diagnostics.Abstractions dependency so that the IOpenTelemetryBuilder.WithMetrics extension method can configure IMetricsListener. (#5265)

  • Experimental (pre-release builds only): The Exemplar.FilteredTags property now returns a ReadOnlyFilteredTagCollection instance and the Exemplar.LongValue property has been added. The MetricPoint.GetExemplars method has been replaced by MetricPoint.TryGetExemplars which outputs a ReadOnlyExemplarCollection instance. These are breaking changes for metrics exporters which support exemplars. (#5386)

  • Experimental (pre-release builds only): Added support for exemplars when using Base2 Exponential Bucket Histogram Aggregation configured via the View API. (#5396)

  • Experimental (pre-release builds only): Removed the ExemplarFilter, AlwaysOffExemplarFilter, AlwaysOnExemplarFilter, and TraceBasedExemplarFilter APIs. The MeterProviderBuilder.SetExemplarFilter extension method now accepts an ExemplarFilterType enumeration (which contains definitions for the supported filter types AlwaysOff, AlwaysOn, and TraceBased) instead of an ExemplarFilter instance. This was done in response to changes made to the OpenTelemetry Metrics SDK Specification. (#5404)

  • Experimental (pre-release builds only): The ExemplarFilter used by SDK MeterProviders can now be controlled via the OTEL_METRICS_EXEMPLAR_FILTER environment variable. The supported values are: always_off, always_on, and trace_based. For details see: OpenTelemetry Environment Variable Specification. (#5412)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added IOpenTelemetryBuilder interface to support authoring extensions which can configure multiple OpenTelemetry signals (tracing, metrics, and/or logs). (#5265)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Experimental (pre-release builds only): Added LoggerProviderBuilder.AddOtlpExporter registration extensions. #5103

  • Removed the OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES environment variable, following the stabilization of the exception attributes exception.type, exception.message, and exception.stacktrace in the OpenTelemetry Semantic Conventions. These attributes, corresponding to LogRecord.Exception, are now stable and will be automatically included in exports. (#5258)

  • Updated OtlpLogExporter to set body on the data model from LogRecord.Body if {OriginalFormat} attribute is NOT found and FormattedMessage is null. This is typically the case when using the
    experimental Logs Bridge API. (#5268)

  • Updated OtlpLogExporter to set instrumentation scope name on the data model from LogRecord.Logger.Name if LogRecord.CategoryName is null. This is typically the case when using the experimental Logs Bridge API. (#5300)

  • URL encoded values in OTEL_EXPORTER_OTLP_HEADERS are now correctly decoded as it is mandated by the specification. (#5316)

  • Experimental (pre-release builds only): Add support in OtlpMetricExporter for emitting exemplars supplied on Counters, Gauges, and
    ExponentialHistograms. (#5397)

  • Setting Endpoint or HttpClientFactory properties on OtlpExporterOptions to null will now result in an ArgumentNullException being thrown. (#5434)

  • Introduced experimental support for automatically retrying export to the otlp endpoint when transient network errors occur. Users can enable this feature by setting OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY environment variable to true. (#5435)

  • Added IOpenTelemetryBuilder.UseOtlpExporter extension to simplify setup of the OTLP Exporter when all three signals are used (logs, metrics, and traces). The new extension has the following behaviors:

    • Calling UseOtlpExporter will automatically enable logging, tracing, and metrics. Additional calls to WithLogging, WithMetrics, and WithTracing are NOT required however for metrics and tracing sources/meters still need to be enabled.

    • UseOtlpExporter can only be called once and cannot be used with the existing AddOtlpExporter extensions. Extra calls will result in NotSupportedExceptions being thrown.

    • UseOtlpExporter will register the OTLP Exporter at the end of the processor pipeline for logging and tracing.

    • The OTLP Exporters added for logging, tracing, and metrics can be configured using environment variables or IConfiguration.

    For details see: README > Enable OTLP Exporter for all signals.

    PR: #5400

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Added option to disable _total suffix addition to counter metrics (#5305)

  • Export OpenMetrics format from Prometheus exporters (#5107)

  • For requests with OpenMetrics format, scope info is automatically added (#5086 #5182)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Added option to disable _total suffix addition to counter metrics (#5305)

  • Export OpenMetrics format from Prometheus exporters (#5107)

  • For requests with OpenMetrics format, scope info is automatically added (#5086 #5182)

  • Breaking change Updated the PrometheusHttpListener to throw an exception if it can't be started. (#5304)

OpenTelemetry.Extensions.Hosting

Read more

1.7.1 / 1.7.0-beta.1 Instrumentation

10 Feb 02:01
Instrumentation.AspNetCore-1.7.1
303ab7a

Choose a tag to compare

1.7.1 (stable instrumentation)

OpenTelemetry.Instrumentation.AspNetCore

  • Fixed issue #4466 where the activity instance returned by Activity.Current was different than instance obtained from IHttpActivityFeature.Activity. (#5136)
  • Fixed an issue where the http.route attribute was not set on either the Activity or http.server.request.duration metric generated from a request when an exception handling middleware is invoked. One caveat is that this fix does not address the problem for the http.server.request.duration metric when running ASP.NET Core 8. ASP.NET Core 8 contains an equivalent fix which should ship in version 8.0.2 (see: dotnet/aspnetcore#52652). (#5135)
  • Fixes scenario when the net6.0 target of this library is loaded into a .NET 7+ process and the instrumentation does not behave as expected. This is an unusual scenario that does not affect users consuming this package normally. This fix is primarily to support the opentelemetry-dotnet-instrumentation project. (#5252)

OpenTelemetry.Instrumentation.Http

  • .NET Framework - fix description for http.client.request.duration metric. (#5234)

1.7.0-beta.1 (pre-release instrumentation)

OpenTelemetry.Instrumentation.SqlClient

  • Removed support for the OTEL_SEMCONV_STABILITY_OPT_IN environment variable which toggled the use of the new conventions for the server, client, and shared network attributes. Now that this suite of attributes are stable, this instrumentation will only emit the new attributes. (#5270)
  • Breaking Change: Renamed SqlClientInstrumentationOptions to SqlClientTraceInstrumentationOptions. (#5285)
  • Breaking Change: Stop emitting db.statement_type attribute. This attribute was never a part of the semantic conventions. (#5301)

OpenTelemetry.Instrumentation.GrpcNetClient

  • Breaking Change: Please be advised that the SuppressDownstreamInstrumentation option no longer works when used in conjunction with the OpenTelemetry.Instrumentation.Http package version 1.6.0 or greater. This is not a result of a change in the OpenTelemetry.Instrumentation.GrpcNetClient package therefore this also affects versions prior to this release. See this issue for details and workaround.
  • Removed support for the OTEL_SEMCONV_STABILITY_OPT_IN environment variable which toggled the use of the new conventions for the server, client, and shared network attributes. Now that this suite of attributes are stable, this instrumentation will only emit the new attributes. (#5259)
  • Breaking Change: Renamed GrpcClientInstrumentationOptions to GrpcClientTraceInstrumentationOptions. (#5272)

1.7.0 of AspNetCore and Http instrumentation libraries

14 Dec 02:25
Instrumentation.AspNetCore-1.7.0
1477c85

Choose a tag to compare

From a feature standpoint, 1.7.0 release of these two instrumentation libraries don't have any additional changes on top of the respective 1.6.0 version packages. The major difference in 1.7.0 is that it depends on 1.7.0 version of OpenTelemetry.Api.ProviderBuilderExtensions which brings in >=8.0.0 version of System.Diagnostics.DiagnosticSource.

If you're interested in knowing all of the changes that went into 1.6.0 release, please go through the Release notes of all the previous pre-release versions for 1.6.0 for these two packages.