• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

iOS agent release notesRSS

October 29
iOS agent v7.7.10

Débogage

  • Correction de l’inclusion des chemins de la machine de build dans le binaire de l’agent
  • Correction de .swiftinterface pour qu’il soit analysable par Xcode 26 lors de la compilation avec Xcode 27

October 19
iOS agent v7.7.9

Débogage

  • Correction d'un plantage (SIGSEGV ou SIGBUS dans SessionAttributeManager::generateJSONObject) sur le thread de collecte, qui pouvait également corrompre le tas, et causer des plantages ailleurs. L'agent copiait ses attributs de session internes, tels que memUsageMb et lastInteraction, pendant une collecte sans détenir le verrou qui les protège, de sorte qu'il pouvait les lire pendant qu'un autre thread les mettait à jour. Ce problème était présent dans la version 7.7.8 et les versions antérieures.
  • Correction du blocage du thread principal, et de la fermeture des applications par le watchdog iOS (0x8BADF00D), une fois que le tampon d’événements était plein, et que l’application continuait à effectuer des requests réseau. L’agent maintenait un verrou pendant qu’il réécrivait sa copie sur disque des événements mis en mémoire tampon, et les threads enregistrant les événements, y compris le thread principal, attendaient ce verrou. Les événements rejetés d’un tampon plein n’étaient pas non plus supprimés de cette copie, elle augmentait donc de volume, et était entièrement réécrite pour chaque nouvel événement. Les écritures se produisent désormais sans maintenir le verrou, sont regroupées par lots, et les événements rejetés sont supprimés. Ce problème était présent dans la version 7.7.8, et les versions antérieures.
  • Correction d’événements qui n’étaient parfois pas signalés lorsqu’ils étaient enregistrés, par exemple par la fin d’une requête réseau, au même moment où l’agent collectait les événements mis en mémoire tampon pour une récolte. L’agent vidait la mémoire tampon une seconde fois après la sortie de son verrou, ce qui supprimait tout événement ajouté entre-temps avant qu’il ne soit envoyé. Ce problème était présent dans la version 7.7.8 et les précédentes.
  • Correction du problème où le propre travail JSON de l’agent était enregistré comme activité de l’application. NSJSONSerialization est instrumenté pour les traces d’interaction, et l’agent l’appelait directement pour chaque message de log, ainsi que pour les attributs de session, et les exceptions gérées. Cela ajoutait le travail interne de l’agent aux traces d’interaction, et, lorsque l’application générait beaucoup de logs, pouvait saturer le tracing. L’agent appelle désormais l’implémentation d’origine, non instrumentée. Ce problème était présent dans la version 7.7.8, et les versions antérieures.
  • Correction d'un problème où les règles de masquage de l'identifiant d'accessibilité de Session Replay définies dans les paramètres de l'application étaient ignorées sur iOS. New Relic envoie ces règles aux applications iOS avec l'identifiant accessibilityIdentifier, mais l'agent ne reconnaissait que tag, ce qui entraînait le rejet de toutes ces règles. Les deux valeurs sont désormais acceptées. Une règle mal formée est désormais ignorée avec un avertissement, au lieu de rejeter toutes les règles, ou de faire planter l'agent.
  • Correction d'éventuels plantages lors du masquage de Session Replay. Les listes de masquage pouvaient être mises à jour par une reconnexion, ou par addSessionReplayMaskedAccessibilityIdentifier: et les API associées, pendant qu’une trame était en cours de capture, sans maintenir le verrou que la capture utilise. Les règles de masquage personnalisées contenant des valeurs qui ne peuvent pas être enregistrées dans NSUserDefaults, telles que null, pouvaient également arrêter l’application lorsque l’agent enregistrait sa configuration. Les règles sont désormais nettoyées avant d’être stockées, et chaque mise à jour des listes de masquage est verrouillée.
  • Correction des navigations WKWebView signalées sans URL dans les applications compilées avec le SDK iOS 27. Avec ce SDK, WKWebView.URL peut toujours être nil lorsqu’une navigation commence. L’agent se rabat désormais sur l’URL de la request du cadre principal à partir de decidePolicyForNavigationAction.
  • Correction d’un plantage EXC_BAD_ACCESS possible lors de l’utilisation de addHTTPHeaderTrackingFor.

October 6
iOS agent v7.7.8

Débogage

  • Correction d’un problème où l’appel de recordError dans des conditions de faible mémoire pouvait terminer l’application hôte. Les rapports d’erreurs sont désormais rejetés et consignés dans le log, et les frames de l’agent New Relic sont retirées du haut de la stack enregistrée.
  • Correction d'un plantage dans NRMALoggerBridge::log causé par un argument manquant dans une chaîne de format de log lors de la suppression des attributs de session. Correction de deux autres chaînes de format non valides dans le même composant.
  • Correction d’un problème où les horodatages de tracing distribué (tracestate et la charge ti) étaient envoyés en secondes au lieu de millisecondes lors de l’utilisation du nouveau système d’événements.
  • Correction d’un problème où les événements MobileRequest réussis perdaient tous les attributs de tracing distribué lorsqu’un SDK multiplateforme passait traceHeaders.
  • Mise à jour de l'agent natif pour empêcher l'ajout de traces distribuées en double aux requests signalées avec traceHeaders par Flutter, React Native, ou d'autres agents hybrides. Cela s'applique à la fois à MobileRequest et à MobileRequestError dans les deux systèmes d'événements.
  • Application des limites minimales et maximales pour les paramètres de configuration MaxEventPoolSize et MaxEventBufferTime (durée maximale de mise en mémoire tampon plafonnée à 600 secondes).
  • Mise à jour de recordCustomEvent pour renvoyer un booléen indiquant si l’événement a été ajouté avec succès lors de l’utilisation du nouveau système d’événements, plutôt que de toujours renvoyer YES.
  • Mise à jour des envois d'erreurs JavaScript React Native pour transmettre la valeur de plateforme ReactNative avec la casse correcte, afin de correspondre au comportement de l'agent Android.

September 8
iOS agent v7.7.7

Nouvelle fonctionnalité

  • Mise à jour de la configuration de build XCFramework pour cibler une version de déploiement minimale d’iOS 15.0 et de tvOS 15.0, en s’alignant sur les exigences minimales documentées de la plateforme.

Débogage

  • Résolution d'un plantage (SIGSEGV dans objc_msgSend) survenant lors des lectures de configuration de la collecte. Huit propriétés d'objet sur NRMAHarvesterConfiguration déclarées comme assign conservaient des pointeurs pendants après le vidage du pool d'autorelease de la réponse /connect ou du dictionnaire NSUserDefaults.

  • Résolution d’un problème où toutes les traces d’activité étaient abandonnées pour une session lorsque la réponse /connect omettait l’attribut at_capture.

  • Correction de la valeur platform signalée avec les erreurs React Native pour qu’elle soit signalée comme ReactNative.

  • Correction du champ agentVersion dans la charge d’erreur JavaScript pour signaler avec précision la version de l’agent iOS plutôt que la version de la plateforme hôte.

  • Mise à jour de la validation de l’attribut personnalisé : le passage d’un objet NSArray ou NSDictionary en tant qu’attribut d’événement enregistre désormais un log d’erreur explicite identifiant le type non pris en charge, remplaçant le message d’avertissement générique "value must be an NSString, NSNumber, or BOOL".

August 13
iOS agent v7.7.6

Corrigé dans cette sortie

  • Correction du tri des événements Session Replay avant Meta/FullSnapshot.

  • Correction de données manquantes potentielles en réécrivant NRMAExceptionMetaDataStore.

  • Correction du script de téléversement de sourcemap RN.

  • Correction d'un problème potentiel de redémarrage de session dans checkAndHandleSessionTimeout.

Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.