Skip to content

Releases: open-telemetry/opentelemetry-dotnet

1.7.0 / 1.7.0-beta.1

09 Dec 00:01
core-1.7.0
f69c025
Compare
Choose a tag to compare

1.7.0 release for core components

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

1.7.0-beta.1 release for non-core components

Note: Instrumentation libraries were not included for 1.7.0-beta.1.

OpenTelemetry.Shims.OpenTracing

  • Remove obsolete TracerShim(Tracer, TextMapPropagator) constructor. Use TracerShim(TracerProvider) or TracerShim(TracerProvider, TextMapPropagator) constructors. (#4862)

1.6.0-rc.1 of AspNetCore and HttpClient instrumentation libraries

02 Dec 01:06
1.6.0-rc.1
4a8f99e
Compare
Choose a tag to compare

OpenTelemetry.Instrumentation.AspNetCore

  • Removed support for OTEL_SEMCONV_STABILITY_OPT_IN environment variable. The library will now emit only the stable
    semantic conventions. (#5066)

  • Removed netstandard2.1 target. (#5094)

  • Removed support for grpc instrumentation to unblock stable release of http instrumentation. For details, see issue #5098 (#5097)

  • Breaking Change : Renamed AspNetCoreInstrumentationOptions to AspNetCoreTraceInstrumentationOptions. (#5108)

OpenTelemetry.Instrumentation.Http

  • Removed support for OTEL_SEMCONV_STABILITY_OPT_IN environment variable. The library will now emit only the stable
    semantic conventions. (#5068)

  • Update activity DisplayName as per the specification. (#5078)

  • Removed reference to OpenTelemetry package. This is a breaking change for users relying on SuppressDownstreamInstrumentation option in OpenTelemetry.Instrumentation.GrpcNetClient. For details, check out this issue. (#5077)

  • Breaking Change: Renamed HttpClientInstrumentationOptions to HttpClientTraceInstrumentationOptions. (#5109)

  • Breaking Change: Removed http.user_agent tag from HttpClient activity. (#5110)

  • HttpWebRequest : Introduced additional values for error.type tag on activity and http.client.request.duration metric. (#5111)

core-1.7.0-rc.1

29 Nov 23:57
core-1.7.0-rc.1
c637263
Compare
Choose a tag to compare
core-1.7.0-rc.1 Pre-release
Pre-release

OpenTelemetry

  • The AddService ResourceBuilder extension method will now generate the same service.instance.id for the lifetime of a process when autoGenerateServiceInstanceId is true. (#4988)

  • Fixed a Metrics SDK bug which led to ExemplarReservoir.Offer always being called regardless of whether or not the ExemplarFilter sampled the measurement. (#5004) (#5016)

  • Update Metrics SDK to override the default histogram buckets for the followingmetrics from ASP.NET Core and HttpClient runtime:

    • signalr.server.connection.duration
    • kestrel.connection.duration
    • http.client.connection.duration

    These histogram metrics which have their Unit as s (second) will have their default histogram buckets as [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]. (#5008) (#5021)

  • Remove the bucket with value 0 for histogram buckets for all metrics from ASP.NET Core and HttpClient. (#5021)

  • Updated Microsoft.Extensions.Logging.Configuration package version to 8.0.0. (#5051)

  • Updated Microsoft.Extensions.Logging package version to 8.0.0. (#5051)

  • Revert the default behavior of Metrics SDK for Delta aggregation. It would not reclaim unused Metric Points by default. You can enable the SDK to reclaim unused Metric Points by setting the environment variable OTEL_DOTNET_EXPERIMENTAL_METRICS_RECLAIM_UNUSED_METRIC_POINTS to true before setting up the MeterProvider. (#5052)

  • Update Metrics SDK to override the default histogram buckets for ASP.NET (.NET Framework).

    Histogram metrics for the meter name OpenTelemetry.Instrumentation.AspNet and instrument name http.request.server.duration which have their Unit as s (second) will have their default histogram buckets as [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]. (#5063)

  • Added AddProcessor overload on OpenTelemetryLoggerOptions which exposes the factory pattern (Func<IServiceProvider, BaseProcessor<LogRecord>> implementationFactory). (#4916)

  • Add support for Instrumentation Scope Attributes (i.e Meter Tags), fixing issue #4563. (#5089)

  • Added the ILoggingBuilder.UseOpenTelemetry experimental API extension for registering OpenTelemetry ILogger integration using LoggerProviderBuilder which supports the full DI (IServiceCollection \ IServiceProvider) API surface (mirrors tracing & metrics). (#5072)

  • Changed the ILoggingBuilder registration extensions (AddOpenTelemetry & UseOpenTelemetry) to fire the optional OpenTelemetryLoggerOptions configuration delegate AFTER the "Logging:OpenTelemetry" IConfiguration section has been applied. (#5072)

OpenTelemetry.Api

  • Updated System.Diagnostics.DiagnosticSource package version to 8.0.0. (#5051)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Updated Microsoft.Extensions.DependencyInjection.Abstractions package version to 8.0.0. (#5051)

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Made OpenTelemetry.Exporter.OtlpLogExporter public. (#4979)

  • Updated the OpenTelemetryLoggerOptions.AddOtlpExporter extension to retrieve OtlpExporterOptions and LogRecordExportProcessorOptions using the IServiceProvider / Options API so that they can be controlled via IConfiguration (similar to metrics and traces). (#4916)

  • Added an OpenTelemetryLoggerOptions.AddOtlpExporter extension overload which accepts a name parameter to support named options. (#4916)

  • Add support for Instrumentation Scope Attributes (i.e Meter Tags),
    fixing issue #4563. (#5089)

OpenTelemetry.Extensions.Hosting

  • Updated Microsoft.Extensions.Hosting.Abstractions package version to 8.0.0. (#5051)

  • The OpenTelemetryBuilder.WithMetrics method will now register an IMetricsListener named 'OpenTelemetry' into the IServiceCollection to enable metric management via the new Microsoft.Extensions.Diagnostics .NET 8 APIs. (#4958)

  • The OpenTelemetryBuilder.WithLogging experimental API method will now register an ILoggerProvider named 'OpenTelemetry' into the IServiceCollection to enable ILoggerFactory integration. (#5072)

1.6.0-beta.3 of instrumentation libraries

17 Nov 23:21
1.6.0-beta.3
276b307
Compare
Choose a tag to compare

OpenTelemetry.Instrumentation.AspNetCore

  • Removed the Activity Status Description that was being set during exceptions. Activity Status will continue to be reported as Error. This is a breaking change. EnrichWithException can be leveraged
    to restore this behavior. (#5025)

  • Updated http.request.method to match specification guidelines.

    • For activity, if the method does not belong to one of the known values then the request method will be set on an additional tag http.request.method.original and http.request.method will be set to _OTHER.
    • For metrics, if the original method does not belong to one of the known values then http.request.method on http.server.request.duration metric will be set to _OTHER

    http.request.method is set on http.server.request.duration metric or activity when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup.
    (#5001)

  • An additional attribute error.type will be added to activity and http.server.request.duration metric when the request results in unhandled exception. The attribute value will be set to full name of exception type.
    The attribute will only be added when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#4986)

  • Fixed network.protocol.version attribute values to match the specification. (#5007)

  • Calls to /metrics will now be included in the http.server.request.duration metric. This change may affect Prometheus pull scenario if the Prometheus server sends request to the scraping endpoint that contains /metrics in path. (#5044)

  • Fixes the http.route attribute for scenarios in which it was previously missing or incorrect. Additionally, the http.route attribute is now the same for both the metric and Activity emitted for a request
    Lastly, the Activity.DisplayName has been adjusted to have the format {http.request.method} {http.route} to conform with the specification. There remain scenarios when using conventional routing or Razor pages where http.route is still incorrect. See #5056 and #5057 for more details. (#5026)

  • Removed network.protocol.name from http.server.request.duration metric as per spec. (#5049)

OpenTelemetry.Instrumentation.Http

  • Removed the Activity Status Description that was being set during exceptions. Activity Status will continue to be reported as Error. This is a breaking change. EnrichWithException can be leveraged to restore this behavior. (#5025)

  • Updated http.request.method to match specification guidelines.

    • For activity, if the method does not belong to one of the known values then the request method will be set on an additional tag http.request.method.original and http.request.method will be set to _OTHER.
    • For metrics, if the original method does not belong to one of the known values then http.request.method on http.client.request.duration metric will be set to _OTHER

    http.request.method is set on http.client.request.duration metric or activity when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#5003)

  • An additional attribute error.type will be added to activity and http.client.request.duration metric in case of failed requests as per the specification.

    Users moving to net8.0 or newer frameworks from lower versions will see difference in values in case of an exception. net8.0 or newer frameworks add the ability to further drill down the exceptions to a specific type through HttpRequestError enum. For lower versions, the individual types will be rolled in to a single type. This could be a breaking change if alerts are set based on the values.

    The attribute will only be added when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#5005) (#5034)

  • Fixed network.protocol.version attribute values to match the specification. (#5006)

  • Set network.protocol.version value using the protocol version on the received response. If the request fails without response, then network.protocol.version attribute will not be set on Activity and http.client.request.duration metric. (#5043)

OpenTelemetry.Instrumentation.SqlClient

  • Updated Microsoft.Extensions.Configuration and Microsoft.Extensions.Options package version to 8.0.0. (#5051)

1.6.0-beta.2 of instrumentation libraries

27 Oct 00:06
1.6.0-beta.2
8463f60
Compare
Choose a tag to compare

OpenTelemetry.Instrumentation.AspNetCore

This new metric is only available for users who opt-in to the new semantic convention by configuring the OTEL_SEMCONV_STABILITY_OPT_IN environment variable to either http (to emit only the new metric) or http/dup (to emit both the new and old metrics). (#4802)

  • New metric: http.server.request.duration
    • Unit: s (seconds)
    • Histogram Buckets: 0, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10
  • Old metric: http.server.duration
    • Unit: ms (milliseconds)
    • Histogram Buckets: 0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000

Note: the older http.server.duration metric and OTEL_SEMCONV_STABILITY_OPT_IN environment variable will eventually be removed after the HTTP semantic conventions are marked stable. At which time this instrumentation can publish a stable release. Refer to the specification for more information regarding the new HTTP semantic conventions for both spans and metrics.

  • Following metrics will now be enabled by default when targeting .NET8.0 or newer framework:

    • Meter : Microsoft.AspNetCore.Hosting

      • http.server.request.duration
      • http.server.active_requests
    • Meter : Microsoft.AspNetCore.Server.Kestrel

      • kestrel.active_connections
      • kestrel.connection.duration
      • kestrel.rejected_connections
      • kestrel.queued_connections
      • kestrel.queued_requests
      • kestrel.upgraded_connections
      • kestrel.tls_handshake.duration
      • kestrel.active_tls_handshakes
    • Meter : Microsoft.AspNetCore.Http.Connections

      • signalr.server.connection.duration
      • signalr.server.active_connections
    • Meter : Microsoft.AspNetCore.Routing

      • aspnetcore.routing.match_attempts
    • Meter : Microsoft.AspNetCore.Diagnostics

      • aspnetcore.diagnostics.exceptions
    • Meter : Microsoft.AspNetCore.RateLimiting

      • aspnetcore.rate_limiting.active_request_leases
      • aspnetcore.rate_limiting.request_lease.duration
      • aspnetcore.rate_limiting.queued_requests
      • aspnetcore.rate_limiting.request.time_in_queue
      • aspnetcore.rate_limiting.requests

    For details about each individual metric check ASP.NET Core docs page.

    NOTES:

    • When targeting .NET8.0 framework or newer, http.server.request.duration metric will only follow v1.22.0 semantic conventions specification. Ability to switch behavior to older conventions using OTEL_SEMCONV_STABILITY_OPT_IN environment variable is not available.
    • Users can opt-out of metrics that are not required using views.
      (#4934)
  • Added network.protocol.name dimension to http.server.request.duration metric. This change only affects users setting OTEL_SEMCONV_STABILITY_OPT_IN to http or http/dup. (#4934)

  • Breaking: Removed Enrich and Filter support for metrics instrumentation. With this change, AspNetCoreMetricsInstrumentationOptions is no longer available. (#4981)

    • Enrich migration:

      An enrichment API for the http.server.request.duration metric is available inside AspNetCore for users targeting .NET 8.0 (or newer). For details see: Enrich the ASP.NET Core request
      metric
      .

    • Filter migration:

      There is no comparable filter mechanism currently available for any .NET version. Please share your feedback if you are impacted by this feature gap.

      Note
      The View API may be used to drop dimensions.

  • Updated description for http.server.request.duration metrics to match spec definition. (#4990)

OpenTelemetry.Instrumentation.Http

This new metric is only available for users who opt-in to the new semantic convention by configuring the OTEL_SEMCONV_STABILITY_OPT_IN environment variable to either http (to emit only the new metric) or http/dup (to emit both the new and old metrics). (#4870)

  • New metric: http.client.request.duration
    • Unit: s (seconds)
    • Histogram Buckets: 0, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10
  • Old metric: http.client.duration
    • Unit: ms (milliseconds)
    • Histogram Buckets: 0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000

Note: The older http.client.duration metric and OTEL_SEMCONV_STABILITY_OPT_IN environment variable will eventually be removed after the HTTP semantic conventions are marked stable. At which time this instrumentation can publish a stable release. Refer to the specification for more information regarding the new HTTP semantic conventions:

  • http-spans

  • http-metrics

  • Added support for publishing http.client.duration & http.client.request.duration metrics on .NET Framework for HttpWebRequest. (#4870)

  • Following HttpClient metrics will now be enabled by default when targeting .NET8.0 framework or newer.

    • Meter : System.Net.Http

      • http.client.request.duration
      • http.client.active_requests
      • http.client.open_connections
      • http.client.connection.duration
      • http.client.request.time_in_queue
    • Meter : System.Net.NameResolution

      • dns.lookups.duration

    For details about each individual metric check System.Net metrics docs page.

    NOTES:

    • When targeting .NET8.0 framework or newer, http.client.request.duration metric will only follow v1.22.0 semantic conventions specification. Ability to switch behavior to older conventions using OTEL_SEMCONV_STABILITY_OPT_IN environment variable is
      not available.
    • Users can opt-out of metrics that are not required using views.
      (#4931)
  • Added url.scheme attribute to http.client.request.duration metric. The metric will be emitted when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#4989)

  • Updated description for http.client.request.duration metrics to match spec definition. (#4990)

core-1.7.0-alpha.1

17 Oct 00:07
core-1.7.0-alpha.1
e66f4f3
Compare
Choose a tag to compare
core-1.7.0-alpha.1 Pre-release
Pre-release

OpenTelemetry

  • Update AggregatorStore to reclaim unused MetricPoints for Delta aggregation temporality. (#4486)

  • Fixed a bug where TracerProviderBuilderBase was not invoking the instrumentationFactory delegate passed to the protected
    AddInstrumentation method. (#4873)

  • Allowed metric instrument names to contain / characters. (#4882)

  • Breaking Change [Tracer|Meter|Logger]ProviderBuilder.Build extension will now throw a NotSupportedException if invoked on a non-SDK builder type. Previously it would return null. (#4885)

  • Updated Microsoft.Extensions.Logging package version to 8.0.0-rc.1.23419.4. (#4920, #4933)

OpenTelemetry.Api

  • Fixed a bug which caused Tracer.StartRootSpan to generate a child span if a trace was running (Activity.Current != null). (#4890)

  • Added a Tracer cache inside of TracerProvider to prevent repeated calls to GetTracer from leaking memory. (#4906)

  • Fix TraceContextPropagator by validating the first digit of the hex-encoded trace-flags field of the traceparent header. (#4893)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Bumped the version of Google.Protobuf used by the project to 3.22.5 so that consuming applications can be published as NativeAOT successfully. Also, a new performance feature can be used instead of reflection emit, which is not AOT-compatible. Removed the dependency on System.Reflection.Emit.Lightweight. (#4859)

  • Added support for OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT and OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT. (#4887)

  • Added ability to export attributes corresponding to LogRecord.Exception i.e. exception.type, exception.message and exception.stacktrace. These attributes will be exported when OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES environment variable will be set to true.

    NOTE: These attributes were removed in 1.6.0-rc.1 release in order to support stable release of OTLP Log Exporter. The attributes will now be available via environment variable mentioned above. (#4892)

  • Added ability to export attributes corresponding to LogRecord.EventId.Id as logrecord.event.id and LogRecord.EventId.Name as logrecord.event.name. The attributes will be exported when OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES will be set to true.

    NOTE: These attributes were removed in 1.6.0-rc.1 release in order to support stable release of OTLP Log Exporter. The attributes will now be available via environment variable mentioned above. (#4925)

  • LogRecord.CategoryName will now be exported as InstrumentationScope name field under ScopeLogs. (#4941)

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Fixed writing boolean values to use the JSON representation (#4823)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Fixed writing boolean values to use the JSON representation (#4823)

OpenTelemetry.Extensions.Hosting

  • Changed the behavior of the OpenTelemetryBuilder.AddOpenTelemetry extension to INSERT OpenTelemetry services at the beginning of the IServiceCollection in an attempt to provide a better experience for end users capturing telemetry in hosted services. Note that this does not guarantee that OpenTelemetry services will be initialized while other hosted services start, so it is possible to miss telemetry until OpenTelemetry services are fully initialized. (#4883)

1.6.0 / 1.6.0-beta.1

06 Sep 22:18
core-1.6.0
5cc1f39
Compare
Choose a tag to compare

1.6.0 release for core components

Note: The below only shows the changes that were added to the core components post 1.6.0-rc.1 release. 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.

OpenTelemetry

  • Increased the character limit of the Meter instrument name from 63 to 255.
    (#4774)

  • Update default size for SimpleExemplarReservoir to 1.
    (#4803)

1.6.0-beta.1 release for non-core components

Note: Instrumentation libraries were not included for 1.6.0-beta.1.

OpenTelemetry.Shims.OpenTracing

  • Fix: Do not raise ArgumentException if Activity behind the shim span
    has an invalid context.
    (#2787)
  • Obsolete TracerShim(Tracer, TextMapPropagator) constructor.
    Provide TracerShim(TracerProvider)
    and TracerShim(TracerProvider, TextMapPropagator) constructors.
    (#4812)

core-1.6.0-rc.1

21 Aug 20:33
core-1.6.0-rc.1
02269fb
Compare
Choose a tag to compare
core-1.6.0-rc.1 Pre-release
Pre-release

OpenTelemetry

  • Experimental Feature Added an opt-in feature to aggregate any metric
    measurements that were dropped due to reaching the max MetricPoints
    limit
    .
    When this feature is enabled, SDK would aggregate such measurements using a
    reserved MetricPoint with a single tag with key as otel.metric.overflow and
    value as true. The feature is turned-off by default. You can enable it by
    setting the environment variable
    OTEL_DOTNET_EXPERIMENTAL_METRICS_EMIT_OVERFLOW_ATTRIBUTE to true before
    setting up the MeterProvider.
    (#4737)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Excluded attributes corresponding to LogRecord.EventId,
    LogRecord.CategoryName and LogRecord.Exception from the exported data. This
    is done as the semantic conventions for these attributes are not yet stable.
    (#4781)

  • Added extension method for configuring export processor options for otlp log
    exporter.
    (#4733)

  • Added support for configuring the metric exporter's temporality using the
    environment variable OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE as
    defined in the
    specification.
    (#4667)

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Extensions.Hosting

  • Experimental (pre-release builds only): Added Logs Bridge
    API

    implementation (OpenTelemetryBuilder.WithLogging).
    (#4735)

1.5.1-beta.1 of instrumentation libraries

21 Jul 01:39
1.5.1-beta.1
1d3bb4b
Compare
Choose a tag to compare

For all the four instrumentation libraries: AspNetCore, HttpClient, GrpcNetClient, SqlClient:

  • The new HTTP and network semantic conventions can be opted in to by setting
    the OTEL_SEMCONV_STABILITY_OPT_IN environment variable. This allows for a
    transition period for users to experiment with the new semantic conventions
    and adapt as necessary. The environment variable supports the following
    values:
    • http - emit the new, frozen (proposed for stable) HTTP and networking
      attributes, and stop emitting the old experimental HTTP and networking
      attributes that the instrumentation emitted previously.
    • http/dup - emit both the old and the frozen (proposed for stable) HTTP
      and networking attributes, allowing for a more seamless transition.
    • The default behavior (in the absence of one of these values) is to continue
      emitting the same HTTP and network semantic conventions that were emitted in
      1.5.0-beta.1.
    • Note: this option will eventually be removed after the new HTTP and
      network semantic conventions are marked stable. At which time this
      instrumentation can receive a stable release, and the old HTTP and
      network semantic conventions will no longer be supported. Refer to the
      specification for more information regarding the new HTTP and network
      semantic conventions for both spans and metrics.

OpenTelemetry.Instrumentation.AspNetCore

  • Fixed an issue affecting NET 7.0+. If custom propagation is being used
    and tags are added to an Activity during sampling then that Activity would be dropped.
    (#4637)

1.6.0-alpha.1

12 Jul 22:06
core-1.6.0-alpha.1
b5e8361
Compare
Choose a tag to compare
1.6.0-alpha.1 Pre-release
Pre-release

OpenTelemetry

OpenTelemetry.Api

  • Updated System.Diagnostics.DiagnosticSource package version to 7.0.2.
    (#4576)

  • Breaking change In order to make RuntimeContext compatible with
    ahead-of-time compilation (AOT), RuntimeContext.ContextSlotType can only be
    assigned one of the following types: AsyncLocalRuntimeContextSlot<>,
    ThreadLocalRuntimeContextSlot<>, and RemotingRuntimeContextSlot<>. A
    System.NotSupportedException will be thrown if you try to assign any type
    other than the three types mentioned.
    (#4542)

  • Added Logs Bridge
    API

    implementation (LoggerProviderBuilder, LoggerProvider, Logger, etc.).
    (#4433)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added extension methods to support using the Logs Bridge
    API

    implementation (eg LoggerProviderBuilder) with dependency injection.
    (#4433)

OpenTelemetry.Exporter.Console

  • Add back support for Exemplars. See
    exemplars for
    instructions to enable exemplars.
    (#4553)

  • Updated to display Severity and SeverityText text instead of
    ILogger.LogLevel when exporting LogRecord instances.
    (#4568)

  • Added LoggerProviderBuilder.AddConsoleExporter registration extension.
    (#4583)

OpenTelemetry.Exporter.InMemory

  • Added LoggerProviderBuilder.AddInMemoryExporter registration extension.
    (#4584)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Merged OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs package into
    OpenTelemetry.Exporter.OpenTelemetryProtocol. Going Forward,
    OpenTelemetry.Exporter.OpenTelemetryProtocol will be the only package needed
    for all 3 signals (Logs, Metrics, and Traces). All the changes made in
    OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
    are now included in this package.
    (#4556)

  • Add back support for Exemplars. See
    exemplars for
    instructions to enable exemplars.
    (#4553)

  • Updated Grpc.Net.Client to 2.45.0 to fix unobserved exception from failed
    calls.
    (#4573)

  • Updated to support Severity and SeverityText when exporting LogRecords.
    (#4568)

  • Updated Grpc.Net.Client to 2.52.0 to address the vulnerability reported by
    CVE-2023-32731. Refer to
    grpc/grpc#32309
    for more details.
    (#4647)