- Adds an API method for setting the name of the application reported to in New Relic at runtime.
- Adds a configuration option for stopping the agent from reporting automatically when the agent starts up.
- Adds an API method for telling the agent to start reporting at runtime.
- Fixes a bug where self-hosted WCF applications would not correctly report on the overview page.
- Fixes a bug where database calls and external calls in a background/async thread would result in a transaction named
*showing up in the Other bucket.
- Fixes a bug where apdex was not reported for self-hosted WCF applications.
- Fixes a bug where API calls from an application that didn't have any instrumentation would not report any data.
- SQL object names are more accurately parsed. In particular, table names will be recognized with an expanded set of characters. The agent is able to parse table names with a variety of separator characters and formatting whitespace. For example,
[ Table2 ],
If you are using WebAPI and targeting .NET Framework 4.0 then you may need to opt-in to a .NET Framework 4.5 bug fix in order to continue seeing web transactions! For more information, see WebAPI transactions are missing.
- Web transaction types (seen in tooltips) should now be more meaningful. When you mouse over a transaction, instead of showing Action it will show ASP, MVC, WebAPI, WebService, WCF, etc.
This improvement to transaction naming may impact the transaction names of existing metrics including Key Transactions, Alert on Anything metrics and Insights queries based on transaction names. These would need to be recreated with the new transaction name after the upgrade.
- The agent will now fallback to using the proxy configured for the executing user when talking to New Relic.
- Non-web transactions can now report Apdex scores. This can be done by marking a non-web transaction as Key Transaction and setting its Apdex threshold to the desired time (in seconds). This allows monitoring and alerting based on this score as well as configuration of thresholds that make sense for long-running or faster background transactions.
- Fixed a bug that caused WebApi applications to intermittently throw exceptions under certain conditions.
- Fixed a bug that caused Browser Monitoring autoinjection to increase application memory usage.
- Fixed a bug where attempting to load newrelic.config from web root on a network share would fail.
- Fixed RUM auto-injection for default pages in WebForms applications running on .NET 3.5 or lower in integrated pipeline mode.
- Fixed a bug where sometimes transaction events wouldn't be sent to Insights.
- Fixed a bug where sometimes error traces wouldn't be sent to APM.
- Thread profiles of .NET agent instrumented applications now only contain data in the Other bucket.
- Customers who use the MongoDB.Driver for .NET in their applications will start to see MongoDB-based transaction segments. Operations will include data querying, aggregation, index creation/retrieval, data insertion/update/removal and bulk write operations. MongoDB datastore transactions will appear in the Monitoring > Databases APM page. The .NET agent uses the 1.10.0 version of the MongoDB Driver for .NET but will report instrumentation for applications using older versions of the driver.
- Provides support for NServiceBus instrumentation, which will appear as transaction segments containing Message Broker, the queue name and the action (such as Produce or Consume). Since NServiceBus can be used for inter-application communication, nodes will also appear within the Cross-Application Tracing map in APM. This release supports NServiceBus 5.0 and later.
- Fixes a bug where WCF applications hosted in IIS with compatibility mode disabled would not receive any useful transaction traces.
- Fixes a bug where WCF applications hosted in IIS with compatibility mode disabled would see twice as much throughput and *.svc transactions.
- Fixes a bug where some frameworks (WCF, Umbraco, DotNetNuke, etc.) were not having their transactions named as they were in agent 3.x and instead were getting named by the route.
- Fixed a bug where server-side redirects would cause transactions to be dropped.
- Fixes a bug where default page redirection in IIS classic pipeline mode would cause the redirection to fail and a 404 to occur instead.
- Fixes a bug where an exception could be thrown if the Content Type of an outgoing payload could not be parsed.
- Fixes an issue where the Azure Cloud Services NuGet package will not install on roles that are added as part of a second Cloud Service project.
- Fixes a bug where transactions would sometimes not show up in the UI.
- There is a known issue in version 184.108.40.206 of the .NET agent which prevents auto-injection in certain specific cases. This issue only affects WebForms websites running in integrated pipeline mode, and only manifests when navigating to the website's root URL.
- Fixes a bug that would break WebResources if a response filter was hooked up. This was caused by a bug in AssemblyResourceLoader (part of ASP.NET/WebForms).
- Unified view for SQL database and NoSQL datastore products. For more information, see https://docs.newrelic.com/docs/apm/applications-menu/monitoring/databases-slow-queries-dashboard
- Non-IIS applications no longer use the process name as an application name unless no other name is provided. This brings non-IIS application naming in-line with IIS application naming and all of the same naming rules should apply.
- Fixes a bug where simple transactions wouldn't be available to insights for queries. This was most likely to occur with custom applications or WCF applications.
- Fixes a security issue where proxy credentials could be written to the agent log file if you supplied them in the hostname (e.g., user:email@example.com:1234).
- Fixed a bug that caused the .NET agent to corrupt some non-HTML resources if browser monitoring was enabled.
- ASP.NET, MVC, and Web API instrumentation has been greatly improved. We now time each of the lifecycle events to help diagnose problematic areas of the .NET lifecycle such as session state lock contention. MVC and WebAPI should now properly wrap the time spent in controller actions inside the proper segment.
- We should now see far more exceptions that occur in your application, with full stack traces. The caveat here is that your error rate may appear to spike after upgrading and you may need to add some additional configuration to ignore more errors (or adjust error rate thresholds).
- Fixed a bug where WebAPI exceptions didn't contain stack traces.
- Increases the number of places during the ASP.NET Lifecycle that New Relic API methods that modify the transaction (like SetTransactionName) can be used.
- Provides support for instrumentation of methods on generic class types.
- Fixed a bug that would sometimes cause IIS to get into a bad state under certain load conditions where it would stop serving requests. This could be identified by an exception from IIS around System.Web.HttpApplication.PipelineStepManager.ResumeSteps.
- MVC2 applications will no longer generate MVC-specific segments or have MVC route-based transaction names.
- Thread profiles will no longer put threads into the Web Requests thread bucket (the Other bucket will be used instead)