- Bumped session attribute limit to 128 from 64.
- Improved dSYM upload script.
+setMaxEventPoolSizenow persist between background/foreground
Note: This agent was built with Xcode10. It may be necessary to use Xcode10 for compatibility.
deviceManufacturersession attribute; it will always be set as "Apple, Inc".
memUsageMbsession attribute will now be stored as a numeric value rather than a string value.
MobileRequestErrorevents will consistently be not URL-encoded.
+[NewRelic stopCurrentInteraction:(NSString*)activityIdentifier];that could result in dead-lock.
+[NewRelic setApplicationBuild:]will now throw an exception if called after the agent is started.
startWithApplicationToken:appTokenmethod after relaunching, which has been addressed.
MobileRequestError events now contain the response body returned in the network request response, if one exists. Response bodies will only be reported if the
This agent release was built with Xcode 9, breaking backwards compatibility with older versions of Xcode.
This release adds a new API in the
+recordError:(NSError*)error withAttributes:(NSDictionary*)attributes;. This allows Swift errors to be recorded as
MobileHandledException events and to be viewable in the Handled Exception Mobile UI page.
MobileRequest events will now be transmitted by default. They can be turned off by calling
[NewRelic disableFeatures:NRFeatureFlag_NetworkRequestEvents] before
Symbol files will now be processed at build time and uploaded to New Relic using the postbuild.sh, rather than uploading the entire dSYM at build time. This will reduce network overhead as well as improve the time it takes for crashes to symbolicate.
The iOS agent now exposes an API on the
+recordHandledException:(NSException* _Nonnull)exception attributes:(NSDictionary* _Nullable)attributes.
Passing a caught exception to this API will record details as a
MobileHandledException event and record the thread details of the exception. This information will be available in the new UI for handled exceptions.
A new feature flag is available,
NRFeatureFlag_HandledExceptionEvents. This toggles the generation of MobileHandledExceptions events and auxiliary data. It is enabled by default
Now reports network request events to Insights! This feature must be enabled when starting the agent using
[NewRelic enableFeatures:NRFeatureFlag_NetworkRequestEvents]. When enabled all network calls will be tracked, in addition to network errors. These new events will be available under the MobileNetworkRequest eventType. Examples of how to query these new events is available in our documentation: Mobile request query examples (MobileRequest).
MobileBreadcrumbcustom event type that allows you to annotate the execution of your app, to help troubleshoot crashes and provide greater detail in Insights. Record this new event type with the method
+recordCustomEvent:name:withAttributesmethod that takes the event name as an optional parameter. This avoids the need to add a name attribute in the passed attribute set.
+[NewRelic recordCustomEvent:(NSString*)eventType withAttributes:(NSDictionary*)attributes]
This method replaces
+[NewRelic recordEvent:(NSString*)name withAttributes:(NSDictionary*)attributes] which is now deprecated, with the intention of removal in the future. The new API creates a new event with an event type specified by the
eventType parameter, whereas the deprecated method create a event with the Mobile event type and an attribute with the name 'name' and the value of the
name parameter. This change satisfies customer requests for:
MobileRequestError. This new event tracks networking and http errors during the app's lifecycle, adding the ability to slice and dice network error data! More details can be found at Mobile Request Error Events.
lastInteractionattribute to all events, not just crash events.
webView:didCommitNavigation:being called instead of
webView:didStartProvisionalNavigation:. This would result in a crash if the former is implemented in the delegate, but the latter is not.