New Features
- [.NET Framework] The .NET Framework agent now supports instrumenting ASP.NET Core applications that are running on .NET Framework. The .NET Core specific agent is still required for instrumenting applications running on .NET Core.
Fixes
- Fixed issue where deadlocks could occur in some situations when a
ThreadAbortException
was thrown within a client application. - Fixed issue where only the first transaction name set via API call to
SetTransactionName()
would be honored. Now, the last call toSetTransactionName()
will be the name applied to the transaction. - [.NET Core 2.0] Fixed issue with the .NET Core agent on Windows where the
CORECLR_PROFILER_PATH
environment variable was not being expanded properly in certain deployment scenarios. - [.NET Framework] Fixed issue introduced in agent version 8.1.709.0 that caused some .NET Framework applications to throw the following exception:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
Important
This release has been unpublished. Use version 8.1.712.0 or higher.
This version introduced a bug that could cause crashes for .NET Framework applications manually loading types from assemblies in the application domain. This includes enumerating custom attributes. The encountered error will appear like the following:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified
New Features
- [.NET Framework] The .NET Framework agent now supports instrumenting ASP.NET Core applications that are running on .NET Framework. The .NET Core specific agent is still required for instrumenting applications running on .NET Core.
Fixes
- Fixed issue where deadlocks could occur in some situations when a
ThreadAbortException
was thrown within a client application. - Fixed issue where only the first transaction name set via API call to
SetTransactionName()
would be honored. Now, the last call toSetTransactionName()
will be the name applied to the transaction. - [.NET Core 2.0] Fixed issue with the .NET Core agent on Windows where the
CORECLR_PROFILER_PATH
environment variable was not being expanded properly in certain deployment scenarios.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
Fixes
- Security Bulletin NR18-07: The agent will no longer run explain plans on MySQL queries which have multiple statements.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Features
- Adds
stripExceptionMessages
configuration option to thenewrelic.config
file. When enabled, this will remove error messages from errors that are reported to New Relic. This is the same behavior as having High-security mode enabled but can be used without High-security mode. The default value for this setting isfalse
.
Fixes
- Security Bulletin NR18-07: The agent will no longer run explain plans on MySQL queries that have multiple statements.
Other Changes
- In order to increase security, disabling agent HTTPS communication via the service SSL configuration is no longer allowed.
- WCF service parameters are now captured as
request.parameters.*
attributes and are no longer sent asservice.request.*
attributes. - Minimum version required for use in EU Datacenter.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Features
- Improved metadata collection for cloud providers. The agent now collects additional metadata when running in AWS, GCP, and Azure. This information is used to provide an enhanced experience when the agent is deployed on those platforms.
Fixes
- Fixed an issue where transactions could be dropped when they included datastore segments and the following exception was logged:
NewRelic ERROR: An exception occurred while doing some background work: System.NullReferenceException: Object reference not set to an instance of an object.
- Fixed an issue where SOAP instrumentation would report
System.Reflection.TargetInvocationException
errors when a more specific error existed. Inner exceptions will now be reported when they exist.
Deprecation Warnings
The follow items are considered deprecated and will be removed with the upcoming 8.x major release:
- Disabling agent HTTPS communication via the service SSL configuration will no longer be allowed starting in 8.x versions of the agent.
- WCF service parameters will no longer be sent as
service.request.*
attributes starting in 8.x versions of the agent. These parameters will be sent in the formrequest.parameters.*.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
Fixes
- Security Bulletin NR18-04: Fixes issue where error messages were not fully being filtered out of error traces and error events when High-security mode was enabled.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Features
- Modifying custom instrumentation XML files can now be performed without having to restart the monitored application. Instrumentation updates will be applied ‘dynamically’ at runtime. This feature required functionality provided by new APIs introduced in .NET Framework 4.5 and newer, which this release also addresses (see ‘Framework Support’ section below).
Fixes
- Security Bulletin NR18-04: Fixes issue where error messages were not fully being filtered out of error traces and error events when High-security mode was enabled.
- Fixed an issue with automatic browser monitoring which could cause a stack overflow exception.
- For custom instrumentation, the metricName parameter will be honored without needing to set transactionNamingPriority.
- The scriptable installer will now successfully install and uninstall in scenarios where there is a space in the path to the installation files.
Framework Support
- This release of the agent removes support for .NET Framework versions earlier than 4.5. See our community post about this from November of last year, for more details.
- This is not an end of life for the 6.x agents (that support older .NET Frameworks), which will continue to work and report into New Relic.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Features
- The request URI for a web transaction will now be included as an attribute of transaction events and error events.
- The New Relic .NET Status Monitor has been retired and is no longer included in the install. The replacement tool is New Relic Diagnostics. To download the most recent version, select the link in the New Relic Diagnostics documentation.
Fixes
- Security Bulletin NR17-06: Fixes issue where query parameters were being included in the URL property of transaction trace segments for external calls (uses of System.Net.HttpClient, System.Net.WebRequest, or third-party libraries which are built on top of those). Query parameters will no longer be included in transaction trace segments.
- Transaction names will be rolled up for web transactions resulting in a 400 or 500 level HTTP status code and a higher priority name has not been set. This helps prevent metric grouping issues.
- Fixed error that could result in the one time loss of a metric and/or transaction for an instrumentation point at the start of monitoring an application. "...NewRelic ERROR: Tracer invocation error: System.ArgumentException: An item with the same key has already been added. Key: ..."
- Minor log level adjustments in the profiler logging. Suppresses benign error
Failed to tokenize method signature: class System.Reflection.Assembly System.CannotUnloadAppDomainException::LoadAssemblyOrThrow(string)
- [.NET Core 2.0] For .NET Core agent users on Linux, this release fixes a problem with the
run.sh
convenience script in combination with a custom installation path. - [.NET Framework] Fixes issue resulting in SerializationExceptions when using .Net Remoting.
Upgrading
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Relic Agent for .NET Core 2.0 GA
Highlights
- Windows and Linux support, including Azure App Services and Docker
- Automatic instrumentation for ASP.NET Core applications running on Kestrel
- External calls via HttpClient
- Database instrumentation for System.Data.SqlClient, Npgsql, and MySql.Data
- Custom instrumentation via XML and transaction/trace attributes
- NewRelic.Agent.Api support
For a more detailed list, see the compatibility documentation.
The .NET Core 2.0 agent is a separate install and can live side-by-side on the same server as the .NET Framework agent. For installation information, follow the procedures for your operating system as applicable:
New Shared Features
- Database instrumentation performance has been improved.
- Explain plans are no longer captured by default for supported database systems: Microsoft SQL Server and MySQL. Explain plans can be enabled via configuration.
Updating the Agent
- Follow standard procedures to update the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.
New Features
- The agent now supports running in FIPS compliance mode.
Fixes
- Fixed an issue that caused some transactions to report start time in the server's local time zone instead of UTC.
- Additional bug fixes to remedy a SerializationException caused by the agent.
Upgrading
- Follow standard procedures to upgrade the .NET agent.
- If you are upgrading from a particularly old agent, review the list of major changes and procedures to upgrade legacy .NET agents.