NET Release Notes

Recent .NET agent release notes are listed below. If you would like a release that has been used extensively with a list of known issues, see Established releases (.NET) for download and version information.

2017, January 25 - 16:00 Download

New Features

Fixes

  • Fixed a bug where MS SQL Server instrumentation would generate exceptions and disable itself when a connection string contained a port number.

Upgrading

2017, January 12 - 10:50

Fixes

  • Fixes an issue where query string parameters of a request's referrer URL get sent to APM when they should not be. For more information see the security bulletin https://docs.newrelic.com/docs/accounts-partnerships/accounts/security-b...
  • The Status Monitor now verifies that the application link points to the New Relic domain before loading the URI in the browser, when the user selects the 'View application in New Relic' button in the Status Monitor.

Upgrading

2017, January 5 - 15:37

New Features

  • The agent now collects datastore instance information for Microsoft SQL Server, MySQL, PostGreSQL, Oracle, DB2, and Redis. This information is displayed in transaction traces and slow query traces. Datastore instance details are captured by default. For more information, visit https://docs.newrelic.com/docs/apm/applications-menu/features/analyze-da...

  • SQL trace identifiers now use an 8-byte value instead of a 4-byte value so that Data Loss Prevention monitors do not interpret the value as a 9-digit Social Security Number.

Upgrading

2016, December 19 - 16:00

New Features

  • Transaction events and PageView events now include a common attribute, nr.tripId, which can be used to correlate between them in data returned by Insights. This allows, for example, the browser page load time information and the server page serve time for a web application to be considered together rather than separately.
  • A new, scriptable, installer is now available for the .NET Agent. This new installer makes it easier to perform unattended installations of the agent. This installer does not require .NET 3.5. If it is used to install the agent on a 64-bit machine, then both the 32-bit and 64-bit applications will be instrumented. The existing MSI installer is still recommended if you prefer an interactive installation process. For details, see: https://docs.newrelic.com/docs/agents/net-agent/installation-configurati....

Fixes

  • Fix an issue where the agent imposes a limitation on throughput for applications using datastores for which instance information is not currently supported.
  • Fixed a bug where the database name was not being captured from Microsoft SQL Server connections for the purposes of datastore instance reporting.

Upgrading

2016, November 9 - 16:00

Fixes

  • Fixed an issue where the agent was not sending data to New Relic upon exit from a very short running application.
  • Fixed a bug where parameterized SQL queries might cause an incorrect explain plan to be generated.

Upgrading

2016, October 13 - 11:00

New Features

  • Added support for IBM DB2 including slow query support. You'll see relevant breakdowns in the overview chart, entries in the Databases tab, and segments in transaction traces.

Fixes

  • The enabled attribute of the transactionTracer, when set to false, should disable all transaction trace output. This has been fixed in the .NET agent version 6.2.26.0

Upgrading

2016, September 29 - 11:00

New Features

  • Added ability to configure the use of Gzip compression instead of Deflate (the default) when sending data to New Relic. This can be useful in cases where DLP software requires Gzip compression for verification.
  • Added ability to configure the use of PUT instead of POST (the default) for sending data to New Relic. This can be useful in cases where DLP software requires PUT for verification.

Fixes

  • Fixed issue where the Database Queries tab would not appear for relevant transaction traces in APM.

Upgrading

2016, September 14 - 14:00

New Features

Async support in .NET.

The .NET agent now provides out-of-the-box asynchronous framework instrumentation. With the standard async-await pattern, as introduced in .NET 4.5, calls to async methods can return while work being done in the called method is still in progress. For supported libraries and methods monitored with async custom instrumentation, the .NET agent observes this in-progress asynchronous work and waits for it to complete before recording timings.

To take full advantage of features in this release please see this document.

Fixes

  • Fixed method segment naming for transaction traces to ensure consistency. For previous versions of the agent with async mode enabled, some method segments in transaction traces had inconsistent categories and different method formatting. Fixed these to make them consistent in async supported agent. Category: DotNet, Slowest components: Type.Method().

Upgrading

2016, August 31 - 15:00

New Features

Fixes

  • Fixed a spelling error in NewRelic.Providers.Wrapper.WebServices.Instrumentation.xml.
  • Removed duplicate instrumentation out of CoreInstrumentation.xml.
  • Improved transaction handling for rare cases where a segment cannot be associated with its parent. This scenario can occur in applications with complex threading architectures and would previously cause the entire transaction to be dropped. The transaction will now be retained but the orphaned segment and children will be excluded. A warning log message including specifics will be generated for further troubleshooting.

Upgrading

2016, August 23 - 15:00

Fixes

  • Async mode - New Requirement: Await-friendly asynchronous pipeline introduced in ASP.NET 4.5 must be turned on in your web config for the instrumentation of async methods. Without this configuration, async / await is undefined in ASP.NET and could result in intermittent drops of metrics or potential deadlocks. You may stop seeing some async metrics for your application unless you update its web.config file, as documented here: https://docs.newrelic.com/docs/agents/net-agent/troubleshooting/missing-.... For a brief description of this configuration, see the section here: https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime...
  • Async mode: Fixed issue where High Security Mode was filtering some attributes that are not sensitive.
  • Async mode: Fixed an issue that could lead to missing external segments in some async transactions.
  • Async mode: Fixed an issue in .NET 4.0 and older where in certain instances call stacks may not accurately get tracked due to ASP.NET thread agility.
  • Async mode: Fixed issue where calling AgentApi.GetBrowserTimingHeader() did not prevent subsequent calls in the same transaction or auto browser injection from injecting duplicate JavaScript.
  • Async mode: Fixed issue where setting browser monitoring auto instrument to false would prevent NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader() from returning the header for manual injection.
  • Enhanced the instrumentation for NServiceBus (receive side) so that when a service hosted by NServiceBus throws an unhandled exception while processing a service bus request, the New Relic Agent captures information about the error and generates an error trace.

Upgrading

2016, June 15 - 16:30

New Features

  • Async mode: Added System.Web.Script.Services.WebServiceMethodData support to .NET Async mode. All transactions named from this instrumentation will now use the more appropriate naming format of: WebService/{ServiceClassName}/{MethodName}.
  • Async mode: Added OpenRasta support to .NET Async mode. This instrumentation now appropriately names transactions using the {Controller}/{Action} format.
  • Moved System.Web.UI.Page.PerformPreInit, System.Web.Compilation.AssemblyBuilder.Compile and System.Web.Compilation.BuildManager.CompileWebFile instrumentation configuration elements from the CoreInstrumentation.xml file to the Asp35.Instrumentation.xml file.

Fixes

  • Async mode: Resolved an issue where the agent incorrectly handled HttpClient async requests that timed-out or were manually cancelled. These would show up as wrapper errors.

Upgrading

2016, April 26 - 10:00

New Features

  • Async mode: Added support for the metricName and transactionNamingPriority custom instrumentation options when async mode is enabled.
  • Async mode: Added support for Castle MonoRail 2.x when async mode is enabled. Note that MonoRail transactions previously named WebTransaction/DotNetController/{controller}/{action} will be renamed to WebTransaction/MonoRail/{controller}/{action} when async mode is enabled.
  • Async mode: Added support for legacy ScriptHandlerFactory instrumentation when async mode is enabled.
  • Removes instrumentation for deprecated methods in Umbraco. The default instrumentation for ASP .NET MVC or ASP .NET Web API will now be used by the agent in its place.

Fixes

  • Async mode: Fixed an issue where the agent would not clean up SQL connections after explain plan execution when async mode is enabled.
  • Async mode: Fixed a bug which would cause a SerializationException to occur when async mode is enabled which could result in an app crash.

Upgrading

2016, April 13 - 10:15

New Features

  • Async mode: Instrumentation of NServiceBus is now enabled when the AsyncMode flag is true.
  • Async mode: Added support for Microsoft Message Queue (MSMQ) instrumentation when Async mode is enabled.
  • Async mode: Microsoft Enterprise Library officially supported when Async mode is enabled.

Fixes

  • Fixed a bug where ASP.NET 4.5+ applications would not get transactions for requests that had invalid query stings (such as "myPage.aspx?test=").
  • Fixed an issue where metrics from database calls using Enterprise Library would display as from vendor "Other." The metrics should now show the appropriate supported vendor (Oracle, MsSql, etc.).
  • Fixed a bug that prevented SqlCommand.ExecuteNonQuery commands from being instrumented with the default instrumentation xml files.

Upgrading

2016, April 4 - 11:00

New Features

New Features

  • Added support for Stack Exchange Redis strongly named assembly: StackExchange.Redis.StrongName.
  • Added support for the "CustomSegmentTracerFactory" custom instrumentation option. See docs for example usage.
  • Async mode: Added support for NpgsqlCommand asynchronous methods (such as ExecuteReaderAsync) when the agent is in Async mode.
  • Async mode: Explain plans for MS SQL and MySQL commands are now available when the agent is in Async mode.

Fixes

  • Async mode: Fixed a bug that prevented SQL activity from being recorded in transactions.
  • Fixed a bug where the incorrect namespace of the default asynchronous wrapper was used. The incorrect name was "NewRelic.Agent.Core.Wrapper.DefaultWrapperAsync" and is now "NewRelic.Providers.Wrapper.CustomInstrumentationAsync.DefaultWrapperAsync". Any customers that had created a custom instrumentation file and put the incorrect name in it as a workaround should change it to the correct name.
  • Duplicate custom parameters will now be logged as Debug level, providing a minor performance improvement.

Upgrading

2016, March 11 - 02:45

New Features

  • Async mode: Custom instrumentation is now supported for both synchronous and asynchronous methods when async mode is enabled, however; the metricName and transactionNamePriority elements will not be respected. This is coming in a future release. Please see our custom instrumentation documentation for details.

Fixes

  • Changes the log messages for when a wrapper / method combination needs to be shut down. The new message provides more information and clarity around the shutdown event.

Upgrading

2016, February 24 - 02:45

New Features

  • Async mode: Added support for SqlCommand method ExecuteReaderAsync, ExecuteScalarAsync, ExecuteNonQueryAsync, and ExecuteXmlReaderAsync.
  • Async Mode: Added support for SQL Traces on slow SQL commands when the agent is in async mode.
  • Async mode: Adds support for Synthetics transaction tracing when the agent is in async mode.
  • Async Mode: Added instrumentation for System.Data.SqlClient.SqlDataReader ReadAsync and NextResultAsync methods. Note that, for performance reasons, this instrumentation is disabled by default in the SqlAsync instrumentation xml file.

Fixes

  • Fixed a bug where the agent erroneously treated HTTP headers as being case-sensitive, causing CAT to not work under certain conditions.
  • Fixed a bug where the agent rejected custom events if any attribute had a null value.
  • Async mode: Fixed a bug that caused some datastore activity to be missed.

Upgrading

2016, February 9 - 11:00

New Features

  • Async Mode: Added Agent API support.
  • Async mode: Instrumentation for synchronous SQL commands is available when the agent is in async mode.

Upgrading

2016, January 21 - 14:00

New Features

  • Async mode: The .NET agent now reports CPU and Memory usage metrics which will show up on the APM Application Overview page.
  • Async mode: Basic support for Redis and MongoDB are available when the agent is in async mode.

Fixes

  • Fixed a bug that prevented Cross Application Tracing from working between Java and .NET applications.
  • Fixed a bug where turning on High Security Mode did not prevent custom events from being created via the agent API. For additional information regarding High Security Mode, please refer to our public documentation: https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/h...

Upgrading

2016, January 7 - 10:00

New Features

  • Async Mode: Added automatic Browser Monitoring support.

Fixes

  • Async mode: Fixed a bug where using HttpClient with a BaseAddress would result in transactions being lost or corrupted.

Upgrading

2015, December 16 - 10:00

New Features

  • Async mode: The .NET agent now has an optional async mode which provides a look at the agent's asynchronous framework instrumentation as it becomes available. As of this release, asynchronous instrumentation for System.Net.Http.HttpClient and System.Net.HttpWebRequest are available when the agent is in async mode. Please note that activating async mode disables some functionality within the .NET agent. More details and instructions are available here: https://docs.newrelic.com/docs/agents/net-agent/features/async-mode-net

Improvements

  • Added new log for cases where the .NET Agent cannot inject Browser Agent

Fixes

  • Fixes an issue where intermittent connection issues would cause the Agent to shut down until the process was restarted.

Upgrading

Pages