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 (
SIGSEGVdansobjc_msgSend) survenant lors des lectures de configuration de la collecte. Huit propriétés d'objet surNRMAHarvesterConfigurationdéclarées commeassignconservaient des pointeurs pendants après le vidage du pool d'autorelease de la réponse/connectou du dictionnaireNSUserDefaults.Résolution d’un problème où toutes les traces d’activité étaient abandonnées pour une session lorsque la réponse
/connectomettait l’attributat_capture.Correction de la valeur
platformsignalée avec les erreurs React Native pour qu’elle soit signalée commeReactNative.Correction du champ
agentVersiondans 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
NSArrayouNSDictionaryen 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".
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.
Corrigé dans cette sortie
Correction d’un bug où l’appel de setUserId avec nil démarrait toujours une nouvelle session.
A empêché le téléchargement d’anciennes frames de Session Replay avec une nouvelle session.
A modifié reachability pour mettre à jour un rappel lors d’un changement au lieu de l’appeler à chaque fois.
Correction d'un plantage lié à l'invalidation hexadécimale.
A corrigé le plantage de setUserId vendorId.
Correction de l’atomicité dans les collections de traces NRMA.
Correction de setUserId pour qu’il reste synchrone.
Correction d'un plantage en faisant passer Session Replay d'un Timer à un DispatchSourceTimer.
Correction d’un plantage de CoreData NRMAMethodProfiler.
Correction d’un plantage en faisant en sorte que sessionAttributeJSONString prenne un instantané des dictionnaires.
Correction du texte MSR en limitant le décalage de compensation de largeur du texte SwiftUI à son contenu.
Correction d’une fuite de mémoire de JSErrorController.
Correction du texte MSR en faisant référence à la graisse de police numérique précise au lieu du trait de gras binaire.
A mis à jour les outils de téléchargement dSYM pour ajouter le paramètre appVersion à dsym-upload-tools run-symbol-tool.
A corrigé les modales SwiftUI manquantes dans MSR.
Nouvelles fonctionnalités
Les appareils simulateurs sont désormais signalés comme simulator-(deviceType).
Corrigé dans cette sortie
- Suppression de la détection KMP qui causait une instabilité dans la version 7.7.3.
- Correction d'un plantage qui pouvait survenir lors de l'enregistrement de requests web asynchrones.
- Correction d'un plantage causé par une condition de concurrence de la configuration de harvest.
Nouvelle fonctionnalité
Fonctionnalité de stockage hors ligne pour le Session Replay mobile.
Corrigé dans cette sortie
Remplacement du LCG basé sur l'horodatage dans IGuidGenerator par arc4random_buf.
Ajout de la détection de la région UE à l'envoi de sourcemaps RN.
Blocage de la récursion pour le swizzle d'interaction par défaut de style MAUI.
Renommage de appVersionId en appVersion dans l'envoi de sourcemaps RN.
Correction d’une boucle infinie dans EventDeserializer qui gelait l’agent au lancement.
Modification du mode de masquage par défaut de Session Replay pour ne pas autoriser le démasquage à l'aide d'API programmatiques et correction des API de remplacement d'UIKit.
Correction d'un plantage qui pouvait se produire dans NRMAWKWebViewNavigationDelegate webViewWebContentProcessDidTerminate.
Garantie que les données de Session Replay sont téléchargées au prochain lancement si le téléchargement a échoué lors de la fermeture de l'application.
Suppression des rapports de plantage définitivement rejetés (400/403).
Ajout de l'éviction TTL pour le stockage hors ligne (#786).
Correction du plantage d’initialisation de NRMAHarvestController (#793).