Releases: open-telemetry/opentelemetry-dotnet
1.5.1
OpenTelemetry
-
Fixed a breaking change causing
LogRecord.State
to benull
where it was previously set to a valid value whenOpenTelemetryLoggerOptions.ParseStateValues
isfalse
and states implementIReadOnlyList
orIEnumerable
ofKeyValuePair<string, object>
s. (#4609) -
Breaking Change Removed the support for parsing
TState
types passed to theILogger.Log<TState>
API whenParseStateValues
is true andTState
does not implement eitherIReadOnlyList<KeyValuePair<string, object>>
orIEnumerable<KeyValuePair<string, object>>
. This feature was first introduced in the1.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
OpenTelemetry
-
Fixed a bug introduced by
#4508 in
1.5.0-rc.1 which caused the "Build" extension to returnnull
when performing
chained/fluent calls.
(#4529) -
Marked
Exemplars
and related APIsinternal
as the spec forExemplars
is
not stable yet. This would be added back in the1.6.*
prerelease versions
right after1.5.0
stable version is released.
(#4533)
OpenTelemetry.Api.ProviderBuilderExtensions
- Added an
IServiceCollection.ConfigureOpenTelemetryMeterProvider
overload
which may be used to configureMeterProviderBuilder
s while the
IServiceCollection
is modifiable (before theIServiceProvider
has been
created).
(#4517)
OpenTelemetry.Exporter.Console
- Remove support for exporting
Exemplars
. This would be added back in the
1.6.*
prerelease versions right after1.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 after1.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 theirOnEnd
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 frameworksnetstandard2.0
andnetstandard2.1
which has a
reference toMicrosoft.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
1.5.0-rc.1
OpenTelemetry
-
The default resource provided by
ResourceBuilder.CreateDefault()
now adds
thetelemetry.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
andStateValues
properties and addedBody
and
Attributes
properties onLogRecord
. 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
(akaLogRecord.StateValues
) are now automatically
included for all log messages with states implementingIReadOnlyList
or
IEnumerable
. -
OpenTelemetryLoggerOptions.ParseStateValues
is now used to tell the SDK to
parse (using reflection) attributes for custom states which do not implement
IReadOnlyList
orIEnumerable
. 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 tofalse
).
(#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 configureTracerProviderBuilder
s while the
IServiceCollection
is modifiable (before theIServiceProvider
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 asAttributes
, andState
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
to3.19.4
(see
#4201).
This also reintroduces theSystem.Reflection.Emit.Lightweight
dependency.
(#4407)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
-
The
OpenTelemetryLoggerOptions.AddOtlpExporter
extension no longer
automatically setsOpenTelemetryLoggerOptions.ParseStateValues
totrue
.
The OpenTelemetry SDK now automatically setsAttributes
(akaStateValues
)
for the common cases whereParseStateValues
was previously required.
ParseStateValues
can be set totrue
manually by users to enable parsing of
custom states which do not implementIReadOnlyList
/IEnumerable
interfaces.
(#4334) -
Updated to use the new
LogRecord.Attributes
field asLogRecord.StateValues
is now marked obsolete. There is no impact to transmitted data (StateValues
andAttributes
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
OpenTelemetry
-
Enabling
SetErrorStatusOnException
on TracerProvider will now set theStatus
property on Activity toActivityStatusCode.Error
in case of an error. This will be done in addition to current behavior of settingotel.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
-
Add support for exporting histograms aggregated using the Base2 Exponential Bucket Histogram Aggregation. (#4337)
-
Added support to set
TraceState
when converting the System.Diagnostics.Activity object to its corresponding OpenTelemetry.Proto.Trace.V1.Span object. (#4331)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
OpenTelemetry.Exporter.Zipkin
OpenTelemetry.Extensions.Hosting
OpenTelemetry.Extensions.Propagators
1.5.0-alpha.1 of all core components
OpenTelemetry
-
Added Exemplar support. See exemplars for instructions to enable exemplars.
-
Added
AddDetector
factory overload onResourceBuilder
. (#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 to3.22.0
so
that a new performance feature can be used instead of reflection. Removed the
dependency onSystem.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
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
OpenTelemetry
-
Removed the dependency on System.Reflection.Emit.Lightweight (#4140)
-
Moved the
AddOpenTelemetry
extension into theOpenTelemetry.Extensions.Hosting
package so that theStartWithHost
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 removedStartWithHost
.AddOpenTelemetry
now registers theIHostedService
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
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
toOpenTelemetry.Api.ProviderBuilderExtensions
. (#4125)
OpenTelemetry.Exporter.Console
OpenTelemetry.Exporter.InMemory
OpenTelemetry.Exporter.Jaeger
OpenTelemetry.Exporter.OpenTelemetryProtocol
- Include User-Agent header per the specification. (#4120)
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
1.4.0-rc.2
OpenTelemetry
- Performance Improvement: Update the internal structure used to store metric dimensions from a combination of
string[]
andobject[]
to aKeyValuePair<string, object>[]
. This results in faster copying of the metric dimensions required forMetricPoint
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
- 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)