Released 2026-Jan-21
- Updated OpenTelemetry core component version(s) to
1.15.0. (#3721)
Released 2026-Jan-13
-
Remove support for the
OTEL_SEMCONV_STABILITY_OPT_INconfiguration option. Previously, the old conventions were emitted by default with the option to emit the stable conventions. Now, only the stable conventions are supported. (#3592) -
Improve SQL parsing for sanitization and summary generation. Support additional cases for escaped identifiers. Optimize performance of parsing logic. (#3627)
-
Improve SQL parsing for sanitization for Unicode string literals. (#3662)
-
Sanitize the object name for SQL query text using the LOGIN or USER keywords and remove from query summaries. (#3663)
-
Improve SQL parsing to generate query summaries for more T-SQL keywords. (#3671)
-
Make additional attributes available on
Activitystart. The full list of attributes available at time of sampling now conforms with the semantic conventions. (#3675) -
Metrics and spans report telemetry schema URL v1.33.0. (#3680)
Released 2025-Nov-13
-
Add support for .NET 10.0. (#2822)
-
Update .NET 10.0 NuGet package versions from
10.0.0-rc.2.25502.107to10.0.0. (#3403) -
Updated OpenTelemetry core component version(s) to
1.14.0. (#3403)
Released 2025-Nov-03
- Fix diacritic identifier parsing hang and improve FROM clause parsing. (#3368)
Released 2025-Oct-22
- Updated OpenTelemetry core component version(s) to
1.13.1. (#3218)
Released 2025-Sep-25
-
Add
db.query.parameter.<key>attribute(s) to query spans if opted into using theOTEL_DOTNET_EXPERIMENTAL_SQLCLIENT_ENABLE_TRACE_DB_QUERY_PARAMETERSenvironment variable. Not supported on .NET Framework. (#3015, #3081) -
Fix activities not being stopped on .NET Framework when using a global activity listener. (#3041)
-
Breaking change: The
SetDbStatementForTextproperty has been removed. Behaviors related to this option are now always enabled. (#3072) -
Breaking change: The
Enrich,FilterandRecordExceptionproperties have been removed for .NET Framework where they were non-functional. (#3079) -
Breaking change: The
Enrichproperty has been renamed toEnrichWithSqlCommandand no longer passes an event name to the delegate. (#3080)
Released 2025-Jul-15
-
Add the
db.operation.nameattribute whenCommandTypeisStoredProcedureto conform to the new semantic conventions. This affects you if you have opted into the new conventions. (#2800) -
Add the
db.query.summaryattribute. This affects you if you have opted into the new conventions. (#2811) -
Added
OTEL_DOTNET_EXPERIMENTAL_SQLCLIENT_ENABLE_TRACE_CONTEXT_PROPAGATIONenvironment variable to propagate trace context to SQL Server databases. This will remain experimental while the specification remains in development. It is now only available on .NET 8 and newer. (#2709)Propagate
traceparentinformation to SQL Server databases (see SET CONTEXT_INFO). Note that this option incurs an additional round-trip to the database.
Released 2025-May-06
-
Fix issue where IPv6 addresses were improperly parsed from the the connection's
DataSourcewhen used to populate theserver.addressattribute. (#2674) -
Updates have been made to adhere to recent changes in the new semantic conventions. These affect you if you have opted in to the new conventions. When
CommandTypeisStoredProcedure, thedb.stored_procedure.namehas been added and thedb.query.text,db.operation.name, anddb.collection.nameattributes have been removed. (#2693) -
Updated OpenTelemetry core component version(s) to
1.12.0. (#2725) -
Fixes an issue that throws
IndexOutOfRangeExceptioninSqlProcessorwhen the SQL statement ends with the beginning of a keyword such asUPDATE. (#2674)
Released 2025-Mar-05
- Updated OpenTelemetry core component version(s) to
1.11.2. (#2582)
Released 2025-Jan-27
-
Breaking change The
EnableConnectionLevelAttributesoption has been removed. (#2414) -
The
db.client.operation.durationhistogram (measured in seconds) produced by the metrics instrumentation in this package now uses the Advice API to set default explicit buckets following the OpenTelemetry Specification. (#2430) -
Enabling
SetDbStatementForTextwill no longer capture the raw query text. The query is now sanitized. Literal values in the query text are replaced by a?character. (#2446) -
Updated OpenTelemetry core component version(s) to
1.11.1. (#2477)
Released 2024-Dec-09
-
Drop support for .NET 6 as this target is no longer supported. (#2159)
-
The new database semantic conventions can be opted in to by setting the
OTEL_SEMCONV_STABILITY_OPT_INenvironment 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:database- emit the new, frozen (proposed for stable) database attributes, and stop emitting the old experimental database attributes that the instrumentation emitted previously.database/dup- emit both the old and the frozen (proposed for stable) database attributes, allowing for a more seamless transition.- The default behavior (in the absence of one of these values) is to continue emitting the same database semantic conventions that were emitted in the previous version.
- Note: this option will be removed after the new database semantic conventions is marked stable. At which time this instrumentation can receive a stable release, and the old database semantic conventions will no longer be supported. Refer to the specification for more information regarding the new database semantic conventions for spans. (#2229, #2277, #2262, #2279)
-
Breaking change: The
peer.serviceandserver.socket.addressattributes are no longer emitted. Users should rely on theserver.addressattribute for the same information. Note thatserver.addressis only included when theEnableConnectionLevelAttributesoption is enabled. (#2229) -
Breaking change: When
EnableConnectionLevelAttributesis enabled, theserver.portattribute will now be written as an integer to be compliant with the semantic conventions. Previously, it was written as a string. (#2233) -
The
EnableConnectionLevelAttributesoption is now enabled by default. (#2249) -
The following attributes are now provided when starting an activity for a database call:
db.system,db.name(old conventions),db.namespace(new conventions),server.address, andserver.port. These attributes are now available for sampling decisions. (#2277) -
Breaking change: The
SetDbStatementForStoredProcedureoption has been removed. (#2284) -
Add support for metric
db.client.operation.durationfrom new database semantic conventions on .NET 8+. (#2309) -
Add support for metric
db.client.operation.durationfrom new database semantic conventions on .NET Framework. (#2311)- Only the following attributes are available when a trace is not captured:
db.system,db.response.status_code, anderror.type
- Only the following attributes are available when a trace is not captured:
-
Updated OpenTelemetry core component version(s) to
1.10.0. (#2317)
Released 2024-Jun-17
-
ActivitySource.Versionis set to NuGet package version. (#5498) -
Updated OpenTelemetry core component version(s) to
1.9.0. (#1888)
Released 2024-Apr-04
Released 2024-Feb-09
-
Removed support for the
OTEL_SEMCONV_STABILITY_OPT_INenvironment variable which toggled the use of the new conventions for the server, client, and shared network attributes. Now that this suite of attributes are stable, this instrumentation will only emit the new attributes. (#5270) -
Breaking Change: Renamed
SqlClientInstrumentationOptionstoSqlClientTraceInstrumentationOptions. (#5285) -
Breaking Change: Stop emitting
db.statement_typeattribute. This attribute was never a part of the semantic conventions. (#5301)
Released 2023-Nov-17
- Updated
Microsoft.Extensions.ConfigurationandMicrosoft.Extensions.Optionspackage version to8.0.0. (#5051)
Released 2023-Oct-26
Released 2023-Jul-20
- The new network semantic conventions can be opted in to by setting
the
OTEL_SEMCONV_STABILITY_OPT_INenvironment 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) networking attributes, and stop emitting the old experimental networking attributes that the instrumentation emitted previously.http/dup- emit both the old and the frozen (proposed for stable) 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 network semantic conventions that were emitted in
1.5.0-beta.1. - Note: this option will eventually be removed after the new network semantic conventions are marked stable. Refer to the specification for more information regarding the new network semantic conventions for spans. (#4644)
Released 2023-Jun-05
- Bumped the package version to
1.5.0-beta.1to keep its major and minor version in sync with that of the core packages. This would make it more intuitive for users to figure out what version of core packages would work with a given version of this package. The pre-release identifier has also been changed fromrctobetaas we believe this more accurately reflects the status of this package. We believe thercidentifier will be more appropriate as semantic conventions reach stability.
Released 2023-Feb-24
- Updated OpenTelemetry.Api.ProviderBuilderExtensions dependency to 1.4.0
Released 2023-Feb-10
Released 2023-Feb-01
Released 2023-Jan-09
Released 2022-Dec-12
-
Breaking change: The same API is now exposed for
net462andnetstandard2.0targets.SetDbStatementhas been removed. UseSetDbStatementForTextto capture command text and stored procedure names on .NET Framework. Note:Enrich,Filter,RecordException, andSetDbStatementForStoredProcedureoptions are NOT supported on .NET Framework. (#3900) -
Added overloads which accept a name to the
TracerProviderBuilderAddSqlClientInstrumentationextension to allow for more fine-grained options management (#3994)
Released 2022-Nov-07
Released 2022-Oct-17
-
Use
Activity.StatusandActivity.StatusDescriptionproperties instead ofOpenTelemetry.Trace.StatusandOpenTelemetry.Trace.Status.Descriptionrespectively to set activity status. (#3118) (#3751) -
Add support for Filter option for non .NET Framework Targets (#3743)
Released 2022-Sep-29
Released 2022-Aug-18
Released 2022-Aug-02
- Update the
ActivitySource.Namefrom "OpenTelemetry.SqlClient" to "OpenTelemetry.Instrumentation.SqlClient". (#3435)
Released 2022-Jun-03
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-12
Released 2022-Mar-30
Released 2022-Mar-04
Released 2022-Feb-02
Released 2021-Oct-08
- Removes .NET Framework 4.5.2 support. The minimum .NET Framework version supported is .NET 4.6.1. (#2138)
Released 2021-Jul-12
Released 2021-Jun-25
Released 2021-Jun-09
Released 2021-Apr-23
-
Instrumentation modified to depend only on the API.
-
Activities are now created with the
db.systemattribute set for usage during sampling. (#1979)
Released 2021-Mar-19
Released 2021-Jan-29
-
Microsoft.Data.SqlClient v2.0.0 and higher is now properly instrumented on .NET Framework. (#1599)
-
SqlClientInstrumentationOptions API changes:
SetStoredProcedureCommandNameandSetTextCommandContenthave been renamed toSetDbStatementForStoredProcedureandSetDbStatementForText. They are now only available on .NET Core. On .NET Framework they are replaced by a singleSetDbStatementproperty. -
On .NET Framework, "db.statement_type" attribute is no longer set for activities created by the instrumentation.
-
New setting on SqlClientInstrumentationOptions on .NET Core:
RecordExceptioncan be set to instruct the instrumentation to record SqlExceptions as Activity events. (#1592)
Released 2020-Nov-17
- SqlInstrumentation sets ActivitySource to activities created outside ActivitySource. (#1515)
Released 2020-Nov-5
Released 2020-Oct-16
-
Instrumentation no longer store raw objects like
objectin Activity.CustomProperty. To enrich activity, use the Enrich action on the instrumentation. (#1261) -
Span Status is populated as per new spec (#1313)
Released 2020-Sep-15
Released 2020-08-28
-
.NET Core SqlClient instrumentation will now add the raw Command object to the Activity it creates (#1099)
-
Renamed from
AddSqlClientDependencyInstrumentationtoAddSqlClientInstrumentation
Released 2020-07-24
- First beta release
Released 2020-07-23
- Initial release