This file contains individual changes for the OpenTelemetry.Api package. For highlights and announcements covering all components see: Release Notes.
Released 2025-Jan-22
Released 2025-Jan-15
Released 2024-Dec-11
Released 2024-Nov-12
- Updated
System.Diagnostics.DiagnosticSourcepackage version to9.0.0. (#5967)
Released 2024-Nov-01
Released 2024-Sep-30
-
Breaking change: CompositeTextMapPropagator.Fields now returns a unioned set of fields from all combined propagators. Previously this always returned an empty set. (#5745)
-
Optimize performance of
TraceContextPropagator.Extract. (#5749) -
Obsoleted the
ActivityExtensions.GetStatusandActivityExtensions.SetStatusextension methods. Users should migrate to theSystem.Diagnostics.DiagnosticSourceActivity.SetStatus API for setting the status and Activity.Status & Activity.StatusDescription APIs for reading the status of anActivityinstance. (#5781) -
Updated
System.Diagnostics.DiagnosticSourcepackage version to9.0.0-rc.1.24431.7. (#5853) -
Obsoleted the
ActivityExtensions.RecordExceptionextension method. Users should migrate to theSystem.Diagnostics.DiagnosticSourceActivity.AddException API for adding exceptions on anActivityinstance. (#5841)
Released 2024-Jun-14
- Breaking change: Revert space character encoding change from
+to%20for baggage item values from #5303 (#5687)
Released 2024-Jun-07
- The experimental APIs previously covered by
OTEL1000(LoggerProvider,LoggerProviderBuilder, &IDeferredLoggerProviderBuilder) are now part of the public API and supported in stable builds. (#5648)
Released 2024-May-20
- Breaking change: Fix space character encoding from
+to%20for baggage item values when propagating baggage as defined in W3C Baggage propagation format specification. (#5303)
Released 2024-Apr-17
Released 2024-Apr-02
Released 2024-Mar-27
Released 2024-Mar-14
Released 2023-Dec-08
Released 2023-Nov-29
- Updated
System.Diagnostics.DiagnosticSourcepackage version to8.0.0. (#5051)
Released 2023-Oct-16
-
Fixed a bug which caused
Tracer.StartRootSpanto generate a child span if a trace was running (Activity.Current != null). (#4890) -
Added a
Tracercache inside ofTracerProviderto prevent repeated calls toGetTracerfrom leaking memory. (#4906) -
Fix
TraceContextPropagatorby validating the first digit of the hex-encodedtrace-flagsfield of thetraceparentheader. (#4893)
Released 2023-Sep-05
Released 2023-Aug-21
Released 2023-Jul-12
-
Updated
System.Diagnostics.DiagnosticSourcepackage version to7.0.2. (#4576) -
Breaking change: In order to make
RuntimeContextcompatible with ahead-of-time compilation (AOT),RuntimeContext.ContextSlotTypecan only be assigned one of the following types:AsyncLocalRuntimeContextSlot<>,ThreadLocalRuntimeContextSlot<>, andRemotingRuntimeContextSlot<>. ASystem.NotSupportedExceptionwill be thrown if you try to assign any type other than the three types mentioned. (#4542) -
Experimental (pre-release builds only): Added Logs Bridge API implementation (
LoggerProviderBuilder,LoggerProvider,Logger, etc.). (#4433, #4735)
Released 2023-Jun-26
Released 2023-Jun-05
Released 2023-May-25
Released 2023-Mar-31
Released 2023-Mar-07
Released 2023-Feb-24
Released 2023-Feb-10
Released 2023-Feb-01
Released 2023-Jan-09
Released 2022-Dec-12
- Updated to System.Diagnostics.DiagnosticSource version
7.0.0.
Released 2022-Nov-07
- Updated to System.Diagnostics.DiagnosticSource version
7.0.0-rc.2.22472.3.
Released 2022-Oct-17
Released 2022-Sep-29
- Updated to System.Diagnostics.DiagnosticSource version
7.0.0-rc.1.22426.10. (#3698)
Released 2022-Aug-18
-
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. End of support dates for .NET are published here.
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
SuppressTfmSupportBuildWarningsMSBuild property.This does not affect applications targeting .NET Framework. #3539
Released 2022-Aug-02
- Add
Activity.RecordExceptionoverload accepting additional attributes to add to theActivityEvent. #3433
Released 2022-Jun-03
Released 2022-June-1
B3Propagatorclass fromOpenTelemetry.Extensions.Propagatorsnamespace has been deprecated and moved as is to a newOpenTelemetry.Extensions.Propagatorsnamespace, shipped as part of theOpenTelemetry.Extensions.Propagatorspackage. It will be removed in the next major release, see issue #3259
Released 2022-May-16
Released 2022-Apr-15
- Removes .NET Framework 4.6.1. The minimum .NET Framework version supported is .NET 4.6.2. (#3190)
Released 2022-Apr-15
Released 2022-Apr-12
Released 2022-Mar-30
Released 2022-Mar-04
- Improved wildcard support for
AddSource,AddMeterto cover?(which matches exactly one character). (#2875)
Released 2022-Feb-02
- Added
ParentSpanIdtoTelemetrySpan(#2740)
Released 2021-Nov-29
Released 2021-Nov-19
- Updated System.Diagnostics.DiagnosticSource to version 6.0.0. (#2582)
Released 2021-Oct-08
-
Added
IDeferredMeterProviderBuilder(#2412) -
Breaking: Renamed
AddSourcetoAddMeteron MeterProviderBuilder to better reflect the intent of the method.
Released 2021-Sep-23
- Updated System.Diagnostics.DiagnosticSource to version 6.0.0-rc.1.21451.13
Released 2021-Sep-13
- Static Baggage operations (
SetBaggage,RemoveBaggage, &ClearBaggage) are now thread-safe. Instance-based Baggage operations no longer mutateBaggage.Current(breaking behavior change). For details see: (#2298)
Released 2021-Aug-24
Released 2021-Jul-23
-
Add Metrics support.(#2174)
-
Removes .NET Framework 4.5.2, .NET 4.6 support. The minimum .NET Framework version supported is .NET 4.6.1. (#2138)
Released 2021-Jul-12
Released 2021-Jun-25
- Added
IDeferredTracerProviderBuilder. (#2058)
Released 2021-Jun-09
Released 2021-May-11
- Adds
AddLegacySource()toTracerProviderBuilder(#2019)
Released 2021-Apr-23
BaggagePropagatornow usesbaggageas the header name instead ofBaggagetoExtractfrom andInjecttocarrier(#2003)
Released 2021-Mar-19
Released 2021-Feb-10
Released 2021-Feb-09
Released 2021-Feb-04
- Relax System.* packages version requirement to remove upper bound.
- Require System.Diagnostics.DiagnosticSource package 5.0.1.
Released 2021-Jan-29
- In order to align with the
spec
the
Status(otel.status_code) tag (added onActivityusing theSetStatusextension) will now be set as theUNSET,OK, orERRORstring representation instead of the0,1, or2integer representation. (#1579 #1620) - Metrics API/SDK support is in an experimental state and is not recommended for
production use. All metric APIs have been marked with the
Obsoleteattribute. See #1501 for more information. (#1611) Status.WithDescriptionwill now ignore the provided description if theStatus.StatusCodeis anything other thanERROR. (#1655)- Relax System.Diagnostics.DiagnosticSource version requirement to allow versions >=5.0. Previously only versions up to 6.0 (excluding 6.0) was allowed.
- Metrics removed as it is not part 1.0.0 release. See issue #1501 for details on Metric release plans.
Released 2020-Nov-17
- Updated System.Diagnostics.DiagnosticSource to version 5.0.0
- Mark Activity extension methods as internal as these are not required to be public. GetTagValue, EnumerateTags, EnumerateLinks, EnumerateEvents. See #1544 for full changes.
- Changed SpanHelper class from public to internal. Moved SpanHelper.cs to OpenTelemetry.Api\Internal (#1555)
Released 2020-Nov-5
- Removed
IsValidproperty fromStatus(#1415) - Removed
IsOkproperty fromStatusand fixedStatusCodeenum values (#1414) B3Propagatornow supports the valuetrueto be passed in for the headerX-B3-Sampled. (#1413)- Moving grpc status and helper to grpc project (#1422)
- Renamed TextMapPropagator to TraceContextPropagator, CompositePropagator to CompositeTextMapPropagator. IPropagator is renamed to TextMapPropagator and changed from interface to abstract class. (#1427)
- Added GlobalPropagators API via Propagators.DefaultTextMapPropagator. (#1427)
- Changed SpanAttributeConstants from public to internal (#1457)
Released 2020-Oct-16
IActivityTagEnumeratoris nowIActivityEnumerator<T>. AddedEnumerateLinksextension method onActivityfor retrieving links efficiently (#1314)- Added
EnumerateEventsextension method onActivityfor retrieving events efficiently (#1319) - Added
EnumerateTagsextension methods onActivityLink&ActivityEventfor retrieving tags efficiently. RenamedActivity.EnumerateTagValues->Activity.EnumerateTags. (#1320) - Updated System.Diagnostics.DiagnosticSource to version 5.0.0-rc.2.20475.5 (#1346)
- Updated Span Status as per new spec (#1313)
Released 2020-Sep-15
- Updated System.Diagnostics.DiagnosticSource to version 5.0.0-rc.1.20451.14 (#1265)
- Added
GetTagValueextension method onActivityfor retrieving tag values efficiently (#1221) - Added
EnumerateTagValuesextension method onActivityfor enumerating tag values efficiently (#1236)
Released 2020-08-28
LinkandTelemetrySpanare usingSpanAttributesinstead ofActivityTagsCollectionorDictionary(#1120)- Added
RecordExceptioninTelemetrySpan(#1116) PropagationContextis now used instead ofActivityContextin theITextFormatAPI (#1048)- Added
BaggageFormatanITextFormatimplementation for managing Baggage propagation via the W3C Baggage header (#1048) - Removed
DistributedContextas it is no longer part of the spec (#1048) - Renaming from
ottootel(#1046) - Added
RuntimeContextAPI (#948) - Changed
Linkconstructor to acceptActivityTagsCollectioninstead ofIDictionary<string, object>attributes (#954) - Added more
TelemetrySpan.SetAttributeoverloads with value of type bool, int, double (string already existed) (#954) - Changed
TelemetrySpan.SetAttributeto match the spec (#954)- Setting an attribute with an existing key now results in overwriting it
- Setting null value has no impact except if null is set to an existing key, it gets removed
- Changed
HttpStatusCodein all spans attribute (http.status_code) to use int value (#998) - Added
CompositePropagatorwhich accepts a list ofITextFormatto match the spec (#923) - Replaced
ITextFormatActivitywithITextFormat(#923) - Added
StartRootSpanandStartActiveSpan(#994) - Changed
StartSpanto not set the created span as Active to match the spec (#994) - Updated System.Diagnostics.DiagnosticSource to version 5.0.0-preview.8.20407.11.
- Removed
CorrelationContextand addedBaggage, an implementation of theBaggage APIspec (#1106) - Renamed
TraceContextFormattoTextMapPropagator,BaggageFormattoBaggagePropagator, andB3FormattoB3Propagator(#1175) - Renamed
ITextPropagatortoIPropagator(#1190)
Released 2020-07-24
- First beta release
Released 2020-07-23
- Initial release