.NET Agent version 1.xedit

1.4.0edit

Featuresedit
  • Introducing ITransaction.EnsureParentId() to integrate with RUM in dynamically loaded HTML pages (including page loads in ASP.NET Core) #771
  • New config setting: ApiKey #733
Bug fixesedit
  • Memory issue in .NET Full Framework with default metrics turned on #750
  • Parsing for Oracle connection strings #749
  • StackOverflowException when using the Elastic.Apm.SerilogEnricher package and the log level is set to Verbose #753
Breaking changesedit
  • We have some changes that are technically breaking changes. We made some helper classes internal that were never meant to be public. These are: Elastic.Apm.Helpers.AgentTimeInstant, Elastic.Apm.Helpers.ContractExtensions, Elastic.Apm.Helpers.ObjectExtensions, Elastic.Apm.Helpers.ToStringBuilder. None of these classes were documented or mentioned as part of the Public Agent API. We expect no usage of these classes outside the agent.

1.3.1edit

Bug fixesedit
  • Fix log spamming issues #736, #738
  • Fix turning HTTP 415 responses in ASP.NET Core to HTTP 500 when request body capturing is active #739
  • Fix disabling GC metrics collection in case no GC is triggered during the first "5*MetricsInterval" of the process #745

1.3.0edit

Featuresedit
  • New GC metrics: clr.gc.count, clr.gc.gen[X]size, where [X]: heap generation #697
  • Capturing SOAP action name as part of the transaction name #683
  • New config options: ServiceNodeName, VerifyServerCert, DisableMetrics, UseElasticTraceparentHeader (docs)
  • Full W3C TraceContext support #717
Bug fixesedit
  • Fix transaction name generation in ASP.NET Core 3.x #647
  • Fix around HTTP request body sanitization #712

1.2.0edit

Featuresedit
  • Entity framework support with Interceptor (docs)
  • Sanitization of HTTP headers and request body (docs)
  • Central configuration - 2 new configs: CAPTURE_BODY and TRANSACTION_MAX_SPANS. #577.
  • Support for global labels (docs)
  • Custom context (docs)
  • Dropping support for ASP.NET Core 2.0 (which is already end of life) (docs)
Bug fixesedit
  • De-dotting labels. #583.
  • Request body capturing TypeLoadException in ASP.NET Core 3.0. #604.
  • Metrics collection: filtering NaN and Infinity. #589.

1.1.2edit

Bug fixesedit
  • Capturing request body with ASP.NET Core erased the body in some scenarios #539.
  • Integration with Serilog caused missing logs and diagnostic traces with NullReferenceException #544, #545.

1.1.1edit

Featuresedit

Configure transaction max spans. #472

Bug fixesedit

Fixing missing "Date Modified" field on the files from the 1.1.0 packages causing an error while executing dotnet pack or nuget pack on a project with Elastic APM Agent packages. #527

1.1.0edit

Featuresedit
  • ASP.NET Support, documentation can be found here
  • Central configuration (Beta)
Bug fixesedit
  • Addressed some performance issues #359
  • Improved error handling in ASP.NET Core #512
  • Fix for mono #164

1.0.1edit

Bug fixesedit
  • NullReferenceException on .NET Framework with outgoing HTTP calls created with HttpClient in case the response code is HTTP3xx #450
  • Added missing net461 target to the Elastic.Apm package
  • Handling Labels with null #429
Featuresedit
  • Reading request body in ASP.NET Core. Also introduced two new settings: CaptureBody and CaptureBodyContentTypes. By default this feature is turned off, this is an opt-in feature and can be turned on with the CaptureBody setting. #402

1.0.0 GAedit

The 1. GA release of the Elastic APM .NET Agent. Stabilization of the 1.0.0-beta feature for production usage.

Featuresedit
  • Out of the box integration with ILoggerFactory and the logging infrastructure in ASP.NET Core #249
  • Introduced StackTraceLimit and SpanFramesMinDurationInMilliseconds configs #374
  • The Public Agent API now support Elastic.Apm.Agent.Tracer.CurrentSpan #391
Bug fixesedit
  • Thread safety for some bookkeeping around spans #394
  • Auto instrumentation automatically creates sub-spans in case a span is already active #391
Breaking changesedit

We have some breaking changes in this release. We wanted to do these changes prior to our GA release and with this we hopefully avoid breaking changes in the upcoming versions.

  • For better naming we replaced the Elastic.Apm.All packages with Elastic.Apm.NetCoreAll #371
  • Based on feedback we also renamed the UseElasticApm() method in the Elastic.Apm.NetCoreAll package to UseAllElasticApm - this method turns on every component of the Agent for ASP.NET Core. #371
  • Our logger abstraction, specifically the IApmLogger interface changed: #389
  • To follow the Elastic Common Schema (ECS), we renamed our Tags properties to Labels. #416