Microsoft/ApplicationInsights-dotnet (Microsoft.ApplicationInsights.WindowsServer)
### [`v2.22.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2220)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.21.0...2.22.0)
- no changes since beta.
### [`v2.21.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2210)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.20.0...2.21.0)
- no changes since beta.
### [`v2.20.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2200-beta1)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.19.0...2.20.0)
- [Allow Control of Documents sampling for QuickPulse telemetry](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2425)
### [`v2.19.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2190)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.18.0...2.19.0)
- Support for .Net6
### [`v2.18.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2180)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.17.0...2.18.0)
- [Change Self-Diagnostics to include datetimestamp in filename](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2325)
- [AAD: Add logging to AuthenticationTransmissionPolicy](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2319)
- [QuickPulse: Bump the number of custom dimensions included into full documents for QuickPulse from 3 to 10, make the selection consistent](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2341)
### [`v2.17.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2170)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.16.0...2.17.0)
- [Fix: telemetry parent id when using W3C activity format in TelemetryDiagnosticSourceListener](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/2142)
- [Add ingestion response duration for transmission to data delivery status - TransmissionStatusEventArgs](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2157)
- [Update default Profiler and Snapshot Debugger endpoints](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/2166)
### [`v2.16.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2160)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.15.0...2.16.0)
- [QuickPulseTelemetryModule and MonitoringDataPoint have a new Cloud Role Name field for sending with ping and post requests to QuickPulse Service.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2100)
- [Upgrade to System.Diagnostics.DiagnosticSource v5.0.0](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1960)
### [`v2.15.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2150)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.14.0...2.15.0)
- EventCounterCollector module does not add AggregationInterval as a dimension to the metric.
### [`v2.14.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2140)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.13.1...2.14.0)
- no changes since beta.
### [`v2.13.1`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2131)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.13.0...2.13.1)
- [Fix: AspNetCore AddApplicationInsightsSettings() and MissingMethodException](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1702)
### [`v2.13.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2130)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.2...2.13.0)
- no changes since beta.
### [`v2.12.2`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2122)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.1...2.12.2)
- [Fix: AspNetCore AddApplicationInsightsSettings() and MissingMethodException](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1702)
### [`v2.12.1`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2121)
[Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.0...2.12.1)
- [Fix Endpoint configuration bug affecting ServerTelemetryChannel and QuickPulseTelemetryModule](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1648)
### [`v2.12.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Before-2120-our-SDKs-had-separate-repositories)
#### Version 2.11.0
- BASE: Upgrade to System.Diagnostics.DiagnosticSource v4.6
- BASE: [Fix: StartOperation(Activity) does not check for Ids compatibility](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1213)
#### Version 2.11.0-beta2
- BASE: [Fix: Emit warning if user sets both Sampling IncludedTypes and ExcludedTypes. Excluded will take precedence.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1166)
- BASE: [Minor perf improvement by reading Actity.Tag only if required.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1170)
- BASE: [Fix: Channels not handling AggregateException, not logging full HttpRequestException.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1173)
- BASE: [Metric Aggregator background thread safeguards added to never throw unhandled exception.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1179)
- BASE: [Updated version of System.Diagnostics.DiagnosticSource to 4.6.0-preview7.19362.9. Also remove marking SDK as CLS-Compliant](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1183)
- BASE: [Enhancement: Exceptions thrown by the TelemetryConfiguration will now specify the exact name of the property that could not be parsed from a config file.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1194)
- BASE: [Fix: ServerTelemetryChannel constructor exception when network info API throws.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1184)
- BASE: [Make BaseSDK use W3C Trace Context based correlation by default. Set TelemetryConfiguration.EnableW3CCorrelation=false to disable this.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1193)
- BASE: [Removed TelemetryConfiguration.EnableW3CCorrelation. Users should do Activity.DefaultIdFormat = ActivityIdFormat.Hierarchical; Activity.ForceDefaultIdFormat = true; to disable W3C Format](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1198)
- BASE: [Enable sampling based on upstream sampling decision for adaptive sampling](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1200)
- BASE: [Fix: StartOperation ignores user-provided custom Ids in scope of Activity](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1205)
- BASE: [Set tracestate if available on requests and dependencies](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1207)
#### Version 2.11.0-beta1
- BASE: [Performance fixes: Support Head Sampling; Remove NewGuid(); Sampling Flags; etc... ](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1158)
- BASE: [Deprecate TelemetryConfiguration.Active on .NET Core in favor of dependency injection pattern](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1152)
- BASE: [Make TrackMetric() visible. This method is not recommended unless you are sending pre-aggregated metrics.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1149)
#### Version 2.10.0
- BASE: [SDKVersion modified to be dotnetc for NetCore. This helps identify the source of code path, as implementations are slightly different for NetCore.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1125)
- BASE: [Fix telemetry timestamp precision on .NET Framework](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1175)
- BASE: [Fix: catch SecurityException when ApplicationInsights config is read in partial trust](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1119)
#### Version 2.10.0-beta4
- BASE: [Fix NullReferenceException in DiagnosticsEventListener.OnEventWritten](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1106)
- BASE: [Fix RichPayloadEventSource can get enabled at Verbose level](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1108)
- BASE: [Fix DiagnosticsTelemetryModule can get added more than once](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1111)
- BASE: [Modify default settings for ServerTelemetryChannel to reduce disk usage. MaxTransmissionSenderCapacity is changed from 3 to 10, MaxTransmissionBufferCapacity is changed from 1MB to 5MB](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1113)
#### Version 2.10.0-beta3
- BASE: No changes. Bumping version to match WebSDK release.
#### Version 2.10.0-beta2
- BASE: [Fix Transmission in NETCORE to handle partial success (206) response from backend.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1047)
- BASE: [Fix data losses in ServerTelemetryChannel.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1049)
- BASE: \[InitialSamplingRate is now correctly applied if set in applicationInsights.config] [https://github.com/Microsoft/ApplicationInsights-dotnet/pull/1048](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1048)8)
- BASE: Added new target for NetStandard2.0.
#### Version 2.9.1
- BASE: [Aggregation thread is now a background thread](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1080)
#### Version 2.9.0
- BASE: [Move W3C methods from Web SDK](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1064)
#### Version 2.9.0-beta3
- BASE: [Flatten IExtension and Unknown ITelemetry implementations for Rich Payload Event Source consumption](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1017)
- BASE: [Fix: Start/StopOperation with W3C distributed tracing enabled does not track telemetry](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1031)
- BASE: [Fix: Do not run metric aggregation on a thread pool thread](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1028)
#### Version 2.9.0-beta2
- BASE: [Remove unused reference to System.Web.Extensions](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/956)
- BASE: [PageViewTelemetry](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/8673ed1d15005713755e0bb9594acfe0ee00b869/src/Microsoft.ApplicationInsights/DataContracts/PageViewTelemetry.cs) now supports [ISupportMetrics](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/39a5ef23d834777eefdd72149de705a016eb06b0/src/Microsoft.ApplicationInsights/DataContracts/ISupportMetrics.cs)
- BASE: [Fixed a bug in TelemetryContext which prevented rawobject store to be not available in all sinks.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/974)
- BASE: [Fixed a bug where TelemetryContext would have missing values on secondary sinks](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/993)
- BASE: [Fixed race condition in BroadcastProcessor which caused it to drop TelemetryItems](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/995)
- BASE: [Custom Telemetry Item that implements ITelemetry is no longer dropped, bur rather serialized as EventTelemetry and handled by the channels accordingly](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/988)
- BASE: [IExtension is now serialized into the Properties and Metrics](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1000)
Perf Improvements.
- BASE: [Improved Perf of ITelemetry JsonSerialization](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/997)
- BASE: [Added new method on TelemetryClient to initialize just instrumentation. This is to be used by autocollectors to avoid calling TelemetryInitializers twice.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/966)
- BASE: [RequestTelemetry modified to lazily instantiate ConcurrentDictionary for Properties](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/969)
- BASE: [RequestTelemetry modified to not service public fields with data class to avoid converting between types.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/965)
- BASE: [Dependency Telemetry modified to lazily instantiate ConcurrentDictionary for Properties](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1002)
- BASE: [Avoid string allocations in Metrics hot path](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1004)
#### Version 2.8.1
[Patch release addressing perf regression.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/952)
#### Version 2.8.0
- BASE: [New API to store/retrieve any raw objects on TelemetryContext to enable AutoCollectors to pass additional information for use by TelemetryInitializers.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/937)
- BASE: Perf Improvements
[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/927](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/927)/[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/930](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/930)s[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/934](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/934)t/issues/934
- BASE: Fix: [Response code shouldn't be overwritten to 200 if not set](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/918)
#### Version 2.8.0-beta2
- BASE: [TelemetryProcessors (sampling, autocollectedmetricaggregator), TelemetryChannel (ServerTelemetryChannel) added automatically to the default ApplicationInsights.config are moved under the default telemetry sink.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/907)
If you are upgrading, and have added/modified TelemetryProcessors/TelemetryChannel, make sure to copy them to the default sink section.
#### Version 2.8.0-beta1
- BASE: [Add a new distinct properties collection, GlobalProperties, on TelemetryContext, and obsolete the Properties on TelemetryContext.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/820)
- BASE: [Added support for strongly typed extensibility for Telemetry types using IExtension.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/871)
- BASE: \[New method SerializeData(ISerializationWriter writer) defined in ITelemetry. All existing types implement this method to emit information about it's fields to channels who can serialize this data]
(continuatio[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/871](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/871)s/871)
- BASE: [Allow to track PageViewPerformance data type](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/673).
- BASE: Added method `ExceptionDetailsInfoList` on `ExceptionTelemetry` class that gives control to user to update exception
message and exception type of underlying `System.Exception` object that user wants to send to telemetry. Related discussion is [here](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/498).
- BASE: Added an option of creating ExceptionTelemetry object off of custom exception information rather than a System.Exception object.
- BASE: [Add support for hex values in config](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/551)
#### Version 2.7.2
- BASE: Metrics: Renamed TryTrackValue(..) into TrackValue(..).
- BASE: Metrics: Removed some superfluous public constants.
#### Version 2.7.0-beta3
- BASE: [Allow to set flags on event](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/844). It will be used in conjunction with the feature that will allow to keep IP addresses.
- BASE: [Fix: SerializationException resolving Activity in cross app-domain calls](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/613)
- BASE: [Make HttpClient instance static to avoid re-creating with every transmission. This had caused connection/memory leaks in .net core 2.1](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/594)
Relate[https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/690](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/690)/690)
#### Version 2.7.0-beta2
- BASE: [Fix: NullReferenceException if telemetry is tracked after TelemetryConfiguration is disposed](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/928)
- BASE: [Move the implementation of the extraction of auto-collected (aka standard) metrics from internal legacy APIs to the recently shipped metric aggregation APIs.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/806)
- BASE: [Fix: NullReferenceException in ExceptionConverter.GetStackFrame if StackFrame.GetMethod() is null](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/819)
#### Version 2.7.0-beta1
- BASE: [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/785)
- BASE: [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/900)
#### version 2.6.4
- BASE: [Revert changed namespace: `SamplingPercentageEstimatorSettings`, `AdaptiveSamplingPercentageEvaluatedCallback`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/727)
- BASE: [Add netstandard2.0 target for TelemetryChannel which doesn't have a dependency on Newtonsoft.Json ](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/800)
#### Version 2.6.1
- BASE: [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/785)
- BASE: [Fix: changed namespace SamplingPercentageEstimatorSettings](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/727)
#### Version 2.6.0-beta4
- BASE: [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/763)
- BASE: [Fix: TelemetryClient throws NullReferenceException on Flush if the underlying configuration was disposed](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/755)
#### Version 2.6.0-beta3
- BASE: [Report internal errors from Microsoft.AspNet.TelemteryCorrelation module](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/744)
- BASE: [Fix: Telemetry tracked with StartOperation is tracked outside of corresponding activity's scope](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/864)
- BASE: [Fix: TelemetryProcessor chain building should also initialize Modules.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/549)
- BASE: [Fix: Wrong error message in AutocollectedMetricsExtractor.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/611)
- BASE: [NEW: Interface and Configuration: IApplicationIdProvider.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/739)
- BASE: [NEW: Metrics Pre-Aggregation: New `TelemetryClient.GetMetric(..).TrackValue(..)` and related APIs always locally pre-aggregate metrics before sending. They are replacing the legacy `TelemetryClient.TrackMetric(..)` APIs.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/735) ([More info](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/643).)
#### Version 2.6.0-beta2
- BASE: [Changed signature of TelemetryClient.TrackDependency](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/684)
- BASE: [Added overload of TelemetryClientExtensions.StartOperation(Activity activity).](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/644)
- BASE: [Finalize the architecture for adding default heartbeat properties (supporting proposal from Issue #636).](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/666).
#### Version 2.5.1
- BASE: Fix for missing TelemetryContext. Thank you to our community for discovering and reporting this issue!
[Logic bug within Initialize() in TelemetryContext](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/692),
[Dependency correlation is broken after upgrade to .NET SDK 2.5](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/706),
[Lost many context fields in 2.5.0](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/708)
#### Version 2.5.0-beta2
- BASE: Remove calculation of sampling-score based on Context.User.Id [Issue #625](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/625)
- BASE: New sdk-driven "heartbeat" functionality added which sends health status at pre-configured intervals. See [extending heartbeat properties doc for more information](./docs/ExtendingHeartbeatProperties.md)
- BASE: Fixes a bug in ServerTelemetryChannel which caused application to crash on non-windows platforms.
[Details on fix and workaround #654](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/654)
Original iss[https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/551](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/551)/551)
- BASE: [Fixed a bug with the `AdaptiveSamplingTelemetryProcessor` that would cause starvation over time. Issue #756 (dotnet-server)](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/756)
- BASE: Updated solution to build on Mac!
#### Version 2.5.0-beta1
- BASE: Method `Sanitize` on classes implementing `ITelemetry` no longer modifies the `TelemetryContext` fields. Serialized event json and ETW event will still have context tags sanitized.
- BASE: Application Insights SDK supports multiple telemetry sinks. You can configure more than one channel for telemetry now.
- BASE: New method `DeepClone` on `ITelemetry` interface. Implemented by all supported telemetry items.
- BASE: Server telemetry channel NuGet support a netstandard1.3 target with fixed rate sampling and adaptive sampling telemetry processors.
- BASE: Instrumentation key is no longer required for TelemetryClient to send data to channel(s). This makes it easier to use the SDK with channels other than native Application Insights channels.
- BASE: .NET 4.0 targets were removed. Please use the version 2.4.0 if you cannot upgrade your application to the latest framework version.
- BASE: Removed `wp8`, `portable-win81+wpa81` and `uap10.0` targets.
#### Version 2.4.0
- BASE: Updated version of DiagnosticSource to 4.4.0 stable
#### Version 2.4.0-beta5
- BASE: Updated version of DiagnosticSource referenced.
#### Version 2.4.0-beta4
- BASE: Made Metric class private and fixed various metrics related issues.
#### Version 2.4.0-beta3
#### Version 2.4.0-beta2
- BASE: Removed metric aggregation functionality as there is not enough feedback on the API surface yet.
#### Version 2.4.0-beta1
- BASE: Event telemetry is set to be sampled separately from all other telemetry types. It potentially can double the bill. The reason for this change is that Events are mostly used for usage analysis and should not be subject to sampling on high load of requests and dependencies. Edit `ApplicationInsights.config` file to revert to the previous behavior.
- BASE: Added dependency on System.Diagnostics.DiagnosticsSource package. It is still possible to use standalone Microsoft.ApplicationInsights.dll to track telemetry.
- BASE: StartOperation starts a new System.Diagnostics.Activity and stores operation context in it. StartOperation overwrites OperationTelemetry.Id set before or during telemetry initialization for the dependency correlation purposes.
- BASE: OperationCorrelationTelemetryInitializer initializes telemetry from the Activity.Current. Please refer to https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md for more details about Activity and how to use it
- BASE: `Request.Success` field will not be populated based on `ResponseCode`. It needs to be set explicitly.
- BASE: New "ProblemId" property on ExceptionTelemetry. It can be used to set a custom ProblemId value.
- BASE: Metric Aggregation functionality (originally added in 2.3.0-beta1 but removed in 2.3.0) is re-introduced.
- BASE: Improved exception stack trace data collection for .NET Core applications.
#### Version 2.3.0
- BASE: Includes all changes since 2.2.0 stable release.
- BASE: Removed metric aggregation functionality added in 2.3.0-beta1 release.
- BASE: [Fixed a bug which caused SDK to stop sending telemetry.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/480)
#### Version 2.3.0-beta3
- BASE: [Added overloads of TelemetryClientExtensions.StartOperation.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/163)
- BASE: Fire new ETW events for Operation Start/Stop.
#### Version 2.3.0-beta2
- BASE: Added constructor overloads for TelemetryConfiguration and added creation of a default InMemoryChannel when no channel is specified for a new instance.
TelemetryClient will no longer create an InMemoryChannel on the configuration instance if TelemetryChannel is null, instead the configuration instances will always have a channel when created.
- BASE: TelemetryConfiguration will no longer dispose of user provided ITelemetryChannel instances. Users must properly dispose of any channel instances which they create, the configuration will only auto-dispose of default channel instances it creates when none are specified by the user.
#### Version 2.3.0-beta1
- BASE: Added metric aggregation functionality via MetricManager and Metric classes.
- BASE: Exposed a source field on RequestTelemetry. This can be used to store a representation of the component that issued the incoming http request.
#### Version 2.2.0
- BASE: Includes all changes since 2.1.0 stable release.
#### Version 2.2.0-beta6
- BASE: Added serialization of the "source" property.
- BASE: Downgraded package dependencies to Microsoft.NETCore.App 1.0.1 level.
- BASE: [Fixed the priority of getting an iKey from an environment variable](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/236)
#### Version 2.2.0-beta5
- BASE: Moved from PCL dotnet5.4 to .NET Core NetStandard1.5.
- BASE: Updated dependency versions.
#### Version 2.2.0-beta4
- BASE: Payload sanitization for RichPayloadEventSource.
- BASE: Fix to fallback to an environment variable for instrumentation key when not specified when initializing TelemetryConfiguration.
- BASE: RoleInstance and NodeName are initialized with the machine name by default.
#### Version 2.2.0-beta3
- BASE: Read InstrumentationKey from environment variable APPINSIGHTS_INSTRUMENTATIONKEY if it is was not provided inline. If provided it overrides what is set though configuration file. (Feature is not available in PCL version of SDK).
- BASE: Context properties `NetworkType`, `ScreenResolution` and `Language` marked as obsolete. Please use custom properties to report network type, screen resolution and language. Values stored in these properties will be send as custom properties.
- BASE: Dependency type was updated to reflect the latest developments in Application Insights Application Map feature. You can set a new field - `Target`. `CommandName` was renamed to `Data` for consistency with the Application Analytics schema. `DependencyKind` will never be send any more and will not be set to "Other" by default. Also there are two more constructors for `DependencyTelemetry` item.
- BASE: Type `SessionStateTelemetry` was marked obsolete. Use `IsFirst` flag in `SessionContext` to indicate that the session is just started.
- BASE: Type `PerformanceCounterTelemetry` was marked obsolete. Use `MetricTelemetry` instead.
- BASE: Marked `RequestTelemetry.HttpMethod` as obsolete. Put http verb as part of the name for the better grouping by name and use custom properties to report http verb as a dimension.
- BASE: Marked `RequestTelemetry.StartTime` as obsolete. Use `TimeStamp` instead.
- BASE: [Removed BCL dependency](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/175)
- BASE: [Added IPv6 support](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/316)
- BASE: [Fixed an issue where channels sent expired data from storage](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/278)
- BASE: [Fixed an issue where the clock implementation would accumulate error](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/271)
- BASE: [Fixed an issue where telemetry with emptry properties would be dropped](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/319)
- BASE: [Added support for SDK-side throttling](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/318)
#### Version 2.2.0-beta2
- BASE: InMemoryChannel has a new override for Flush method that accepts timeout.
- BASE: Local storage folder name was changed. That means that when the application stopped, and the application was updated to the new SDK, then the telemetry from the old local folder will not be send.
- BASE: Allow all characters in property names and measurements names.
- BASE: AdaptiveTelemetryProcessor has a new property IncludedTypes. It gets or sets a semicolon separated list of telemetry types that should be sampled. If left empty all types are included implicitly. Types are not included if they are set in ExcludedTypes.
- BASE: Richpayload event source event is generated for all framework versions of SDK (before it was supported in 4.6 only)
- BASE: TelemetryClient has a new method TrackAvailability. Data posted using this method would be available in AppAnalitics only, Azure portal UI is not available at this moment.
#### Version 2.2.0-beta1
- BASE: Add ExceptionTelemetry.Message property. If it is provided it is used instead of Exception.Message property for the outer-most exception.
- BASE: Telemetry types can be excluded from sampling by specifing ExcludedTypes property.
- BASE: ServerTelemetryChannel: changed backoff logic to be less aggressive, added diagnostics event when backoff logic kicks in and added more tracing. (Done to address issues when data stops flowing till application gets restarted)
#### Version 2.1.0-beta4
- BASE: [Bug fix](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/76)
#### Version 2.1.0-beta3
- BASE: Support partial success (206) from the Application Insights backend. Before this change SDK may have lost data because some items of the batch were accepted and some items of the batch were asked to be retried (because of burst throttling or intermittent issues).
- BASE: Bug fixes
#### Version 2.1.0-beta1
- BASE: Upgraded to depend on EventSource.Redist nuget version 1.1.28
- BASE: Upgraded to depend on Microsoft.Bcl nuget version 1.1.10
#### Version 2.0.1
- BASE: Add Win Phone, Win Store and UWP targets that include 1.2.3 version of ApplicationInsights.dll. It is included to prevent applications that upgrade to 2.0.0 from crashing. In any case using this nuget for Win Phone, Win Store and UWP targets is not recommended and not supported.
#### Version 2.0.0
- BASE: Disallow Nan, +-Infinity measurements. Value will be replaced on 0.
- BASE: Disallow Nan, +-Infinity metrics (Value, Min, Max and StandardDeviation). Values will be replaced on 0.
#### Version 2.0.0-rc1
- BASE: Writing telemetry items to debug output can be disabled with `IsTracingDisabled` property on `TelemetryDebugWriter`.
Telemetry items that were filtered out by sampling are now indicated in debug output. Custom telemetry processors can now invoke
method `WriteTelemetry` on `TelemetryDebugWriter` with `filteredBy` parameter to indicate in debug output that an
item is being filtered out.
- BASE: DependencyTelemetry.Async property was removed.
- BASE: DependencyTelemetry.Count property was removed.
- BASE: When configuration is loaded from ApplicationInsights.config incorrect and broken elements are skipped. That includes both high level elements like TelemetryInitializers as well as individual properties.
- BASE: Internal Application Insights SDK traces will be marked as synthetic and have `SyntheticSource` equals to 'SDKTelemetry'.
- BASE: UserContext.AcquisitionDate property was removed.
- BASE: UserContext.StoreRegion property was removed.
- BASE: InMemoryChannel.DataUploadIntervalInSeconds was removed. Use SendingInterval instead.
- BASE: DeviceContext.RoleName was removed. Use DeviceContext.Cloud.RoleName instead.
- BASE: DeviceContext.RoleInstance was removed. Use DeviceContext.Cloud.RoleInstance instead.
#### Version 2.0.0-beta4
- BASE: UseSampling and UseAdaptiveSampling extensions were moved to Microsoft.ApplicationInsights.Extensibility
- BASE: Cut Phone and Store support
- BASE: Updated `DependencyTelemetry` to have new properties `ResultCode` and `Id`
- BASE: If `ServerTelemetryChannel` is initialized programmatically it is required to call ServerTelemetryChannel.Initialize() method. Otherwise persistent storage will not be initialized (that means that if telemetry cannot be sent because of temporary connectivity issues it will be dropped).
- BASE: `ServerTelemetryChannel` has new property `StorageFolder` that can be set either through code or though configuration. If this property is set ApplicationInsights uses provided location to store telemetry that was not sent because of temporary connectivity issues. If property is not set or provided folder is inaccessible ApplicationInsights will try to use LocalAppData or Temp as it was done before.
- BASE: TelemetryConfiguration.GetTelemetryProcessorChainBuilder extension method is removed. Instead of this method use TelemetryConfiguration.TelemetryProcessorChainBuilder instance method.
- BASE: TelemetryConfiguration has a new property TelemetryProcessors that gives readonly access to TelemetryProcessors collection.
- BASE: `Use`, `UseSampling` and `UseAdaptiveSampling` preserves TelemetryProcessors loaded from configuration.
#### Version 2.0.0-beta3
- BASE: Adaptive sampling turned on by default in server telemetry channel. Details can be found in [#80](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/80).
- BASE: Fixed signature of `UseSampling` to allow chaining with other calls to `Use` of telemetry processors.
- BASE: Property `Request.ID` returned back. `OperationContext` now has a property `ParentId` for end-to-end correlation.
- BASE: `TimestampTelemetryInitializer` is removed. Timestamp will be added automatically by `TelemetryClient`.
- BASE: `OperationCorrelationTelemetryInitializer` is added by default to enable operaitons correlation.
#### Version 2.0.0-beta2
- BASE: Fix UI thread locking when initializing InMemoryChannel (default channel) from UI thread.
- BASE: Added support for `ITelemetryProcessor` and ability to construct chain of TelemetryProcessors via code or config.
- BASE: Version of `Microsoft.ApplicationInsights.dll` for the framework 4.6 is now part of the package.
- BASE: IContextInitializer interface is not supported any longer. ContextInitializers collection was removed from TelemetryConfiguration object.
- BASE: The max length limit for the `Name` property of `EventTelemetry` was set to 512.
- BASE: Property `Name` of `OperationContext` was renamed to `RootName`
- BASE: Property `Id` of `RequestTelemetry` was removed.
- BASE: Property `Id` and `Context.Operation.Id` of `RequestTelemetry` would not be initialized when creating new `RequestTelemetry`.
- BASE: New properties of `OperationContext`: `CorrelationVector`, `ParentId` and `RootId` to support end-to-end telemetry items correlation.
#### Version 2.0.0-beta1
- BASE: TrackDependency will produce valid JSON when not all required fields were specified.
- BASE: Redundant property `RequestTelemetry.ID` is now just a proxy for `RequestTelemetry.Operation.Id`.
- BASE: New interface `ISupportSampling` and explicit implementation of it by most of data item types.
- BASE: `Count` property on DependencyTelemetry marked as Obsolete. Use `SamplingPercentage` instead.
- BASE: New `CloudContext` introduced and properties `RoleName` and `RoleInstance` moved to it from `DeviceContext`.
- BASE: New property `AuthenticatedUserId` on `UserContext` to specify authenticated user identity.
#### Version 1.2.3
- BASE: Bug fixes.
- BASE: Telemetry item will be serialized to Debug Output even when Instrumentation Key was not set.
#### Version 1.2
- BASE: First version shipped from github
#### Version 1.1
- BASE: SDK now introduces new telemetry type `DependencyTelemetry` which contains information about dependency call from application
- BASE: New method `TelemetryClient.TrackDependency` allows to send information about dependency calls from application
#### Version 0.17
- BASE: Application Insights now distributes separate binaries for framework 4.0 and 4.5. Library for the framework 4.5 will not require EventSource and BCL nuget dependencies. You need to ensure you refer the correct library in `packages.config`. It should be ``
- BASE: Diagnostics telemetry module is not registered in ApplicationInsights.config and no self-diagnostics messages will be sent to portal for non-web applications. Insert `` to `` node to get SDK self-diagnostics messages from your application.
- BASE: ApplicationInsights.config file search order was changed. File from the bin/ folder will no longer be used even if exists for the web applications.
- BASE: Nullable properties are now supported in ApplicationInsights.config.
- BASE: DeveloperMode property of `ITelemetryChannel` interface became a nullable bool.
#### Version 0.16
- BASE: SDK now supports dnx target platform to enable monitoring of [.NET Core framework](http://www.dotnetfoundation.org/NETCore5) applications.
- BASE: Instance of `TelemetryClient` do not cache Instrumentation Key anymore. Now if instrumentation key wasn't set to `TelemetryClient` explicitly `InstrumentationKey` will return null. It fixes an issue when you set `TelemetryConfiguration.Active.InstrumentationKey` after some telemetry was already collected, telemetry modules like dependency collector, web requests data collection and performance counters collector will use new instrumentation key.
#### Version 0.15
- BASE: New property `Operation.SyntheticSource` now available on `TelemetryContext`. Now you can mark your telemetry items as not a real user traffic and specify how this traffic was generated. As an example by setting this property you can distinguish traffic from your test automation from load test traffic.
- BASE: Channel logic was moved to the separate NuGet called Microsoft.ApplicationInsights.PersistenceChannel. Default channel is now called InMemoryChannel
- BASE: New method `TelemetryClient.Flush` allows to flush telemetry items from the buffer synchronously
#### Version 0.13
No release notes for older versions available.
***
#### Version 2.11.2
- WEB: [Fix Sql dependency collection bug in .NET Core 3.0 with Microsoft.Data.SqlClient.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1291)
#### Version 2.11.1
- WEB: [Fix Sql dependency parent id to match W3CTraceContext format](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1277)
- WEB: [Fix EventCounters so that it appear as CustomMetrics as opposed to PerformanceCounters.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1280)
#### Version 2.11.0
- WEB: [Fix Sql dependency tracking in .NET Core 3.0 which uses Microsoft.Data.SqlClient instead of System.Data.SqlClient](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1263)
- WEB: Updated Base SDK to 2.11.0
- WEB: Updated Microsoft.AspNet.TelemetryCorrelation to 1.0.7
- WEB: Updated System.Diagnostics.DiagnosticSource to 4.6.0
#### Version 2.11.0-beta2
- WEB: Updated Base SDK to 2.11.0-beta2
- WEB: [Add NetStandard2.0 Target for WindowsServerPackage](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1212)
- WEB: [Add NetStandard2.0 Target for DependencyCollector](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1212)
- WEB: [QuickPulse/LiveMetrics background thread safeguards added to never throw unhandled exception.](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1088)
- WEB: [Make QuickPulse server id configurable to distinguish multiple role instances running on the same host](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1253)
- WEB: [Switch W3C Trace-Context on by default and leverage implementation from .NET in requests and depedencies collectors](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/pull/1252)
- WEB: [Support correlation-context in absence of Request-Id or traceparent](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1215)
#### Version 2.11.0-beta1
- WEB: [Add support for Event Counter collection.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1222)
- WEB: [Support for Process CPU and Process Memory perf counters in all platforms including Linux.](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1189)
- WEB: [Azure Web App for Windows Containers to use regular PerfCounter mechanism.](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/pull/1167)
- WEB: Experimental: [Defer populating RequestTelemetry properties.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1173)
- WEB: [Fix: Replaced non-threadsafe HashSet with ConcurrentDictionary in RequestTrackingTelemetryModule.IsHandlerToFilter](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/pull/1211)
- WEB: SDL: [Guard against malicious headers in quickpulse](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/pull/1191)
#### Version 2.10.0
- WEB: Updated Base SDK to 2.10.0
#### Version 2.10.0-beta4
- WEB: Updated Base SDK to 2.10.0-beta4
#### Version 2.10.0-beta3
- WEB: [Fix: QuickPulseTelemetryModule.Dispose should not throw if module was not initialized](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/1170)
- WEB: Added NetStandard2.0 Target for PerfCounter project.
- WEB: Added support for PerfCounters for .Net Core Apps in Windows.
- WEB: Updated Base SDK to 2.10.0-beta3
#### Version 2.10.0-beta2
- WEB: Updated Base SDK to 2.10.0-beta2
#### Version 2.9.1
- WEB: Updates Base SDK to version 2.9.1
#### Version 2.9.0
- WEB: [Fix: remove unused reference to Microsoft.AspNet.TelemetryCorrelation package from DependencyCollector](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/1136)
- WEB: [Move W3C support from DependencyCollector package to base SDK, deprecate W3C support in DependencyCollector](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/1138)
#### Version 2.9.0-beta3
- WEB: Update Base SDK to version 2.9.0-beta3
- WEB: [Fix: Correlation doesn't work for localhost](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1120). If you are upgrading and have previously opted into legacy header injection via `DependencyTrackingTelemetryModule.EnableLegacyCorrelationHeadersInjection` and run app locally with Azure Storage Emulator, make sure you manually exclude localhost from correlation headers injection in the `ExcludeComponentCorrelationHttpHeadersOnDomains` under `DependencyCollector`
```xml
localhost127.0.0.1
```
- WEB: [Fix: Non-default port is not included into the target for Http dependencies on .NET Core](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1121)
- WEB: [When Activity has root id compatible with W3C trace Id, use it as trace id](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/1107)
#### Version 2.9.0-beta1
- WEB: [Prevent duplicate dependency collection in multi-host apps](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/621)
- WEB: [Fix missing transactions Sql dependencies](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/1031)
- WEB: [Fix: Do not stop Activity in the Stop events, set end time instead](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1038)
- WEB: [Fix: Add appSrv_ResourceGroup field to heartbeat properties from App Service](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1046)
- WEB: [Add Azure Search dependency telemetry](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1048)
- WEB: [Fix: Sql dependency tracking broken in 2.8.0+. Dependency operation is not stopped and becomes parent of subsequent operations](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1090)
- WEB: [Fix: Wrong parentId reported on the SqlClient dependency on .NET Core](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/778)
- WEB: [Perf Fix - Replace TelemetryClient.Initialize() with TelemetryClient.InitializeInstrumentationKey() to avoid calling initializers more than once. ](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1094)
#### Version 2.8.0-beta2
- WEB: [LiveMetrics (QuickPulse) TelemetryProcessor added automatically to the default ApplicationInsights.config are moved under the default telemetry sink.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/987)
If you are upgrading, and have added/modified TelemetryProcessors, make sure to copy them to the default sink section.
- WEB: [Microsoft.AspNet.TelemetryCorrelaiton package update to 1.0.4](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/991)
- WEB: Add vmScaleSetName field to heartbeat properties collected by AzureInstanceMetadataTelemetryModule to allow navigation to right Azure VM Scale Set
- WEB: [Allow users to ignore specific UnobservedTaskExceptions](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/1026)
#### Version 2.8.0-beta1
- WEB: [Adds opt-in support for W3C distributed tracing standard](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/945)
- WEB: Update Base SDK to version 2.8.0-beta1
#### Version 2.7.2
- WEB: [Fix ServiceBus requests correlation](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/970)
#### Version 2.7.0-beta4
- WEB: [When there is no parent operation, generate W3C compatible operation Id](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/952)
#### Version 2.7.0-beta3
- WEB: [Fix: SerializationException resolving Activity in cross app-domain calls](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/613)
- WEB: [Fix: Race condition in generic diagnostic source listener](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/948)
#### Version 2.7.0-beta1
- WEB: [Add operation details for HTTP and SQL operation to the dependency telemetry.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/900)
- WEB: [Fix: Do not call base HandleErrorAttribute.OnException in MVC unhandled exception filter](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/921)
- WEB: [Send UserActionable event about correlation issue with HTTP request with body when .NET 4.7.1 is not installed](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/903)
- WEB: [Added support to collect Perf Counters for .NET Core Apps if running inside Azure WebApps](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/889)
- WEB: [Opt-in legacy correlation headers (x-ms-request-id and x-ms-request-root-id) extraction and injection](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/887)
- WEB: [Fix: Correlation is not working for POST requests](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/898) when .NET 4.7.1 runtime is installed.
- WEB: [Fix: Tracking mixed HTTP responses with and without content](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/919)
#### Version 2.6.0-beta4
- WEB: [Remove CorrelationIdLookupHelper. Use TelemetryConfiguration.ApplicationIdProvider instead.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/880) With this change you can update URL to query application ID from which enables environments with reverse proxy configuration to access Application Insights ednpoints.
- WEB: [Update Microsoft.AspNet.TelemetryCorrelation package to 1.0.1: Fix endless loop when activity stack is broken](https://togithub.com/aspnet/Microsoft.AspNet.TelemetryCorrelation/issues/22)
- WEB: [Fix: Failed HTTP outgoing requests are not tracked on .NET Core](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/780)
- WEB: [Enable collection of Available Memory counter on Azure Web Apps](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/585)
#### Version 2.6.0-beta3
- WEB: [Ignore Deprecated events if running under netcore20](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/848)
- WEB: [Implement unhandled exception auto-tracking (500 requests) for MVC 5 and WebAPI 2 applications.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/847)
- WEB: [Enable .NET Core platform in WindowsServer SDK. This enables the following modules in .NET Standard applications:](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/854)
- `AzureInstanceMetadataTelemetryModule` *(used in heartbeats)*
- `AzureWebAppRoleEnvironmentTelemetryInitializer`
- `BuildInfoConfigComponentVersionTelemetryInitializer`
- `DeveloperModeWithDebuggerAttachedTelemetryModule`
- `UnobservedExceptionTelemetryModule`
- WEB: [Add default heartbeat properties for Azure App Services (web apps).](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/868)
#### Version 2.6.0-beta2
- WEB: [Added a max length restriction to values passed in through requests.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/810)
- WEB: [Fix: Dependency Telemetry is not collected with DiagnosticSource when response does not have content.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/739)
- WEB: [Expose Request-Context in Access-Control-Expose-Headers header, and that allows cross-component correlation between AJAX dependencies and server-side requests.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/802)
- WEB: [Improve DependencyCollectorEventSource.Log.CurrentActivityIsNull](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/799)
- WEB: A significant number of upgrades to our testing infrastructure.
- WEB: Add Azure Instance Metadata information to heartbeat properties in WindowsServer package (full framework only). [Completes issue #666 from -dotnet repo](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/666)
#### Version 2.5.0
- WEB: [Fix: System.InvalidCastException for SQL Dependency](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/782)
#### Version 2.5.0-beta2
- WEB: [Fix: When debugging netcoreapp2.0 in VS, http dependencies are tracked twice](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/723)
- WEB: [Fix: DependencyCollector check if exits before add](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/724)
- WEB: [Track requests and dependencies from ServiceBus .NET Client (Microsoft.Azure.ServiceBus 3.0.0](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/740)
- WEB: [Fix: REST API Request filter bug](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/175)
- WEB: [Fix: SyntheticUserAgentTelemetryInitializer null check](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/750)
- WEB: [Track dependencies from EventHubs .NET Client (Microsoft.Azure.EventHubs 1.1.0)](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/753)
**Project**
- WEB: [Moved common files to Shared projects](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/730)
- WEB: [Stabilizing QuickPulse tests](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/736)
- WEB: [Make local debug of DependencyCollector functional tests easier](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/738)
- WEB: [More DependencyCollector tests](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/741)
- WEB: [Increase max timeout for QuickPulse tests](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/744)
- WEB: [Increase tests codecoverage](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/745)
- WEB: [More DependencyCollector functional tests](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/pull/746)
#### Version 2.5.0-beta1
- WEB: Removed `net40` targets from all packages. Use the version 2.4 of SDK if your application is still compiled with the framework 4.0.
- WEB: Adds ADO SQL dependency collection for SqlClient (System.Data.SqlClient) on .NET Core versions 1.0 and 2.0.
- WEB: /ping calls to Live Metrics Stream (aka QuickPulse) now contain the invariant version of the agent.
- WEB: [Fix App Id Lookup bug](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/683)
- WEB: [Fix DiagnosticsListener should have safe OnNext](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/649)
- WEB: [Fix PerfCounterCollector module may go into endless loop (ASP.NET Core on Full Framework)](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/678)
- WEB: [Fix Start Timestamp is not set for Http dependency telemetry in dotnet core 2.0](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/658)
- WEB: [Support collecting non-HTTP dependency calls from 3rd party libraries](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/665)
- WEB: Bugfix for CorrelationIdLookup NullRef Ex
- WEB: [Added Test App for testing DependencyCollector on .NET Core 2.0](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/572)
**Project**
- WEB: install.ps1 is now signed
- WEB: increase max allowed runtime of functional tests
- WEB: fix for "project system has encountered an error"
#### Version 2.4.1
- WEB: [Hotfix to address the issue where DependencyCollection breaks Azure Storage Emulator calls](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/640)
#### Version 2.4.0
- WEB: Updated version of DiagnosticSource to 4.4.0
#### Version 2.4.0-beta5
- WEB: Updated version of DiagnosticSource referenced.
#### Version 2.4.0-beta4
- WEB: Bug fixes.
#### Version 2.4.0-beta3
- WEB: Exceptions statistics feature is not enabled by default
- WEB: [Parse AppId from HTTP response headers when dependency collection is facilitated with Http Desktop DiagnosticSource](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/509)
- WEB: [Fix double correlation header injection with latest DiagnosticSource](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/530)
- WEB: `DisableDiagnosticSourceInstrumentation` configuration flag was added to `DependencyTrackingTelemetryModule`.
- By default `DisableDiagnosticSourceInstrumentation` is set to false, this enables correlation of telemetry items and [application map](http://aka.ms/AiAppMapPreview) in multi-tier applications.
- When `DisableDiagnosticSourceInstrumentation` is set to true (so that the instrumentation is off)
- correlation between
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
2.10.0
->2.22.0
Release Notes
Microsoft/ApplicationInsights-dotnet (Microsoft.ApplicationInsights.WindowsServer)
### [`v2.22.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2220) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.21.0...2.22.0) - no changes since beta. ### [`v2.21.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2210) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.20.0...2.21.0) - no changes since beta. ### [`v2.20.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2200-beta1) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.19.0...2.20.0) - [Allow Control of Documents sampling for QuickPulse telemetry](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2425) ### [`v2.19.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2190) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.18.0...2.19.0) - Support for .Net6 ### [`v2.18.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2180) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.17.0...2.18.0) - [Change Self-Diagnostics to include datetimestamp in filename](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2325) - [AAD: Add logging to AuthenticationTransmissionPolicy](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2319) - [QuickPulse: Bump the number of custom dimensions included into full documents for QuickPulse from 3 to 10, make the selection consistent](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2341) ### [`v2.17.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2170) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.16.0...2.17.0) - [Fix: telemetry parent id when using W3C activity format in TelemetryDiagnosticSourceListener](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/2142) - [Add ingestion response duration for transmission to data delivery status - TransmissionStatusEventArgs](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2157) - [Update default Profiler and Snapshot Debugger endpoints](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/2166) ### [`v2.16.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2160) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.15.0...2.16.0) - [QuickPulseTelemetryModule and MonitoringDataPoint have a new Cloud Role Name field for sending with ping and post requests to QuickPulse Service.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/2100) - [Upgrade to System.Diagnostics.DiagnosticSource v5.0.0](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1960) ### [`v2.15.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2150) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.14.0...2.15.0) - EventCounterCollector module does not add AggregationInterval as a dimension to the metric. ### [`v2.14.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2140) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.13.1...2.14.0) - no changes since beta. ### [`v2.13.1`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2131) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.13.0...2.13.1) - [Fix: AspNetCore AddApplicationInsightsSettings() and MissingMethodException](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1702) ### [`v2.13.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2130) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.2...2.13.0) - no changes since beta. ### [`v2.12.2`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2122) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.1...2.12.2) - [Fix: AspNetCore AddApplicationInsightsSettings() and MissingMethodException](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1702) ### [`v2.12.1`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Version-2121) [Compare Source](https://togithub.com/Microsoft/ApplicationInsights-dotnet/compare/2.12.0...2.12.1) - [Fix Endpoint configuration bug affecting ServerTelemetryChannel and QuickPulseTelemetryModule](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1648) ### [`v2.12.0`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/HEAD/CHANGELOG.md#Before-2120-our-SDKs-had-separate-repositories) #### Version 2.11.0 - BASE: Upgrade to System.Diagnostics.DiagnosticSource v4.6 - BASE: [Fix: StartOperation(Activity) does not check for Ids compatibility](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1213) #### Version 2.11.0-beta2 - BASE: [Fix: Emit warning if user sets both Sampling IncludedTypes and ExcludedTypes. Excluded will take precedence.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1166) - BASE: [Minor perf improvement by reading Actity.Tag only if required.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1170) - BASE: [Fix: Channels not handling AggregateException, not logging full HttpRequestException.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1173) - BASE: [Metric Aggregator background thread safeguards added to never throw unhandled exception.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1179) - BASE: [Updated version of System.Diagnostics.DiagnosticSource to 4.6.0-preview7.19362.9. Also remove marking SDK as CLS-Compliant](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1183) - BASE: [Enhancement: Exceptions thrown by the TelemetryConfiguration will now specify the exact name of the property that could not be parsed from a config file.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1194) - BASE: [Fix: ServerTelemetryChannel constructor exception when network info API throws.](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1184) - BASE: [Make BaseSDK use W3C Trace Context based correlation by default. Set TelemetryConfiguration.EnableW3CCorrelation=false to disable this.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1193) - BASE: [Removed TelemetryConfiguration.EnableW3CCorrelation. Users should do Activity.DefaultIdFormat = ActivityIdFormat.Hierarchical; Activity.ForceDefaultIdFormat = true; to disable W3C Format](https://togithub.com/microsoft/ApplicationInsights-dotnet/issues/1198) - BASE: [Enable sampling based on upstream sampling decision for adaptive sampling](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1200) - BASE: [Fix: StartOperation ignores user-provided custom Ids in scope of Activity](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1205) - BASE: [Set tracestate if available on requests and dependencies](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1207) #### Version 2.11.0-beta1 - BASE: [Performance fixes: Support Head Sampling; Remove NewGuid(); Sampling Flags; etc... ](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1158) - BASE: [Deprecate TelemetryConfiguration.Active on .NET Core in favor of dependency injection pattern](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1152) - BASE: [Make TrackMetric() visible. This method is not recommended unless you are sending pre-aggregated metrics.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1149) #### Version 2.10.0 - BASE: [SDKVersion modified to be dotnetc for NetCore. This helps identify the source of code path, as implementations are slightly different for NetCore.](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1125) - BASE: [Fix telemetry timestamp precision on .NET Framework](https://togithub.com/microsoft/ApplicationInsights-dotnet-server/issues/1175) - BASE: [Fix: catch SecurityException when ApplicationInsights config is read in partial trust](https://togithub.com/microsoft/ApplicationInsights-dotnet/pull/1119) #### Version 2.10.0-beta4 - BASE: [Fix NullReferenceException in DiagnosticsEventListener.OnEventWritten](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1106) - BASE: [Fix RichPayloadEventSource can get enabled at Verbose level](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1108) - BASE: [Fix DiagnosticsTelemetryModule can get added more than once](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1111) - BASE: [Modify default settings for ServerTelemetryChannel to reduce disk usage. MaxTransmissionSenderCapacity is changed from 3 to 10, MaxTransmissionBufferCapacity is changed from 1MB to 5MB](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1113) #### Version 2.10.0-beta3 - BASE: No changes. Bumping version to match WebSDK release. #### Version 2.10.0-beta2 - BASE: [Fix Transmission in NETCORE to handle partial success (206) response from backend.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1047) - BASE: [Fix data losses in ServerTelemetryChannel.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1049) - BASE: \[InitialSamplingRate is now correctly applied if set in applicationInsights.config] [https://github.com/Microsoft/ApplicationInsights-dotnet/pull/1048](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1048)8) - BASE: Added new target for NetStandard2.0. #### Version 2.9.1 - BASE: [Aggregation thread is now a background thread](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1080) #### Version 2.9.0 - BASE: [Move W3C methods from Web SDK](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1064) #### Version 2.9.0-beta3 - BASE: [Flatten IExtension and Unknown ITelemetry implementations for Rich Payload Event Source consumption](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1017) - BASE: [Fix: Start/StopOperation with W3C distributed tracing enabled does not track telemetry](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1031) - BASE: [Fix: Do not run metric aggregation on a thread pool thread](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/1028) #### Version 2.9.0-beta2 - BASE: [Remove unused reference to System.Web.Extensions](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/956) - BASE: [PageViewTelemetry](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/8673ed1d15005713755e0bb9594acfe0ee00b869/src/Microsoft.ApplicationInsights/DataContracts/PageViewTelemetry.cs) now supports [ISupportMetrics](https://togithub.com/Microsoft/ApplicationInsights-dotnet/blob/39a5ef23d834777eefdd72149de705a016eb06b0/src/Microsoft.ApplicationInsights/DataContracts/ISupportMetrics.cs) - BASE: [Fixed a bug in TelemetryContext which prevented rawobject store to be not available in all sinks.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/974) - BASE: [Fixed a bug where TelemetryContext would have missing values on secondary sinks](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/993) - BASE: [Fixed race condition in BroadcastProcessor which caused it to drop TelemetryItems](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/995) - BASE: [Custom Telemetry Item that implements ITelemetry is no longer dropped, bur rather serialized as EventTelemetry and handled by the channels accordingly](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/988) - BASE: [IExtension is now serialized into the Properties and Metrics](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1000) Perf Improvements. - BASE: [Improved Perf of ITelemetry JsonSerialization](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/997) - BASE: [Added new method on TelemetryClient to initialize just instrumentation. This is to be used by autocollectors to avoid calling TelemetryInitializers twice.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/966) - BASE: [RequestTelemetry modified to lazily instantiate ConcurrentDictionary for Properties](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/969) - BASE: [RequestTelemetry modified to not service public fields with data class to avoid converting between types.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/965) - BASE: [Dependency Telemetry modified to lazily instantiate ConcurrentDictionary for Properties](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1002) - BASE: [Avoid string allocations in Metrics hot path](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/1004) #### Version 2.8.1 [Patch release addressing perf regression.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/952) #### Version 2.8.0 - BASE: [New API to store/retrieve any raw objects on TelemetryContext to enable AutoCollectors to pass additional information for use by TelemetryInitializers.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/937) - BASE: Perf Improvements [https://github.com/Microsoft/ApplicationInsights-dotnet/issues/927](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/927)/[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/930](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/930)s[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/934](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/934)t/issues/934 - BASE: Fix: [Response code shouldn't be overwritten to 200 if not set](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/918) #### Version 2.8.0-beta2 - BASE: [TelemetryProcessors (sampling, autocollectedmetricaggregator), TelemetryChannel (ServerTelemetryChannel) added automatically to the default ApplicationInsights.config are moved under the default telemetry sink.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/907) If you are upgrading, and have added/modified TelemetryProcessors/TelemetryChannel, make sure to copy them to the default sink section. #### Version 2.8.0-beta1 - BASE: [Add a new distinct properties collection, GlobalProperties, on TelemetryContext, and obsolete the Properties on TelemetryContext.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/820) - BASE: [Added support for strongly typed extensibility for Telemetry types using IExtension.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/871) - BASE: \[New method SerializeData(ISerializationWriter writer) defined in ITelemetry. All existing types implement this method to emit information about it's fields to channels who can serialize this data] (continuatio[https://github.com/Microsoft/ApplicationInsights-dotnet/issues/871](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/871)s/871) - BASE: [Allow to track PageViewPerformance data type](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/673). - BASE: Added method `ExceptionDetailsInfoList` on `ExceptionTelemetry` class that gives control to user to update exception message and exception type of underlying `System.Exception` object that user wants to send to telemetry. Related discussion is [here](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/498). - BASE: Added an option of creating ExceptionTelemetry object off of custom exception information rather than a System.Exception object. - BASE: [Add support for hex values in config](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/551) #### Version 2.7.2 - BASE: Metrics: Renamed TryTrackValue(..) into TrackValue(..). - BASE: Metrics: Removed some superfluous public constants. #### Version 2.7.0-beta3 - BASE: [Allow to set flags on event](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/844). It will be used in conjunction with the feature that will allow to keep IP addresses. - BASE: [Fix: SerializationException resolving Activity in cross app-domain calls](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/613) - BASE: [Make HttpClient instance static to avoid re-creating with every transmission. This had caused connection/memory leaks in .net core 2.1](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/594) Relate[https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/690](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/690)/690) #### Version 2.7.0-beta2 - BASE: [Fix: NullReferenceException if telemetry is tracked after TelemetryConfiguration is disposed](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/928) - BASE: [Move the implementation of the extraction of auto-collected (aka standard) metrics from internal legacy APIs to the recently shipped metric aggregation APIs.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/806) - BASE: [Fix: NullReferenceException in ExceptionConverter.GetStackFrame if StackFrame.GetMethod() is null](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/819) #### Version 2.7.0-beta1 - BASE: [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/785) - BASE: [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) #### version 2.6.4 - BASE: [Revert changed namespace: `SamplingPercentageEstimatorSettings`, `AdaptiveSamplingPercentageEvaluatedCallback`](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/727) - BASE: [Add netstandard2.0 target for TelemetryChannel which doesn't have a dependency on Newtonsoft.Json ](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/800) #### Version 2.6.1 - BASE: [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/785) - BASE: [Fix: changed namespace SamplingPercentageEstimatorSettings](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/727) #### Version 2.6.0-beta4 - BASE: [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/763) - BASE: [Fix: TelemetryClient throws NullReferenceException on Flush if the underlying configuration was disposed](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/755) #### Version 2.6.0-beta3 - BASE: [Report internal errors from Microsoft.AspNet.TelemteryCorrelation module](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/744) - BASE: [Fix: Telemetry tracked with StartOperation is tracked outside of corresponding activity's scope](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/864) - BASE: [Fix: TelemetryProcessor chain building should also initialize Modules.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/549) - BASE: [Fix: Wrong error message in AutocollectedMetricsExtractor.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/611) - BASE: [NEW: Interface and Configuration: IApplicationIdProvider.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/739) - BASE: [NEW: Metrics Pre-Aggregation: New `TelemetryClient.GetMetric(..).TrackValue(..)` and related APIs always locally pre-aggregate metrics before sending. They are replacing the legacy `TelemetryClient.TrackMetric(..)` APIs.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/pull/735) ([More info](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/643).) #### Version 2.6.0-beta2 - BASE: [Changed signature of TelemetryClient.TrackDependency](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/684) - BASE: [Added overload of TelemetryClientExtensions.StartOperation(Activity activity).](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/644) - BASE: [Finalize the architecture for adding default heartbeat properties (supporting proposal from Issue #636).](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/666). #### Version 2.5.1 - BASE: Fix for missing TelemetryContext. Thank you to our community for discovering and reporting this issue! [Logic bug within Initialize() in TelemetryContext](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/692), [Dependency correlation is broken after upgrade to .NET SDK 2.5](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/706), [Lost many context fields in 2.5.0](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/708) #### Version 2.5.0-beta2 - BASE: Remove calculation of sampling-score based on Context.User.Id [Issue #625](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/625) - BASE: New sdk-driven "heartbeat" functionality added which sends health status at pre-configured intervals. See [extending heartbeat properties doc for more information](./docs/ExtendingHeartbeatProperties.md) - BASE: Fixes a bug in ServerTelemetryChannel which caused application to crash on non-windows platforms. [Details on fix and workaround #654](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/654) Original iss[https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/551](https://togithub.com/Microsoft/ApplicationInsights-aspnetcore/issues/551)/551) - BASE: [Fixed a bug with the `AdaptiveSamplingTelemetryProcessor` that would cause starvation over time. Issue #756 (dotnet-server)](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/756) - BASE: Updated solution to build on Mac! #### Version 2.5.0-beta1 - BASE: Method `Sanitize` on classes implementing `ITelemetry` no longer modifies the `TelemetryContext` fields. Serialized event json and ETW event will still have context tags sanitized. - BASE: Application Insights SDK supports multiple telemetry sinks. You can configure more than one channel for telemetry now. - BASE: New method `DeepClone` on `ITelemetry` interface. Implemented by all supported telemetry items. - BASE: Server telemetry channel NuGet support a netstandard1.3 target with fixed rate sampling and adaptive sampling telemetry processors. - BASE: Instrumentation key is no longer required for TelemetryClient to send data to channel(s). This makes it easier to use the SDK with channels other than native Application Insights channels. - BASE: .NET 4.0 targets were removed. Please use the version 2.4.0 if you cannot upgrade your application to the latest framework version. - BASE: Removed `wp8`, `portable-win81+wpa81` and `uap10.0` targets. #### Version 2.4.0 - BASE: Updated version of DiagnosticSource to 4.4.0 stable #### Version 2.4.0-beta5 - BASE: Updated version of DiagnosticSource referenced. #### Version 2.4.0-beta4 - BASE: Made Metric class private and fixed various metrics related issues. #### Version 2.4.0-beta3 #### Version 2.4.0-beta2 - BASE: Removed metric aggregation functionality as there is not enough feedback on the API surface yet. #### Version 2.4.0-beta1 - BASE: Event telemetry is set to be sampled separately from all other telemetry types. It potentially can double the bill. The reason for this change is that Events are mostly used for usage analysis and should not be subject to sampling on high load of requests and dependencies. Edit `ApplicationInsights.config` file to revert to the previous behavior. - BASE: Added dependency on System.Diagnostics.DiagnosticsSource package. It is still possible to use standalone Microsoft.ApplicationInsights.dll to track telemetry. - BASE: StartOperation starts a new System.Diagnostics.Activity and stores operation context in it. StartOperation overwrites OperationTelemetry.Id set before or during telemetry initialization for the dependency correlation purposes. - BASE: OperationCorrelationTelemetryInitializer initializes telemetry from the Activity.Current. Please refer to https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md for more details about Activity and how to use it - BASE: `Request.Success` field will not be populated based on `ResponseCode`. It needs to be set explicitly. - BASE: New "ProblemId" property on ExceptionTelemetry. It can be used to set a custom ProblemId value. - BASE: Metric Aggregation functionality (originally added in 2.3.0-beta1 but removed in 2.3.0) is re-introduced. - BASE: Improved exception stack trace data collection for .NET Core applications. #### Version 2.3.0 - BASE: Includes all changes since 2.2.0 stable release. - BASE: Removed metric aggregation functionality added in 2.3.0-beta1 release. - BASE: [Fixed a bug which caused SDK to stop sending telemetry.](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/480) #### Version 2.3.0-beta3 - BASE: [Added overloads of TelemetryClientExtensions.StartOperation.](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/163) - BASE: Fire new ETW events for Operation Start/Stop. #### Version 2.3.0-beta2 - BASE: Added constructor overloads for TelemetryConfiguration and added creation of a default InMemoryChannel when no channel is specified for a new instance. TelemetryClient will no longer create an InMemoryChannel on the configuration instance if TelemetryChannel is null, instead the configuration instances will always have a channel when created. - BASE: TelemetryConfiguration will no longer dispose of user provided ITelemetryChannel instances. Users must properly dispose of any channel instances which they create, the configuration will only auto-dispose of default channel instances it creates when none are specified by the user. #### Version 2.3.0-beta1 - BASE: Added metric aggregation functionality via MetricManager and Metric classes. - BASE: Exposed a source field on RequestTelemetry. This can be used to store a representation of the component that issued the incoming http request. #### Version 2.2.0 - BASE: Includes all changes since 2.1.0 stable release. #### Version 2.2.0-beta6 - BASE: Added serialization of the "source" property. - BASE: Downgraded package dependencies to Microsoft.NETCore.App 1.0.1 level. - BASE: [Fixed the priority of getting an iKey from an environment variable](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/236) #### Version 2.2.0-beta5 - BASE: Moved from PCL dotnet5.4 to .NET Core NetStandard1.5. - BASE: Updated dependency versions. #### Version 2.2.0-beta4 - BASE: Payload sanitization for RichPayloadEventSource. - BASE: Fix to fallback to an environment variable for instrumentation key when not specified when initializing TelemetryConfiguration. - BASE: RoleInstance and NodeName are initialized with the machine name by default. #### Version 2.2.0-beta3 - BASE: Read InstrumentationKey from environment variable APPINSIGHTS_INSTRUMENTATIONKEY if it is was not provided inline. If provided it overrides what is set though configuration file. (Feature is not available in PCL version of SDK). - BASE: Context properties `NetworkType`, `ScreenResolution` and `Language` marked as obsolete. Please use custom properties to report network type, screen resolution and language. Values stored in these properties will be send as custom properties. - BASE: Dependency type was updated to reflect the latest developments in Application Insights Application Map feature. You can set a new field - `Target`. `CommandName` was renamed to `Data` for consistency with the Application Analytics schema. `DependencyKind` will never be send any more and will not be set to "Other" by default. Also there are two more constructors for `DependencyTelemetry` item. - BASE: Type `SessionStateTelemetry` was marked obsolete. Use `IsFirst` flag in `SessionContext` to indicate that the session is just started. - BASE: Type `PerformanceCounterTelemetry` was marked obsolete. Use `MetricTelemetry` instead. - BASE: Marked `RequestTelemetry.HttpMethod` as obsolete. Put http verb as part of the name for the better grouping by name and use custom properties to report http verb as a dimension. - BASE: Marked `RequestTelemetry.StartTime` as obsolete. Use `TimeStamp` instead. - BASE: [Removed BCL dependency](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/175) - BASE: [Added IPv6 support](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/316) - BASE: [Fixed an issue where channels sent expired data from storage](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/278) - BASE: [Fixed an issue where the clock implementation would accumulate error](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/271) - BASE: [Fixed an issue where telemetry with emptry properties would be dropped](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/319) - BASE: [Added support for SDK-side throttling](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/318) #### Version 2.2.0-beta2 - BASE: InMemoryChannel has a new override for Flush method that accepts timeout. - BASE: Local storage folder name was changed. That means that when the application stopped, and the application was updated to the new SDK, then the telemetry from the old local folder will not be send. - BASE: Allow all characters in property names and measurements names. - BASE: AdaptiveTelemetryProcessor has a new property IncludedTypes. It gets or sets a semicolon separated list of telemetry types that should be sampled. If left empty all types are included implicitly. Types are not included if they are set in ExcludedTypes. - BASE: Richpayload event source event is generated for all framework versions of SDK (before it was supported in 4.6 only) - BASE: TelemetryClient has a new method TrackAvailability. Data posted using this method would be available in AppAnalitics only, Azure portal UI is not available at this moment. #### Version 2.2.0-beta1 - BASE: Add ExceptionTelemetry.Message property. If it is provided it is used instead of Exception.Message property for the outer-most exception. - BASE: Telemetry types can be excluded from sampling by specifing ExcludedTypes property. - BASE: ServerTelemetryChannel: changed backoff logic to be less aggressive, added diagnostics event when backoff logic kicks in and added more tracing. (Done to address issues when data stops flowing till application gets restarted) #### Version 2.1.0-beta4 - BASE: [Bug fix](https://togithub.com/Microsoft/ApplicationInsights-dotnet-server/issues/76) #### Version 2.1.0-beta3 - BASE: Support partial success (206) from the Application Insights backend. Before this change SDK may have lost data because some items of the batch were accepted and some items of the batch were asked to be retried (because of burst throttling or intermittent issues). - BASE: Bug fixes #### Version 2.1.0-beta1 - BASE: Upgraded to depend on EventSource.Redist nuget version 1.1.28 - BASE: Upgraded to depend on Microsoft.Bcl nuget version 1.1.10 #### Version 2.0.1 - BASE: Add Win Phone, Win Store and UWP targets that include 1.2.3 version of ApplicationInsights.dll. It is included to prevent applications that upgrade to 2.0.0 from crashing. In any case using this nuget for Win Phone, Win Store and UWP targets is not recommended and not supported. #### Version 2.0.0 - BASE: Disallow Nan, +-Infinity measurements. Value will be replaced on 0. - BASE: Disallow Nan, +-Infinity metrics (Value, Min, Max and StandardDeviation). Values will be replaced on 0. #### Version 2.0.0-rc1 - BASE: Writing telemetry items to debug output can be disabled with `IsTracingDisabled` property on `TelemetryDebugWriter`. Telemetry items that were filtered out by sampling are now indicated in debug output. Custom telemetry processors can now invoke method `WriteTelemetry` on `TelemetryDebugWriter` with `filteredBy` parameter to indicate in debug output that an item is being filtered out. - BASE: DependencyTelemetry.Async property was removed. - BASE: DependencyTelemetry.Count property was removed. - BASE: When configuration is loaded from ApplicationInsights.config incorrect and broken elements are skipped. That includes both high level elements like TelemetryInitializers as well as individual properties. - BASE: Internal Application Insights SDK traces will be marked as synthetic and have `SyntheticSource` equals to 'SDKTelemetry'. - BASE: UserContext.AcquisitionDate property was removed. - BASE: UserContext.StoreRegion property was removed. - BASE: InMemoryChannel.DataUploadIntervalInSeconds was removed. Use SendingInterval instead. - BASE: DeviceContext.RoleName was removed. Use DeviceContext.Cloud.RoleName instead. - BASE: DeviceContext.RoleInstance was removed. Use DeviceContext.Cloud.RoleInstance instead. #### Version 2.0.0-beta4 - BASE: UseSampling and UseAdaptiveSampling extensions were moved to Microsoft.ApplicationInsights.Extensibility - BASE: Cut Phone and Store support - BASE: Updated `DependencyTelemetry` to have new properties `ResultCode` and `Id` - BASE: If `ServerTelemetryChannel` is initialized programmatically it is required to call ServerTelemetryChannel.Initialize() method. Otherwise persistent storage will not be initialized (that means that if telemetry cannot be sent because of temporary connectivity issues it will be dropped). - BASE: `ServerTelemetryChannel` has new property `StorageFolder` that can be set either through code or though configuration. If this property is set ApplicationInsights uses provided location to store telemetry that was not sent because of temporary connectivity issues. If property is not set or provided folder is inaccessible ApplicationInsights will try to use LocalAppData or Temp as it was done before. - BASE: TelemetryConfiguration.GetTelemetryProcessorChainBuilder extension method is removed. Instead of this method use TelemetryConfiguration.TelemetryProcessorChainBuilder instance method. - BASE: TelemetryConfiguration has a new property TelemetryProcessors that gives readonly access to TelemetryProcessors collection. - BASE: `Use`, `UseSampling` and `UseAdaptiveSampling` preserves TelemetryProcessors loaded from configuration. #### Version 2.0.0-beta3 - BASE: Adaptive sampling turned on by default in server telemetry channel. Details can be found in [#80](https://togithub.com/Microsoft/ApplicationInsights-dotnet/issues/80). - BASE: Fixed signature of `UseSampling` to allow chaining with other calls to `Use` of telemetry processors. - BASE: Property `Request.ID` returned back. `OperationContext` now has a property `ParentId` for end-to-end correlation. - BASE: `TimestampTelemetryInitializer` is removed. Timestamp will be added automatically by `TelemetryClient`. - BASE: `OperationCorrelationTelemetryInitializer` is added by default to enable operaitons correlation. #### Version 2.0.0-beta2 - BASE: Fix UI thread locking when initializing InMemoryChannel (default channel) from UI thread. - BASE: Added support for `ITelemetryProcessor` and ability to construct chain of TelemetryProcessors via code or config. - BASE: Version of `Microsoft.ApplicationInsights.dll` for the framework 4.6 is now part of the package. - BASE: IContextInitializer interface is not supported any longer. ContextInitializers collection was removed from TelemetryConfiguration object. - BASE: The max length limit for the `Name` property of `EventTelemetry` was set to 512. - BASE: Property `Name` of `OperationContext` was renamed to `RootName` - BASE: Property `Id` of `RequestTelemetry` was removed. - BASE: Property `Id` and `Context.Operation.Id` of `RequestTelemetry` would not be initialized when creating new `RequestTelemetry`. - BASE: New properties of `OperationContext`: `CorrelationVector`, `ParentId` and `RootId` to support end-to-end telemetry items correlation. #### Version 2.0.0-beta1 - BASE: TrackDependency will produce valid JSON when not all required fields were specified. - BASE: Redundant property `RequestTelemetry.ID` is now just a proxy for `RequestTelemetry.Operation.Id`. - BASE: New interface `ISupportSampling` and explicit implementation of it by most of data item types. - BASE: `Count` property on DependencyTelemetry marked as Obsolete. Use `SamplingPercentage` instead. - BASE: New `CloudContext` introduced and properties `RoleName` and `RoleInstance` moved to it from `DeviceContext`. - BASE: New property `AuthenticatedUserId` on `UserContext` to specify authenticated user identity. #### Version 1.2.3 - BASE: Bug fixes. - BASE: Telemetry item will be serialized to Debug Output even when Instrumentation Key was not set. #### Version 1.2 - BASE: First version shipped from github #### Version 1.1 - BASE: SDK now introduces new telemetry type `DependencyTelemetry` which contains information about dependency call from application - BASE: New method `TelemetryClient.TrackDependency` allows to send information about dependency calls from application #### Version 0.17 - BASE: Application Insights now distributes separate binaries for framework 4.0 and 4.5. Library for the framework 4.5 will not require EventSource and BCL nuget dependencies. You need to ensure you refer the correct library in `packages.config`. It should be `Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.