Notes
Improvements
NSURLSession Instrumentation Beta
The iOS agent now instruments NSURLSessions. Specifically, network requests created with NSURLSessionDataTask and NSURLSessionUploadTask. Network requests made using these objects will appear in the Mobile UI under the Network tab along with previously instrumented network requests.
This feature is disabled by default. It can be enabled via the new configuration flags.
Configuration Flags Allow users to enable/disable New Relic features. This feature specifically added for Beta NSURLSession support, which is, by default, disabled.
Fixes
- Agent will no longer produces garbled server response bodies under Network > Errors > Error Traces.
- Agent will no longer display the error message "threadLocalTrace is not parentTrace" when it isn't actually an error.
- Agent will no longer trim the last traced method of an activity trace.
Notes
Fixes
- Fixes a sporadic crash triggered by xpc_mach_port activity in the application after a call to read thread CPU usage fails. Also appears as a crash triggered by the SCReachability system API.
- Fixes an issue where certain class inheritance hierarchies may cause a grandparent class's implementation of an instrumented method to be invoked multiple times.
- Fixes a crash related to enabling both Verbose mode and File Output mode in the New Relic SDK.
Notes
Fixes
- Interaction traces will properly terminate on app closing. This avoids certain edge cases where the interaction will resume on app launch and create an Interaction that spans the length of time the app was backgrounded.
Notes
Improvements
- Created a workaround for no-network-activity bug that occurs when New Relic and Crittercism are installed simultaneously.
Fixes
- Fixed memory leak in NRTraceMachine
Notes
This release is a recommended upgrade for all iOS SDK users.
Improvements
- Agent stability & self-management. Critical sections of the agent have been isolated to prevent agent-related errors from destabilizing the host application, and certain classes of errors will be automatically reported to New Relic without the need for customer-initiated communication.
- Performance tuning. Overhead for on-device code tracing has been reduced by over 50% in some cases. The agent will consume less CPU time on the mobile device, resulting in improved application responsiveness and lower battery drain.
- Improved data accuracy. Under certain conditions it was possible for the SDK to record total time for method invocations but not record the associated exclusive time. This improvement will result in more accurate breakdown charts and tables, and improve the collection of certain interaction traces.
Fixes
- This release resolves multiple stability issues in the SDK. We recommend this release for any customers who have encountered application crashes with previous SDK versions.
Notes
Fixes
- Resolves NRURLProtocol crashes for non-webView network requests.
- Large file uploads should no longer timeout after the default timeout period while there is network activity.
Notes
Improvements
- ARM64 support - you can now compile New Relic in your native 64-bit applications.
- Improved sub-millisecond timing resolution on method tracing. Blame breakdowns and interaction traces will now have improved "total time" and "total exclusive time" measurements.
Fixes
- Resolves a crashing timing-related issue in method tracing. Relevant exceptions include note of "object cannot be nil" or "setObject:forKey:" with a nil value.
- Resolves several stability and accuracy issues in the NRTimer class.
Notes
Improvements
- Supports C++ linkage. For projects using C++, the New Relic library now properly marks our exported symbols as requiring C linkage.
Fixes
- Corrects an issue where data might cease reporting to New Relic after app has been running for 60 seconds.
- Fixes an issue that could cause incorrectly sized UIImages or repeating icons.
Notes
Improvements
- Added explanation to missing CFBundleVersion/CFBundleShortVersion String exception
Fixes
- -setThreadLocalTrace: crash fixed
- UIImage -imageFromData: crash fixed
- other various bug fixes
Notes
Features
- End to end instrumentation for your mobile applications.
- Automatic instrumentation of important system objects and methods.
- Customizability to allow for instrumentation of your most important objects and methods.