Skip to content

Releases: open-telemetry/opentelemetry-dotnet

1.3.0-beta.1 of Core

20 Apr 17:08
1916cc9
Compare
Choose a tag to compare
1.3.0-beta.1 of Core Pre-release
Pre-release

Starting the 1.3.0-beta series. No code updates in this release.

1.2.0 of Core Components

15 Apr 17:50
cab5b26
Compare
Choose a tag to compare

1st Stable Release of Metrics SDK.
Same as 1.2.0-rc5, except the following changes.

OpenTelemetry

  • Make setter for MetricReaderOptions.PeriodicExportingMetricReaderOptions
    property public.
    (#3184)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • LogExporter to correctly map Severity to OTLP.
    (#3177)

  • LogExporter to special case {OriginalFormat} to populate
    Body. (#3182)

1.0.0-rc9.2 of non-core

13 Apr 03:09
33125ac
Compare
Choose a tag to compare
Pre-release

Same bits as previous release (1.0.0-rc9.1), except bumps the requires core package versions to be 1.2.0-rc5

1.2.0-rc5 of Core Components

13 Apr 03:07
33125ac
Compare
Choose a tag to compare
Pre-release

This is the final RC for 1.2.0 release.
OpenTelemetry

  • Removed the Temporality setting on MetricReader and replaced it with
    TemporalityPreference. This is a breaking change.
    TemporalityPreference is used to determine the AggregationTemporality
    used on a per-instrument kind basis. Currently, there are two preferences:

    • Cumulative: Measurements from all instrument kinds are aggregated using
      AggregationTemporality.Cumulative.
    • Delta: Measurements from Counter, ObservableCounter, and Histogram
      instruments are aggregated using AggregationTemporality.Delta. When
      UpDownCounters are supported with
      DiagnosticSource version 7.0 onwards,
      they will be aggregated using AggregationTemporality.Cumulative.
      (#3153)
  • Fix issue where ExplicitBucketHistogramConfiguration could be used to
    configure metric streams for instruments that are not histograms. Currently,
    it is not possible to change the aggregation of an instrument with views. This
    may be possible in the future.
    (#3126)

  • Conformed to the specification to ensure that each view that an instrument
    matches results in a new metric stream. With this change it is possible for
    views to introduce conflicting metric streams. Any conflicts encountered will
    result in a diagnostic log.
    (#3148)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Updated underlying proto files to
    v0.16.0.
    The LogRecord.Name field was removed. The CategoryName provided
    when calling CreateLogger previously populated this field. For now,
    CategoryName is no longer exported via OTLP. It will be reintroduced
    in the future as an attribute.

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

1.0.0-rc9.1 of non-core componets

30 Mar 19:18
eaa2e0e
Compare
Choose a tag to compare
Pre-release

This is mostly just changing the versioning.

This version is 1.0.0-rc9.1, with next releases taking 1.0.0-rc9.2, 1.0.0-rc9.3 and so on. The previous version 1.0.0-rc10 is invalid, and will be unlisted.
See discussion on this: #2991 (comment)

Changes:
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

  • Updated TracerProviderBuilderExtensions.AddHttpClientInstrumentation to support
    IDeferredTracerProviderBuilder and IOptions<HttpClientInstrumentationOptions>
    (#3051)

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

1.2.0-rc4 of core components

30 Mar 19:15
eaa2e0e
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • The PeriodicExportingMetricReader now accepts an
    ExportIntervalMilliseconds of -1 indicating an infinite export interval
    period.
    (#2982)

  • Added the PeriodicExportingMetricReaderOptions.ExportTimeoutMilliseconds
    option.
    (#3038)

  • Removed MetricReaderType. This enumeration was previously used when
    configuing a metric reader with an exporter to configure whether the export
    cycle would be periodic or manual (i.e., requiring a explicit call to flush
    metrics). This change affects the push-based metric exporters: OTLP, Console,
    and InMemory. For these exporters, a manual export cycle can now be achieved
    by setting PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds
    to -1.
    (#3038)

  • Marked members of the MetricPoint struct which do not mutate state as
    readonly
    (#3065)

  • [Bug fix] OpenTelemetryLoggerProvider is now unaffected by changes to
    OpenTelemetryLoggerOptions after the LoggerFactory is built.
    (#3055)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

  • Added StatusCode, StatusDescription support to
    ConsoleActivityExporter.
    (#2929
    #3061)

  • AddConsoleExporter extension method by default sets up exporter
    to export metrics every 10 seconds.

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3073)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3100)

  • Fixed OTLP metric exporter to default to a periodic 60 second export cycle.
    A bug was introduced in #2717 that caused the OTLP metric export to default
    to a manual export cycle (i.e., requiring an explicit flush). A workaround
    for this bug has been provided
    here.
    (#2982)

  • Bumped minimum required gRPC version (2.23.0 to 2.44.0).
    Fixes issues building on Apple Silicon (M1).
    (#2963)

  • Fixed issue where the configuration of an OTLP exporter could be changed
    after instantiation by altering the original OtlpExporterOptions provided.
    (#3066)

  • TraceExporter to stop populating DeprecatedCode in OTLP Status.
    OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3003)

1.0.0-rc10 of non-core

05 Mar 04:37
6e31ab6
Compare
Choose a tag to compare
Pre-release

Most packages have no change from previous release. Only updates to use the newest API/SDK reference.

OpenTelemetry.Extensions.Hosting

  • Fixes an issue where the initialization of some aspects of the SDK can be
    delayed when using the AddOpenTelemetryTracing and
    AddOpenTelemetryMetrics methods. Namely, self-diagnostics and the default
    context propagator responsible for propagating trace context and baggage.
    (#2901)

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

1.2.0-RC3 of core components

05 Mar 04:36
6e31ab6
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Instantiating multiple metric instruments with the same name and also
    identical in all other respects - same type, description, and unit - result
    in a single metric stream aggregating measurements from all the identical
    instruments.

    Instantiating multiple metric instruments with the same name but differ in
    some respect - different type, description, or unit - will result in a
    separate metric stream for each distinct instrument.

    (#2916)

  • The Meter property on OpenTelemetry.Metrics.Metric has been removed.
    It now has MeterName and MeterVersion properties.
    (#2916)

  • Added support for implementing custom ResourceDetector.
    (#2949
    #2897)

  • Perf improvement for Histogram and HistogramSumCount by implementing lock-free
    updates.
    (#2951
    #2961)

OpenTelemetry.Api

  • Improved wildcard support for AddSource, AddMeter to cover ? (which
    matches exactly one character).
    (#2875)

OpenTelemetry.Exporter.Console

  • Removes metric related configuration options from ConsoleExporterOptions.
    MetricReaderType, PeriodicExporterMetricReaderOptions, and Temporality
    are now configurable via the MetricReaderOptions.
    (#2929)

OpenTelemetry.Exporter.InMemory

  • Adds the ability to configure MetricReaderOptions via the
    AddInMemoryExporter extension method.
    (#2931)

OpenTelemetry.Exporter.Jaeger

  • Change supported values for OTEL_EXPORTER_JAEGER_PROTOCOL
    Supported values: udp/thrift.compact and http/thrift.binary defined
    in the specification.
    (#2914)
  • Change handling of OTEL_EXPORTER_JAEGER_ENDPOINT to require the path to
    post. Previous versions of this library would append /api/traces to the
    value specified in this variable, but now the application author must do so.
    This change must also be made if you manually configure the
    JaegerExporterOptions class - the Endpoint must now include the path.
    For most environments, this will be /api/traces. The effective default
    is still http://localhost:14268/api/traces. This was done to match
    the clarified specification)
    (#2847)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • LogExporter bug fix to handle null EventName.
    (#2871)

  • Fixed the default endpoint for OTLP exporter over HTTP/Protobuf.
    The default value is http://localhost:4318.
    (#2868)

  • Removes metric related configuration options from OtlpExporterOptions.
    MetricReaderType, PeriodicExporterMetricReaderOptions, and Temporality
    are now configurable via the MetricReaderOptions.
    (#2717)

  • Exporter bug fix to not throw exceptions from Export method.
    (#2915)

  • OTLP LogExporter modified to not drop the whole batch if a single log from the
    batch is invalid.
    (#2934)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Modified Export method to catch all exceptions.
    (#2935)

1.0.0-rc9 of Instrumentation libraries and other non-core components

03 Feb 02:11
d3afacc
Compare
Choose a tag to compare

Instrumentation Libraries, OT shim, Hosting packages.
Refer to individual changelog.md files for details.

1.2.0-rc2 of core components

03 Feb 02:10
d3afacc
Compare
Choose a tag to compare
Pre-release

API, SDK, and Exporters.
Refer to individual changelog.md files for details.