Skip to content

Releases: open-telemetry/opentelemetry-dotnet

1.4.0-beta.1 / 1.0.0-rc9.7

30 Sep 19:51
897abe3
Compare
Choose a tag to compare
Pre-release

1.4.0-beta.1

OpenTelemetry

  • Use binary search for histograms with 50 or more supplied boundaries.
    (#3252)

  • Allows samplers the ability to modify tracestate if desired.
    (#3610)

  • Added support for UpDownCounter and ObservableUpDownCounter instruments.
    (#3606)

  • Added support for dependency injection scenarios when configuring
    MeterProvider
    (#3646)

  • Revert new logging APIs pending OTel specification changes
    (#3702)

OpenTelemetry.Api

  • Updated to System.Diagnostics.DiagnosticSource version 7.0.0-rc.1.22426.10.
    (#3698)

OpenTelemetry.Exporter.Console

  • Changed the behavior of ConsoleExporter, the exporter will stop outputting
    the data if it is disposed.
    (#3578)

  • Added overloads which accept a name to the MeterProviderBuilder
    AddConsoleExporter extension to allow for more fine-grained options
    management
    (#3648)

  • Added overloads which accept a name to the TracerProviderBuilder
    AddConsoleExporter extension to allow for more fine-grained options
    management
    (#3657)

OpenTelemetry.Exporter.InMemory

  • Changed error handling, InMemoryExporter will now throw
    ObjectDisposedException if Export is invoked after the exporter is
    disposed.
    (#3607)

  • Added overloads which accept a name to the MeterProviderBuilder
    AddInMemoryExporter extension to allow for more fine-grained options
    management
    (#3648)

OpenTelemetry.Exporter.Jaeger

  • Added overloads which accept a name to the TracerProviderBuilder
    AddJaegerExporter extension to allow for more fine-grained options
    management
    (#3656)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added overloads which accept a name to the MeterProviderBuilder
    AddOtlpExporter extension to allow for more fine-grained options management
    (#3648)

  • Added overloads which accept a name to the TracerProviderBuilder
    AddOtlpExporter extension to allow for more fine-grained options management
    (#3653)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

  • OtlpExporterOptions can now be bound to IConfiguation and
    HttpClientFactory may be used to manage the HttpClient instance used when
    HttpProtobuf is configured
    (#3640)

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Bug fix for Prometheus Exporter reporting StatusCode 204
    instead of 200, when no metrics are collected
    (#3643)
  • Added overloads which accept a name to the MeterProviderBuilder
    AddPrometheusExporter extension to allow for more fine-grained options
    management
    (#3648)
  • Added support for OpenMetrics UNIT metadata
    (#3651)
  • Added "# EOF\n" ending following the OpenMetrics
    specification

    (#3654)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Bug fix for Prometheus Exporter reporting StatusCode 204
    instead of 200, when no metrics are collected
    (#3643)
  • Added overloads which accept a name to the MeterProviderBuilder
    AddPrometheusHttpListener extension to allow for more fine-grained options
    management
    (#3648)
  • Added support for OpenMetrics UNIT metadata
    (#3651)
  • Added "# EOF\n" ending following the OpenMetrics
    specification

    (#3654)

OpenTelemetry.Exporter.Zipkin

  • Added overloads which accept a name to the TracerProviderBuilder
    AddZipkinExporter extension to allow for more fine-grained options
    management
    (#3655)

OpenTelemetry.Extensions.Propagators

1.0.0-rc9.7

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

  • Dependency injection support when configuring
    TracerProvider has been moved into the SDK.
    (#3533)

  • Dependency injection support when configuring
    MeterProvider has been moved into the SDK.
    (#3646)

OpenTelemetry.Instrumentation.AspNetCore

  • Performance improvement (Reduced memory allocation) - Updated DiagnosticSource
    event subscription to specific set of events.
    (#3519)

  • Added overloads which accept a name to the TracerProviderBuilder
    AddAspNetCoreInstrumentation extension to allow for more fine-grained
    options management
    (#3661)

  • Fix issue where when an application has an ExceptionFilter, the exception data
    wouldn't be collected.
    (#3475)

OpenTelemetry.Instrumentation.GrpcNetClient

  • Added overloads which accept a name to the TracerProviderBuilder
    AddGrpcClientInstrumentation extension to allow for more fine-grained
    options management
    (#3665)

OpenTelemetry.Instrumentation.Http

  • Dropped netstandard2.0 target and added net6.0. .NET 5 reached EOL
    in May 2022 and .NET Core 3.1 reaches EOL in December 2022. End of support
    dates for .NET are published
    here.
    The instrumentation for HttpClient now requires .NET 6 or later.
    This does not affect applications targeting .NET Framework.
    (#3664)

  • Added overloads which accept a name to the TracerProviderBuilder
    AddHttpClientInstrumentation extension to allow for more fine-grained
    options management
    (#3664,
    #3667)

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

core-1.3.1

09 Sep 22:59
c9052ef
Compare
Choose a tag to compare

OpenTelemetry.Api

  • Added support for the .NET7 version of the System.Diagnostics.DiagnosticSource package (#3605). For more details, refer to the issue (#3629).

OpenTelemetry.Exporter.Jaeger

  • Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).

OpenTelemetry.Exporter.Zipkin

  • Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).

1.0.0-rc9.6

18 Aug 22:45
42374d9
Compare
Choose a tag to compare
1.0.0-rc9.6 Pre-release
Pre-release

OpenTelemetry.Instrumentation.AspNetCore

  • Removed netstandard2.0 and netstandard2.1 targets. .NET 5 reached EOL
    in May 2022 and .NET Core 3.1 reaches EOL in December 2022. The
    instrumentation for ASP.NET Core now requires .NET 6 or later.
    (#3567)

  • Fixed an issue where activity started within middleware was modified by
    instrumentation library.
    (#3498)

  • Updated to use Activity native support from
    System.Diagnostics.DiagnosticSource to set activity status.
    (#3118)
    (#3555)

OpenTelemetry.Instrumentation.GrpcNetClient

  • Updated to use Activity native support from System.Diagnostics.DiagnosticSource
    to set activity status.
    (#3118)
    (#3569)

OpenTelemetry.Instrumentation.Http

  • Updated to use Activity native support from System.Diagnostics.DiagnosticSource
    to set activity status.
    (#3118)
    (#3555)

  • Changed activity source name from OpenTelemetry.HttpWebRequest
    to OpenTelemetry.Instrumentation.Http.HttpWebRequest for HttpWebRequests
    and from OpenTelemetry.Instrumentation.Http
    to OpenTelemetry.Instrumentation.Http.HttpClient for HttpClient.
    (#3515)

core-1.4.0-alpha.2

18 Aug 22:45
42374d9
Compare
Choose a tag to compare
core-1.4.0-alpha.2 Pre-release
Pre-release

OpenTelemetry

  • Added Sdk.CreateLoggerProviderBuilder method and support for dependency
    injection scenarios when configuring OpenTelemetryLoggerProvider
    (#3504)

OpenTelemetry.Api

  • Updated to System.Diagnostics.DiagnosticSource preview version 7.0.0.

    With this update, applications targeting .NET 5 and lower will receive a
    warning at build time as described here
    (note: building using older versions of the .NET SDK produces an error at
    build time). This is because .NET 5 reached EOL in May 2022 and .NET
    Core 3.1 reaches EOL in December 2022.

    There is no guarantee that System.Diagnostics.DiagnosticSource will continue
    to work on older versions of .NET. However, the build warning can be
    suppressed by setting the SuppressTfmSupportBuildWarnings MSBuild property.

    This does not affect applications targeting .NET Framework.
    #3539

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Split up Prometheus projects based on its hosting mechanism,
    HttpListener and AspNetCore, into their own projects
    and assemblies.
    (#3430
    #3503
    #3507)

  • Added IEndpointRouteBuilder extension methods to help with Prometheus
    middleware configuration on ASP.NET Core
    (#3295)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Split up Prometheus projects based on its hosting mechanism,
    HttpListener and AspNetCore, into their own projects
    and assemblies.
    (#3430
    #3503
    #3507)
  • Fixed bug
    #2840 by
    allowing + and * to be used in the URI prefixes (e.g. "http://*:9184").
    (#3521)

1.0.0-rc9.5

03 Aug 02:13
83a8f94
Compare
Choose a tag to compare
1.0.0-rc9.5 Pre-release
Pre-release

OpenTelemetry.Instrumentation.AspNetCore

  • Fix Remote IP Address - NULL reference exception.
    (#3481)
  • Metrics instrumentation to correctly populate http.flavor tag.
    (1.1 instead of HTTP/1.1 etc.)
    (#3379)
  • Tracing instrumentation to populate http.flavor tag.
    (#3372)
  • Tracing instrumentation to populate http.scheme tag.
    (#3392)

OpenTelemetry.Instrumentation.Http

  • Added http.scheme tag to tracing instrumentation.
    (#3464)

  • [Breaking] Removes SetHttpFlavor option. "http.flavor" is
    now always automatically populated.
    To remove this tag, set "http.flavor" to null using ActivityProcessor.
    (#3380)

  • Fix Enrich not getting invoked when SocketException due to HostNotFound
    occurs.
    (#3407)

OpenTelemetry.Instrumentation.SqlClient

  • Update the ActivitySource.Name from "OpenTelemetry.SqlClient" to
    "OpenTelemetry.Instrumentation.SqlClient".
    (#3435)

core-1.4.0-alpha.1

03 Aug 02:12
83a8f94
Compare
Choose a tag to compare
core-1.4.0-alpha.1 Pre-release
Pre-release

OpenTelemetry

  • TracerProviderSDK modified for spans with remote parent. For such spans
    activity will be created irrespective of SamplingResult, to maintain context
    propagation.
    (#3329)
  • Fix issue where a measurement would be dropped when recording it with a
    null-valued tag.
    (#3325)
  • CompositeProcessor will now ensure ParentProvider is set on its children
    (#3368)
  • Added ForceFlush and helper ctors on OpenTelemetryLoggerProvider
    (#3364)
  • Timestamp, TraceId, SpanId, TraceFlags, TraceState, CategoryName,
    LogLevel, EventId, & Exception properties on LogRecord now expose
    set methods
    (#3378)
  • Handle possible exception when initializing the default service name.
    (#3405)
  • LogRecord instances are now reused to reduce memory pressure
    (#3385)
  • Fix exact match of activity source name when wildcard is used.
    (#3446)
  • Added AddOpenTelemetry ILoggingBuilder extensions which accept
    OpenTelemetryLoggerProvider directly
    (#3489)

OpenTelemetry.Api

  • Add Activity.RecordException overload accepting additional attributes to
    add to the ActivityEvent.
    #3433

OpenTelemetry.Exporter.Console

  • The MetricReaderOptions defaults can be overridden using
    OTEL_METRIC_EXPORT_INTERVAL and OTEL_METRIC_EXPORT_TIMEOUT
    environmental variables as defined in the
    specification.
    (#3424)

OpenTelemetry.Exporter.InMemory

  • InMemoryExporter will now buffer scopes when exporting LogRecord
    (#3360)

  • The MetricReaderOptions defaults can be overridden using
    OTEL_METRIC_EXPORT_INTERVAL and OTEL_METRIC_EXPORT_TIMEOUT
    environmental variables as defined in the
    specification.
    (#3424)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Adds support for limiting the length and count of attributes exported from
    the OTLP exporter. These
    Attribute Limits
    are configured via the environment variables defined in the specification.
    (#3376)

  • The MetricReaderOptions defaults can be overridden using
    OTEL_METRIC_EXPORT_INTERVAL and OTEL_METRIC_EXPORT_TIMEOUT
    environmental variables as defined in the
    specification.
    (#3424)

OpenTelemetry.Extensions.Propagators

  • Add JaegerPropagator.
    (1881)

1.0.0-rc9.4 of all non core

03 Jun 19:47
6e2b7a1
Compare
Choose a tag to compare
Pre-release

All packages is updated to refer to 1.3.0 of the core API/.SDK. Rest of the changelog is below:

OpenTelemetry.Exporter.ZPages

  • Removes .NET Framework 4.6.1. The minimum .NET Framework
    version supported is .NET 4.6.2. (#3190)

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

Use own EventSource named "OpenTelemetry.Extensions.Propagators"
for internal logging.

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule

OpenTelemetry.Instrumentation.AspNetCore

  • Added additional metric dimensions.
    (3247)

  • Removes net5.0 target as .NET 5.0 is going out
    of support. The package keeps netstandard2.1 target, so it
    can still be used with .NET5.0 apps.
    (#3147)

OpenTelemetry.Instrumentation.GrpcNetClient

  • Add netstandard2.0 target enabling the Grpc.Net.Client instrumentation to
    be consumed by .NET Framework applications.
    (#3105)

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

  • Removes .NET Framework 4.6.1. The minimum .NET Framework version supported is
    .NET 4.6.2.
    (#3190)

1.3.0 core components

03 Jun 19:46
6e2b7a1
Compare
Choose a tag to compare

Same as 1.3.0-rc.2

1.3.0-rc.2 of core components

01 Jun 23:11
56d6677
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Fix null reference exception when a metric view does not match an instrument.
    (#3285)
  • Swallow ObjectDisposedException in BatchExportProcessor and
  • PeriodicExportingMetricReader.
    (#3291)

OpenTelemetry.Api

  • B3Propagator class from OpenTelemetry.Extensions.Propagators namespace has
    been deprecated and moved as is to a new OpenTelemetry.Extensions.Propagators
    namespace, shipped as part of the OpenTelemetry.Extensions.Propagators package.
    It will be removed in the next major release, see issue #3259

OpenTelemetry.Exporter.Console

  • Improve the conversion and formatting of attribute values.
    The list of data types that must be supported per the
    OpenTelemetry specification
    is more narrow than what the .NET OpenTelemetry SDK supports. Numeric
    built-in value types
    are supported by converting to a long or double as appropriate except for
    numeric types that could cause overflow (ulong) or rounding (decimal)
    which are converted to strings. Non-numeric built-in types - string,
    char, bool are supported. All other types are converted to a string.
    Array values are also supported.
    (#3311)
  • Fix conversion of array-valued attributes. They were previously
    converted to a string like "System.String[]".
    (#3311)

OpenTelemetry.Exporter.InMemory

  • Adds new AddInMemoryExporter extension method to export Metric as new
    type MetricSnapshot.
    (#2361)

OpenTelemetry.Exporter.Jaeger

  • Improve the conversion and formatting of attribute values.
    The list of data types that must be supported per the
    OpenTelemetry specification
    is more narrow than what the .NET OpenTelemetry SDK supports. Numeric
    built-in value types
    are supported by converting to a long or double as appropriate except for
    numeric types that could cause overflow (ulong) or rounding (decimal)
    which are converted to strings. Non-numeric built-in types - string,
    char, bool are supported. All other types are converted to a string.
    Array values are also supported.
    (#3281)
  • Fix conversion of array-valued resource attributes. They were previously
    converted to a string like "System.String[]".
    (#3281)
  • Fix exporting of array-valued attributes on an Activity. Previously, each
    item in the array would result in a new tag on an exported Activity. Now,
    array-valued attributes are serialzed to a JSON-array representation.
    (#3281)

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Improve the conversion and formatting of attribute values.
    The list of data types that must be supported per the
    OpenTelemetry specification
    is more narrow than what the .NET OpenTelemetry SDK supports. Numeric
    built-in value types
    are supported by converting to a long or double as appropriate except for
    numeric types that could cause overflow (ulong) or rounding (decimal)
    which are converted to strings. Non-numeric built-in types - string,
    char, bool are supported. All other types are converted to a string.
    Array values are also supported.
    (#3281)
  • Fix conversion of array-valued resource attributes. They were previously
    converted to a string like "System.String[]".
    (#3281)
  • Fix exporting of array-valued attributes on an Activity. Previously, each
    item in the array would result in a new tag on an exported Activity. Now,
    array-valued attributes are serialzed to a JSON-array representation.
    (#3281)

OpenTelemetry.Extensions.Propagators

1.3.0-beta.2 of core components

17 May 02:39
55c5dd1
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Exposed public setters for LogRecord.State, LogRecord.StateValues,
    and LogRecord.FormattedMessage.
    (#3217)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

  • Removes net5.0 target and replaced with net6.0
    as .NET 5.0 is going out of support.
    The package keeps netstandard2.1 target, so it
    can still be used with .NET5.0 apps.
    (#3147)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • LogExporter to support Logging Scopes.
    (#3218)

  • Support HttpProtobuf protocol with logs & added HttpClientFactory
    option
    (#3225)

  • Removes net5.0 target and replaced with net6.0
    as .NET 5.0 is going out of support.
    The package keeps netstandard2.1 target, so it
    can still be used with .NET5.0 apps.
    (#3147)

  • Fix handling of array-valued attributes for the OTLP trace exporter.
    (#3238)

  • Improve the conversion and formatting of attribute values to the OTLP format.
    The list of data types that must be supported per the
    OpenTelemetry specification
    is more narrow than what the .NET OpenTelemetry SDK supports. Numeric
    built-in value types
    are supported by converting to a long or double as appropriate except for
    numeric types that could cause overflow (ulong) or rounding (decimal)
    which are converted to strings. Non-numeric built-in types - string,
    char, bool are supported. All other types are converted to a string.
    Array values are also supported.
    (#3262)
    (#3274)

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Removes net5.0 target and replaced with net6.0
    as .NET 5.0 is going out of support.
    The package keeps netstandard2.0 target, so it
    can still be used with .NET5.0 apps.
    (#3147)