Bug fixes
Resolved an issue where persisted events were reloaded and re-sent on every launch when
EventPersistencewas disabled.Corrected the event buffer behavior so the agent now follows the min/max range for event buffer time.
Fixed
connectionTypebeing reported as "unknown" when the cellular subtype couldn't be resolved.
Support statement
We recommend updating the agent at least every three months. Find specific policies and dates for Android agent support in the Mobile Monitoring Agents EOL Policy.
Améliorations et optimisations
Prise en charge d’AGP 9.4 : ajout de la prise en charge du plug-in Android Gradle (AGP) 9.4.x au plug-in New Relic Gradle.
Optimisation de l’en-tête du tracing distribué : simplification du tracing distribué en supprimant l’en-tête de requête propriétaire newrelic et en s’appuyant uniquement sur les en-têtes standards W3C traceparent et tracestate.
Détection de l’agent WebView Browser : ajout de métriques de supportabilité pour détecter et suivre si les WebViews actives utilisent l’agent New Relic Browser.
Conseils d’optimisation de la taille du SDK : ajout de documentation couvrant les règles de tree-shaking de ProGuard/R8 pour aider les développeurs à supprimer le code d’agent inutilisé pour les fonctionnalités désactivées.
Débogage
Correction d’un plantage de Session Replay : résolution d’une condition de concurrence multithread lors de l’initialisation de Curtains dans Session Replay qui provoquait une NullPointerException sur le thread principal.
Suivi de la taille de la charge HTTP2 : résolution d’un problème où la taille de la charge de la requête réseau (bytesReceived) signalait de manière incorrecte 0 octet pour les flux HTTP/2 et Ktor sans en-tête.
Résolution des fuites de ressources : résolution d’une observation d’analyse statique (CWE-404) en fermant correctement les instances de BufferedWriter dans SessionReplayFileManager.
Déclaration de soutien
Nous vous recommandons de mettre à jour l'agent au moins tous les trois mois. Recherchez des politiques et des dates spécifiques pour le support des agents Android dans la politique de fin de vie des agents des applications mobiles de surveillance.
Débogage
- Correction de l’hôte d’API de source map régional/par défaut correct pour le téléchargement de source map React Native
Déclaration de soutien
Nous vous recommandons de mettre à jour l'agent au moins tous les trois mois. Recherchez des politiques et des dates spécifiques pour le support des agents Android dans la politique de fin de vie des agents des applications mobiles de surveillance.
Débogage
- Correction de l’URL du point de terminaison pour le téléversement de la source map React Native.
Déclaration de soutien
Nous vous recommandons de mettre à jour l'agent au moins tous les trois mois. Recherchez des politiques et des dates spécifiques pour le support des agents Android dans la politique de fin de vie des agents des applications mobiles de surveillance.
Nouvelle fonctionnalité et améliorations
- Ajout du stockage hors ligne pour Session Replay : les charges de replay qui ne peuvent pas être envoyées immédiatement — en raison d'une absence de connexion réseau, de la fermeture forcée de l'application, de l'arrêt du processus ou d'un arrêt pour mémoire insuffisante — sont désormais conservées sur le disque et livrées lors de la prochaine collecte réussie, au lieu d'être perdues.
- Ajout de la prise en charge sous-jacente pour le signalement d'erreurs hybrides à partir des applications React Native, à activer en parallèle d'une prochaine sortie de l'agent React Native. Les erreurs JavaScript non gérées seront capturées en tant qu'événements d'agent, corrélées avec Session Replay et marquées avec le tag de la version de l'application pour une symbolication précise.
- Ajout de la prise en charge sous-jacente pour le téléversement automatique des source maps JavaScript React Native pendant la compilation Gradle, à activer en parallèle d’une prochaine sortie de l’agent React Native.
- Ajout du téléversement du fichier de modélisation ProGuard/DexGuard par cible de build, afin que les applications avec plusieurs cibles de packaging DexGuard obtiennent une désobfuscation des plantages correctement associée pour chaque cible.
- Ajout d'un magasin d'attributs à l'échelle de la session afin que les événements Application Exit Info (AEI) transportent les attributs de session de la session qui a réellement planté, plutôt que de la session créée après le redémarrage.
- La persistance des événements est désormais activée par défaut, de sorte que les événements mis en mémoire tampon et les données d’analyse survivent à l’arrêt de l’application et sont récupérés lors du prochain lancement.
- Ajout de la prise en charge du plug-in Android Gradle (AGP) 9.x, ce qui porte le plafond pris en charge à 9.3.0.
Débogage
- Correction du chronométrage du démarrage à froid pour mesurer le temps jusqu’à l’affichage initial (TTID) depuis le lancement jusqu’à la première image rendue, au lieu de la reprise de l’activité.
- Correction d'un problème de récupération après plantage où un fichier de sauvegarde obsolète pouvait empêcher le magasin de plantages de récupérer après un plantage précédent.
- Correction des exceptions gérées pour qu'elles soient conservées en dehors du thread appelant, évitant ainsi des ralentissements potentiels lors de l'écriture dans le magasin d'exceptions.
- Correction de l’invalidation du cache de compilation Gradle causée par l’incorporation (embedding) de l’ID de compilation par compilation et des valeurs des métriques directement dans la source compilée — ceux-ci sont désormais générés en tant que ressources Android à la place, réduisant les recompilations inutiles et le temps de reconstruction, avec les ressources protégées contre la suppression lorsque shrinkResources est activé.
Déclaration de soutien
Nous vous recommandons de mettre à jour l'agent au moins tous les trois mois. Recherchez des politiques et des dates spécifiques pour le support des agents Android dans la politique de fin de vie des agents des applications mobiles de surveillance.
Bug fixes
Fixed a performance issue where Session Replay image compression ran on the main thread. It now runs asynchronously, reducing overhead during capture.
Addressed rendering accuracy issues in Session Replay by emitting incremental view additions in their natural view order.
Fixed an issue where stale offline payloads could be sent by enforcing a time-to-live (TTL) that discards data queued too long.
Resolved an issue where session attributes could be lost during the shutdown harvest.
Fixed an issue where buffered events were dropped during app shutdown, ensuring they are now sent in the final harvest to prevent data loss.
Fixed a timing issue during device rotation where session continuity could be lost during the transition.
Made HTTP header handling thread-safe, resolving errors that could occur under concurrent access.
Fixed an issue where app start-up metrics could be miscalculated when a start-up timestamp was not set.
Resolved an issue where the agent attempts to report crashes without an active network connection, causing unnecessary errors on offline devices.
Fixed a native (NDK) crash that could occur during shutdown due to an ABI mismatch in
stop().Fixed ProGuard map upload for builds that produce a DexGuard APK directly.
Improved Gradle configuration-cache compatibility during map upload.
Relocated the bundled
commons-iodependency in the Gradle plugin to prevent conflicts with host applications.
Support statement
We recommend updating the agent at least every three months. Find specific policies and dates for Android agent support in the Mobile Monitoring Agents EOL Policy.