September 20, 2012
.NET agent v184.108.40.206
- Updated the logo used in the installer.
- Allow medium-trust .NET applications to be monitored. We accomplished this by adding the AllowPartiallyTrustedCallers assembly attribute to all of our .NET assemblies. This also reduces assembly load overhead in some environments.
- Minor improvements to debug logging.
- Fix parsing of sql commands so that the metric name is based on a SELECT/INSERT/UPDATE/DELETE-style command instead of supporting commands such as SET (as in SET NOCOUNT).
- Improvement error handling in agent to avoid null reference exceptions.
- Added comments to the NewRelic.AgentApi programmer interface for intellisense support.
- Diagnostic tool now warns instead of reporting an error if COR_ENABLE_PROFILING is not set to 1.
August 22, 2012
.NET agent v220.127.116.11
- The agent diagnostic utility, NewRelic.DiagnosticTool.exe, now supports a "verbose" mode as a command-line option (-v or -verbose). If you do not use the option, you will just get the failures and warnings. If you use the -v option, the output will include failures, warnings and passed test results. In previous versions of the agent, the diagnostic utility always output all results, making it more difficult to easily see where the failures were.
- Removed all of the static docs from the installer. All documents for the .net Agent are now available at: https://newrelic.com/docs/dotnet/
- Changed the way the agent gets the urls for each web-based transaction from the built-in .NET RawUrl property to using the url off of the request. This will help keep urls reported by the agent consistent and prevent exceptions when raw representations of the url do not exist
- Significant improvements around the way the agent loads assemblies for instrumentation. This should help individual application load times as well as load times when instrumenting multiple applications on a single server
July 19, 2012
.NET agent v18.104.22.168
- When enabling enterprise security (or High Security) in rpm applications either stop responding completely or the profiler will shut down due to security violation regardless of the ssl setting in newrelic.xml config.
High security requires that the newrelic.xml config have the attribute ssl in the service node set to "true," the enabled attribute in the requestParameters node set to "false" and the recordSQL attribute in the transactionTracer node to be set to "obfuscated." The .net Agent log now appropriately reflects the configuration needs and will gracefully stop the profiler if the configuration does not meet the requirements of High Security.
- If there are invalid characters in the newrelic.xml file, when the .NET Agent's DiagnosticTool is run, it throws an exception associated with the "DiagnosticCollectorAttachment". This is the name of a private function in the tool, and the tool just logs the message associated with the exception. The fix now allows the evaluation for an inner exception, where the more meaningful message can usually be found and recorded.
- Fix for a Null Reference Exception happening on rare occasions when recording metrics.
June 7, 2012
.NET agent v22.214.171.124
- After deployment of a site, the site would throw a TypeLoadException "Could not load 'NewRelic.Agent.Core.AgentShim' from assembly mscorlib", because of a stale assembly token cache used within the agent.
- Segments in transactions for .NET MVC applications were being mis-labeled with System.Web.Mvc.ProcessRequest(async). This has been renamed to System.Web.Mvc.ProcessBeginRequest()[async] to reflect the actual name of the framework method being instrumented. This is because System.Web.Mvc.MvcHandler now implements IHttpAsyncHandler.
- The agent installer will no longer allow users who are not administrators to complete the installation. This prevents the agent from being improperly installed.
- Turned off the metrics for the execution pipeline steps. The agent still generates transaction trace segments for the calls, so the user will still be able to diagnose the pipeline without the execution pipeline steps.
April 27, 2012
.NET agent v126.96.36.199
- Do a better job of exercising some diagnostic print statements.
- Strip off the generic qualifier (backtick and beyond) in Exception names when comparing names with a list of exception names to ignore.
- Make the diagnostic tool more robust, and release in an architecture-neutral format.
- The diagnostic tool now only writes to stdout.
- Change SQL obfuscator to correctly handle escaped quotes in strings, and to obfuscate more literal constants.
- Log (at finest level) obfuscated SQL and the generated metric name for SQL queries.
- Change the diagnostic tool to ternary logic, reporting PASS, WARN and FAIL; some errors reading registry now marked as WARN.
- Disable tracers for HttpWebRequest.SerializeHeaders and HttpWebResponse.Close, as the data collected by those is not yet used.
- Copy comments from newrelic.xml into newrelic.xsd to help xml aware editors.
- Log timestamps now contain millisecond accurate data.
- Stability enhancements in profiler core.
- Fix fusion log binding errors from the New Relic Agent.
February 20, 2012
.NET agent v2.0.7
- Extend the command-line tool NewRelic.DiagnosticTool.exe to try to write to logs, %TMP% and to the registry.
- Add DiagnosticToolDocumentation.html that describes the DiagnosticTool.
- Improve error messages and error recovery when web.config file or any of the xml configuration files are lexically, syntactically or semantically incorrect.
- Fix a bug in the way some text is rendered in the event viewer.
January 26, 2012
.NET agent v2.0.6
- Fix a bug when profiling functions with non-builtin value types as arguments. such as "KeyValuePair", "Decimal", etc.
- Make the profiler's interaction with the CLR memory more robust.
- Improve documentation on how to write custom instrumentation specifications.
- Extend the command-line tool NewRelic.DiagnosticTool.exe to check for more conditions, up to and including successful profiling.
- Page names collected from ASP are now downcased before being collected by the RPM, to match implicit case-insensitive behavior on windows.
- Allow Azure wawebhost.exe and waworkerhost.exe to be profiled executables.
- Copyrights to 2012.
December 7, 2011
.NET agent v2.0.5
- Bug fixes, debugging support and stability improvements
- Do not profile functions ending with .Dispose or .Finalize
- Do not reprofile functions that have already been profiled
- Load files in extensions directory in alphabetical order
- Support profiling functions that contain switch statements
- Fix bugs involving exception clauses for corner cases
- Fix bugs involving rewrites of short branch statements
- Fix some memory leaks for error paths in the profiler
- SQL declare, waitfor and execute keywords now supported
- Minor changes and bug fixes in documentation
- Rethrow ThreadAbortExceptions in profiled code