Notes
This release of the Python agent adds utilization for Azure App Services, instrumentation for Azure Service Bus, support for a new Kinesis method, and support for Google ADK for v2.10.0 and above. This release also fixes an issue in httplib where distributed trace headers were duplicated as well as the setup.py installation file.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
Removed Features
- Removed support for Python 3.9
* Python 3.9 reached End-of-Life on October 31, 2025 and is no longer supported by the agent. Please consider upgrading your application to a supported version of Python in order to continue to receive updates to the Python Agent.
New Features
Utilization for Azure App Service
- Utilization for Azure App Service was added to enable entity relationship mapping.
- This also adds a new setting,
utilization.detect_azureappservice
New instrumentation for Azure Service Bus
- Instrumentation was added for Microsoft Azure Service Bus.
New instrumentation for new Kinesis method
- The
update_stream_record_distribution_strategymethod is now supported in Kinesis.
- The
Security Updates
The internal urllib3 package has been updated to
2.8.0to resolve all current CVEs inurllib3.- This resolves all known CVEs in the agent to date.
Enhanced Features
Support for Google ADK v2.10.0 and above.
- Instrumentation has been updated for Google ADK on versions 2.10.0 and above.
Bugs
Duplicated distributed tracing headers in httplib
- Fixed issues where
httplibinstrumentation could produce duplicate headers fortraceparent, resulting in a malformed value.
- Fixed issues where
setup.pyinstall file now works for all supported Python versions- If a user wanted to use the
setup.pyfile directly to install the Python Agent on Python 3.12 and above, they would come across anImportError. This is becausedistutilshas been deprecated since Python 3.10 and entirely removed from the standard library in Python 3.12.
- If a user wanted to use the
Support statement
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Python agent EOL policy for information about agent releases and support dates.
Remarques
Cette sortie de l'agent Python corrige des problèmes liés aux en-têtes signés dans botocore (SigV4).
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Bugs
Corriger les problèmes avec les en-têtes signés dans botocore (SigV4)
- La modification précédente des en-têtes de tracing distribué de botocore a été annulée pour éviter l'envoi d'en-têtes en double.
- Auparavant, tous les en-têtes de tracing distribué qui étaient générés par d'autres bibliothèques de tracing pouvaient causer des problèmes avec l'instrumentation dans botocore en raison de la signature des en-têtes. Cela a été corrigé en désactivant la signature pour ces en-têtes dans botocore.
Déclaration de soutien
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l'agent Python ajoute la prise en charge d'OpenSearch, de Microsoft Azure SQL, de nouvelles méthodes Kinesis, et d'un nouveau paramètre browser_monitoring.version. De plus, des améliorations ont été apportées à l'instrumentation d'Anthropic, de MCP, et de Google ADK. Les problèmes liés aux en-têtes signés dans botocore (SigV4), et à l'analyse des outils Gemini ont également été corrigés pour cette sortie.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelle fonctionnalité
Nouvelle instrumentation pour opensearch-py
- L'instrumentation a été ajoutée pour le connecteur de base de données officiel d'OpenSearch.
Nouvelle instrumentation pour mssql-python
- L’instrumentation a été ajoutée pour Microsoft Azure SQL.
Nouvelle instrumentation pour les nouvelles méthodes Kinesis
Les méthodes suivantes sont désormais prises en charge dans Kinesis :
create_channeldelete_channeldescribe_channellist_channelsupdate_channel
Nouveau paramètre pour
browser_monitoring.version- Le nouveau paramètre
browser_monitoring.versionpermet aux utilisateurs de spécifier des versions spécifiques de notre agent de monitoring de navigateurs à injecter. - Consultez la liste des versions de l’agent Browser prises en charge pour faire votre choix.
- Le nouveau paramètre
Fonctionnalités améliorées
Prise en charge améliorée d’ anthropic.
- Amélioration de l’analyse des paramètres de requête pour le SDK Anthropic sur les versions 1.0.0 et supérieures.
- Nouvelle analyse des réponses via
Messages.with_raw_response.createpermettant une compatibilité améliorée avec LangChain.
Prise en charge de mcp v2.0.0 et versions ultérieures.
- L'instrumentation a été mise à jour à la suite du refactoring majeur effectué dans
mcpv2.0.0 et devrait à nouveau fonctionner comme prévu.
- L'instrumentation a été mise à jour à la suite du refactoring majeur effectué dans
Prise en charge de Google ADK v2.9.0 et versions ultérieures.
- L’instrumentation a été mise à jour pour Google ADK sur les versions 2.9.0 et ultérieures.
Bugs
Corriger les problèmes avec les en-têtes signés dans botocore (SigV4)
- Auparavant, tous les en-têtes de tracing distribué qui étaient générés par d'autres bibliothèques de tracing pouvaient causer des problèmes avec l'instrumentation dans botocore en raison de la signature des en-têtes. Cela a été corrigé, et les en-têtes de tracing distribué sont désormais modifiés avant la signature.
Correction de l’analyse des outils Gemini
- Auparavant, certaines instances d'outils créés avec Gemini ne parvenaient pas à être analysées, et échouaient silencieusement, n'entraînant aucune réponse pour cette requête spécifique. Ce problème a été résolu.
Déclaration de soutien
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l’agent Python ajoute la prise en charge d’Azure CosmosDB, ajoute l’instrumentation pour HTTPX2 et les nouvelles API d’événements de streaming LangChain/LangGraph, ajoute la prise en charge des nouvelles conventions sémantiques de base de données OpenTelemetry, et résout plusieurs problèmes, notamment le signalement incomplet de packages, une pénalité de performance de recherche de package et un bug de signalement de nom de base de données MySQL.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelles fonctionnalités
Ajout de la prise en charge d’Azure CosmosDB
- L’agent Python instrumente désormais les opérations client d’ Azure Cosmos DB, signalant les métriques et les traces du datastore pour les opérations de base de données, de conteneur et d’utilisateur effectuées via le SDK
azure-cosmos.
- L’agent Python instrumente désormais les opérations client d’ Azure Cosmos DB, signalant les métriques et les traces du datastore pour les opérations de base de données, de conteneur et d’utilisateur effectuées via le SDK
Ajout de la prise en charge de HTTPX2
Ajout de l’instrumentation des événements de streaming LangChain/LangGraph
Ajout de la prise en charge des nouvelles conventions sémantiques de base de données OpenTelemetry
- Lors de l’exécution de l’agent Python avec OpenTelemetry (mode agent hybride), l’agent lit désormais les noms d’attribut de span de base de données OpenTelemetry legacy et plus récents (
db.name/db.namespace,db.statement/db.query.text,db.mongodb.collection/db.collection.name), de sorte que le tracing de la base de données continue de fonctionner correctement, quelle que soit la version de la convention sémantique que la bibliothèque d’instrumentation OpenTelemetry émet.
- Lors de l’exécution de l’agent Python avec OpenTelemetry (mode agent hybride), l’agent lit désormais les noms d’attribut de span de base de données OpenTelemetry legacy et plus récents (
Bugs
Correction du signalement incomplet des packages à New Relic
- Auparavant, l’agent Python pouvait omettre certains packages installés des données d’environnement signalées à New Relic si la découverte de modules prenait plus de temps que la fenêtre de temps fixe allouée pendant le cycle de collecte lent, et que la liste de packages n’était pas actualisée après un redémarrage de l’agent. La capture de package s’exécute désormais pendant le cycle de collecte rapide et est entièrement recapturée lors de l’arrêt/redémarrage de l’agent, de sorte que la liste de packages signalée est complète.
Réduction de la surcharge des recherches de version de package
- Auparavant, la recherche des versions de package installées analysait à nouveau le système de fichiers pour chaque package à chaque recherche, entraînant une pénalité de temps O(n^2) qui augmentait avec le nombre de packages installés pendant l’initialisation de l’agent. Le résultat de
importlib.metadata.packages_distributions()est désormais mis en cache après la première recherche pour éviter cette surcharge.
- Auparavant, la recherche des versions de package installées analysait à nouveau le système de fichiers pour chaque package à chaque recherche, entraînant une pénalité de temps O(n^2) qui augmentait avec le nombre de packages installés pendant l’initialisation de l’agent. Le résultat de
Correction de
get_linking_metadatapour passer correctement par l’application spécifiée- Auparavant, l'appel de
newrelic.agent.get_linking_metadata(application=...)ignorait l'argumentapplicationet renvoyait toujours les métadonnées de liaison pour l'application par défaut. Cela affectait les processus remontant des données à plus d'une application. L'application spécifiée est désormais correctement transmise. - Merci à ckarnell pour sa contribution !
- Auparavant, l'appel de
Correction du signalement du nom de la base de données MySQL lors de l’utilisation de l’argument mot-clé
database- Auparavant, l’agent vérifiait uniquement l’argument mot-clé legacy
dblors de l’analyse du nom de la base de données à partir des arguments de connexion mysql-connector-python, de sorte que les connexions établies à l’aide de l’argument mot-clé modernedatabasene signalaient aucun nom de base de données dans les métriques du datastore. L’agent vérifie désormaisdatabaseen premier, puis se rabat surdb.
- Auparavant, l’agent vérifiait uniquement l’argument mot-clé legacy
Correction de l’avertissement lors de l’accès aux valeurs
GraphOutputde LangGraph v1.1+- Auparavant, l’instrumentation de LangGraph v1.1+ accédait aux valeurs de retour
GraphOutputà l’aide de la syntaxe d’accès aux éléments obsolète, déclenchant un avertissement d’obsolescence. L’agent lit désormaisGraphOutput.valuedirectement.
- Auparavant, l’instrumentation de LangGraph v1.1+ accédait aux valeurs de retour
Déclaration de soutien
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l'agent Python ajoute la prise en charge des commandes Redis introduites dans Redis v8.10.0 et redis-py v8.1.0. Cette sortie résout également le problème des événements LlmChatCompletion manquants dans LangChain lors de l'utilisation des outils MCP.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelles fonctionnalités
Ajout des commandes Redis introduites dans Redis v8.10.0 et redis-py v8.1.0
L’agent Python prend désormais en charge les commandes récemment ajoutées suivantes dans Redis:
himport_discard_allhimport_discardhimport_preparelmovemnrangenrevrangequerylabelsreadsdiffcardsunioncardaliaslist
Bugs
Correction des événements LlmChatCompletion manquants dans Gemini lors de l'utilisation des outils MCP
Passage à l’ID de cache de trace dans LangChain et Agent framework
- À des fins de propagation du contexte, échangez l'instrumentation de LangChain et d'Agent framework pour stocker uniquement l'ID du cache de trace plutôt que la trace complète dans un attribut de référence. Cela permet d'éviter que ces objets ne soient sérialisés de manière inattendue en cas de fuites. L'ID est un objet beaucoup plus petit, tandis que la trace peut contenir des Mo de données.
Déclaration de soutien
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Notes
This release of the Python agent adds support for AI Monitoring server-side configuration, adds context propagation for Bedrock invocations made through Microsoft Agent Framework, fixes duplicate tool entities for LangChain tools backed by a remote MCP server, reduces race condition risk in the garbage collection data sampler, fixes inconsistent transaction names when using Wagtail, and removes byte encoding from outbound Kombu distributed tracing headers.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
New Features
Add support for AI Monitoring server-side configuration
- The Python agent now supports server-side configuration of AI Monitoring. When configured, the server-side
ai_monitoring.enabled,ai_monitoring.record_content.enabled, andai_monitoring.streaming.enabledvalues take precedence over the local settings.
- The Python agent now supports server-side configuration of AI Monitoring. When configured, the server-side
Add context propagation for Bedrock invocations through Agent Framework
- Propagates trace context across thread boundaries created by Microsoft Agent Framework's Bedrock integration. This allows the agent's existing botocore instrumentation to capture LLM events for Bedrock invocations made through Agent Framework. This does not add full instrumentation of Agent Framework itself.
Bugs
Fix inconsistent transaction names when using Wagtail
- Previously, transaction names for apps built on Wagtail were inconsistent and could be the same for different page views. This has been fixed.
Fix duplicate tool entities for LangChain tools backed by a remote MCP server
- Previously, when a LangChain tool was backed by a remote MCP server that was also separately instrumented, duplicate tool entities appeared in the UI. This has been fixed by gating subcomponent attributes off of LangChain tools when a known remote tool is detected.
Fix missing User Input field for LangChain and LangGraph MCP tool calls
- Previously, when LangChain or LangGraph used tools from an MCP server, the User Input field could be missing from AI monitoring data if the input message wasn't the last message in the streamed sequence. This has been fixed, and the agent now correctly extracts the input message in these cases.
Reduce race condition risk in the garbage collection data sampler
- Previously, the agent always called
gc.get_objects()to sample garbage collector object counts, regardless of configuration. This has been changed sogc.get_objects()is only called whentop_object_count_limitis configured above0, avoiding unnecessary heap iteration for customers who don't track object types collected by the garbage collector.
- Previously, the agent always called
Remove byte encoding from outbound Kombu distributed tracing headers
- Previously, distributed tracing headers added by Kombu instrumentation were byte-encoded, which broke transports that serialize payloads with the standard library
jsonmodule (for example, SQLAlchemy-backed transports). The byte encoding has been removed so these transports work correctly.
- Previously, distributed tracing headers added by Kombu instrumentation were byte-encoded, which broke transports that serialize payloads with the standard library
Support statement
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Python agent EOL policy for information about agent releases and support dates.