.NET Agent 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.

.NET Agent Release Notes

2017, May 24 - 17:00 Download

Fixes

  • In some cases, the trace breakdown table overreported segment times. This happened when these three conditions were met, 1. instrumentation occurred through custom XML files, 2. the segment name was overridden, and 3. the segment contained child segments.

Upgrading

2017, May 17 - 09:15

Fixes

  • Fixed an issue preventing injection of a mscorlib reference into every module.

Upgrading

2017, May 11 - 15:00

New Features

  • The .NET agent no longer supports Windows Server 2003. Applications running on Windows Server 2003 will be required to use .NET agent version 6.11 or lower. For more information, get support at support.newrelic.com or download the agent at http://download.newrelic.com/
  • Reduced overhead of the agent for transactions that contain many segments.
  • Reduced performance overhead for instrumented methods. Low latency, high-throughput applications may also see a reduction in CPU overhead.
  • Reduced the overhead associated with method JITs. This will reduce the overall startup time and memory footprint of instrumented applications.

Fixes

  • Methods associated with wrappers that have been disabled due to too many exceptions are no longer instrumented by the default wrapper. The previous behavior could result in orphaned metrics and a potential degradation in performance.

Upgrading

2017, May 4 - 15:00

New Features

Fixes

  • Resolved issue where service.request parameters, if present, were being transmitted to New Relic as part of an Error Analytics event.
  • Fixed issue that could cause a SerializationException and cause metrics to get dropped.
  • Fixed bug that would cause performance degradation for deeply nested segments.
  • Fixes issue where scoped metrics would be dropped from an initial custom transaction when a second custom transaction was created. Impacts transaction created using the BackgroundThreadTracerFactory or the OtherTransactionWrapper via XML.
  • Setting slowSql in the newrelic.config to 'false' will now turn off slow SQL traces in the agent. This setting defaults to true. Server configuration values for this setting will override the value in the newrelic.config file.
  • Removed the generation of unscoped metrics in cases where a transaction was not available. The generation of these metrics has been found to have a noticeable negative performance impact, particularly to low-latency/high-throughput applications. This impact typically shows up as a drop in throughput and higher CPU overhead. The vast majority of these metrics are not visible unless added to a custom dashboard. Datastore and External metrics, however, were visible on their respective pages and will no longer be displayed unless associated with a transaction.
  • Fixed an issue when end-user monitoring is enabled that could cause some UTF-8 characters to get corrupted.
  • The .Net Agent now sends up the databaseDuration and externalDuration attributes when the value is 0.

Upgrading

2017, April 5 - 13:15

Fixes

  • Fixed issue where "Query plan threshold" from server settings was being incorrectly interpreted. This caused a spike in SQL traces as well as explain plan executions for clients using server configuration.
  • Fixed a potential memory leak when an update to agent configuration is performed.

Upgrading

2017, March 16 - 13:15

Fixes

  • Fixes a bug where a SerializationException message is generated in New Relic log during monitoring of asychronous calls.
  • Resolved issue where newrelic.config changes were not being picked up by the agent.

Upgrading

  • For upgrade instructions, see Upgrade the .NET agent.
  • If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
2017, March 2 - 10:40

New Features

  • With this release, the agent reports error analytic events. The event type is called TransactionError, and it powers the Error Analytics in APM feature. The error events are also available through New Relic Insights.
  • For applications with high volume, low latency characteristics, performance has been improved resulting in lower agent overhead and greater application throughput.
  • Performance improvements, related to the capturing of slow transaction traces, have been made to the agent which should result in less CPU overhead.

Fixes

  • A bug was fixed which could cause the agent to shut down immediately at startup if a specific network error was encountered. The agent would then not restart until the application was restarted. The agent now retries network connection attempts indefinitely at startup until success is achieved, in all cases.

Upgrading

  • For upgrade instructions, see Upgrade the .NET agent.
  • If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
2017, January 25 - 16:00

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

Pages