Notes
This release of the Python agent removes support for Cross Application Tracing (CAT), Python 3.8, and the bundled SSL certificates. It also updates all vendored packages to their latest versions, and adds support for free-threaded CPython, Windows operating systems, and improved instrumentation for Microsoft AG2 (Autogen). Additionally, this release includes a new optional extra for installing SSL certificates through certifi. This release also fixes a bug in Strands Agents instrumentation which caused duplicate exceptions to be reported.
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
Cross Application Tracing (CAT) has been removed in favor of Distributed Tracing (DT).
- Cross Application Tracing (CAT) was deprecated in agent version 7.0.0.166, and has been removed in this release. If you are still using Cross Application Tracing (CAT), we recommend migrating to Distributed Tracing (DT) as soon as possible to avoid disruption.
The bundled SSL certificates have been removed.
- If you require certificates for your environment, you can either install them via your operating system's package manager or install the agent with the optional
newrelic[certificates]extra.
- If you require certificates for your environment, you can either install them via your operating system's package manager or install the agent with the optional
Python 3.8 support has been removed.
- Python 3.8 reached End-of-Life on 2024-10-07 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.
Security
All internal packages updated to their latest versions.
urllib3updated to v2.6.3- This fixes all open CVEs on
urllib3as of the date of this release.
- This fixes all open CVEs on
opentelemetry_protoupdated to v1.40.0wraptupdated to v2.1.2asgirefupdated to v3.11.1
New features
New
newrelic[certificates]extra for installing SSL certificates through certifi.- The agent now provides an optional
newrelic[certificates]extra which can be used to install the bundled SSL certificates. This is intended for users who require certificates but are unable to install them via their operating system's package manager.
- The agent now provides an optional
Free-Threaded CPython support
- Starting with Python 3.13, CPython releases builds of Python with the Global Interpreter Lock (GIL) disabled, allowing for true multi-threading.
- This release adds support for this behavior, allowing the agent to safely run in a free-threaded environment.
- This release also includes pre-built binaries for free-threaded CPython on Linux and Windows, allowing for easy installation in these environments.
Windows Support
- This release includes pre-built binaries for CPython 3.13 or higher on Windows.
- Note that Python 3.12 or lower is not officially supported on Windows due to large variances in the resolution of timers. It's still possible to install and use the agent from source, but users may experience issues with inaccurate timing data and should upgrade to Python 3.13 or higher for the best experience.
Improved instrumentation for Microsoft AG2 (Autogen)
- Added support for streaming responses through the asynchronous generator method
on_messages_stream(). - Instrumentation now includes a
subcomponentattribute on spans that represent tool or agent calls. This is used to provide more enhanced entity mapping in the New Relic UI.
- Added support for streaming responses through the asynchronous generator method
Bugs
Duplicate exceptions in Strands Agents
- After an update to Strands Agents which encapsulates some exceptions in a new
EventLoopExceptiontype, duplicate errors could be reported. This has been fixed and the underlying error should only be reported once.
- After an update to Strands Agents which encapsulates some exceptions in a new
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 version de l'agent Python ajoute la prise en charge des traces/spans pour Hybrid Agent, l'intégration de New Relic avec OpenTelemetry. Cela ajoute également des GUID d'entité aux fichiers de vérification de l'état d'Agent Control, des attributs subcomponent à l'instrumentation de l'IA agentique, la prise en charge de nouvelles méthodes client Redis, corrige un bug pouvant entraîner des instances ImportHookFinder en double et un bug dans l'instrumentation OracleDB Cursor.callproc().
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.
Caractéristiques
Ajouter la prise en charge du tracing pour l'Agent hybride (Hybrid Agent)
L'agent hybride est conçu pour combler le fossé pour les équipes cherchant à adopter les normes OpenTelemetry tout en maintenant la rétrocompatibilité avec leurs dashboards New Relic existants. Hybrid Agent offre le « meilleur des deux mondes » en combinant la visibilité approfondie de New Relic avec la compatibilité de l'API OpenTelemetry. Il fournit une solution d'observabilité avec une prise en charge intégrée des API OpenTelemetry suivantes :
- Tracé
- Instrumentation de bibliothèques autonomes et de frameworks natifs
Des améliorations clés telles que les Span Links et les Events on Spans sont désormais disponibles, garantissant une interopérabilité transparente dans les environnements en mode mixte.
Introduit un nouvel échantillonneur basé sur le ratio de Trace ID
- Un nouvel échantillonneur basé sur le ratio d'ID de trace. Cet algorithme d'échantillonnage est basé sur l'échantillonneur du même nom d'OpenTelemetry et peut être configuré pour échantillonner un pourcentage défini de transactions.
Ajouter
subcomponentattributs à l'instrumentation de l'IA agentiqueAjouter le GUID de l'entité aux fichiers de contrôle de santé d'Agent Control
- Lorsque l'agent est démarré dans un environnement Agent Control, un fichier de bilan de santé est créé à l'emplacement de fichier configuré pour chaque processus de l'agent. Ce fichier inclut désormais le GUID de l'entité associée à l'agent lorsqu'il est disponible.
Ajouter l'instrumentation pour les nouvelles méthodes Redis
Ajoutez l'instrumentation pour les nouvelles méthodes suivantes sur les clients Redis :
- hotkeys_get
- Réinitialiser les raccourcis
- hotkeys_start
- hotkeys_stop
- vrange
- xcfgset
Bugs
Correction des instances ImportHookFinder en double
- Auparavant, il était possible que des doublons du finder de hook d'importation soient ajoutés à
sys.meta_path.
- Auparavant, il était possible que des doublons du finder de hook d'importation soient ajoutés à
Corriger la signature incorrecte sur OracleDB
Cursor.callproc()- Auparavant, tenter d'utiliser des arguments nommés avec
Cursor.callproc()provoquait des plantages car les noms d'arguments étaient incorrects dans notre instrumentation. Cela a été corrigé et l'argument supplémentairekeyword_parametersest désormais également pris en charge.
- Auparavant, tenter d'utiliser des arguments nommés avec
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 version de l'agent Python ajoute la prise en charge des agents LangGraph.
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.
Caractéristiques
Ajouter la prise en charge des agents LangGraph
- Ajoute une instrumentation pour les invocations d'agents LangGraph via
create_agent()dans LangChain. Cela inclut les appels de l'agent versinvoke(),ainvoke(),stream()etastream().
- Ajoute une instrumentation pour les invocations d'agents LangGraph via
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 version de l'agent Python ajoute de nouvelles façons de transmettre les erreurs à notice_error(), ajoute la prise en charge de la capture des erreurs d'outils synchrones Strands-Agent, ajoute la prise en charge de gpt-5 et des modèles OpenAI LLM plus récents, et corrige un plantage dans la logique d'utilisation d'Azure Functions.
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.
Caractéristiques
Ajouter la prise en charge des instances d'exception comme arguments à
notice_error()notice_error()peut désormais accepter une instance d'exception interceptée (telle qu'une instance provenant d'un bloc try/except) pour l'argumenterror, plutôt qu'un tuple d'exception provenant desys.exc_info().Ceci s'ajoute au comportement existant et ne le remplace pas. L'utilisation précédente de
notice_error()sans arguments ou avec un tuple d'exception devrait toujours fonctionner correctement.
Ajouter la prise en charge de
gpt-5et des modèles LLM OpenAI plus récents- Ajouter des mises à jour à l'instrumentation OpenAI pour prendre en charge les noms d'attributs plus récents utilisés avec les modèles OpenAI ultérieurs
Ajouter la prise en charge de la capture d'erreurs d'outils synchrones Strands-Agent
- Les fonctions Python synchrones utilisées comme outils dans Strands-Agents ont désormais une capture d'erreur appropriée et capturent les traces dans des outils tels que les recherches dans la base de données.
Débogage
Se prémunir contre les plantages lors de l'utilisation d'Azure Functions
- Auparavant, certains utilisateurs rencontraient des cas limites où la détection d'utilisation d'Azure Functions plantait lors de la tentative de correspondance des expressions régulières. Le plantage a été corrigé et ne devrait plus être possible à l'avenir.
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 éléments suivants :
- Brins
- AWS Bedrock Converse Streaming
- Méthodes Redis
hybrid_searchetmsetex - Attributions de rôles LangChain pour l'événement LLM
- LLM événement horodatage capturé au moment de la demande LLM
loop_factoryparamètre dansasyncio.Runner
Cette mise à jour corrige également un bug dans l'instrumentation ASGI où les en-têtes ne sont pas signalés par le serveur web.
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.
Caractéristiques
Ajout de la prise en charge de Strands
- Ajouter des instruments pour les outils et agents Strands dans des configurations mono-agent et multi-agents (essaims, graphes, etc.).
Ajout de la prise en charge du streaming Converse sur AWS Bedrock
- Ajout de la prise en charge monitoring pour l'API Converse en streaming. Cela inclut la prise en charge des appels de complétion de chat Converse effectués avec les clients boto3 et aioboto3 utilisant
converse_stream().
- Ajout de la prise en charge monitoring pour l'API Converse en streaming. Cela inclut la prise en charge des appels de complétion de chat Converse effectués avec les clients boto3 et aioboto3 utilisant
Ajout de la prise en charge des méthodes Redis
Ajouter la prise en charge des méthodes suivantes :
hybrid_searchmsetex
Ajouter la prise en charge de
loop_factorydansasyncio.Runner- Dans Python 3.11, la classe
asyncio.Runnera été ajoutée ainsi que le paramètreloop_factory. Le paramètreloop_factoryfournit un remplacement pour les politiques de boucle. La boucle ainsi créée est désormais instrumentée, que ce soit via un paramètre de boucle d'événements global ou une boucle d'événements personnalisée.
- Dans Python 3.11, la classe
Capturer les attributions de rôles LangChain dans un événement LLM
- L'événement LangChain
LlmChatCompletionMessagecontient désormais le rôle attribué par LangChain.
- L'événement LangChain
Capture de l'horodatage de l'événement LLM au moment de la requête LLM
- Auparavant, la date et l'heure de l'événement LLM étaient enregistrées au moment de sa création. Désormais, cette information est saisie avec plus de précision au moment de la demande de LLM.
Débogage
consommation d'en-tête ASGI
- Lorsqu'un
ASGIWebTransactionconsomme les en-têtes d'un événementhttp.response.start, il le fait sans tenir compte des types d'entrée autorisés. Lorsque les en-têtes sont un générateur, le générateur a été consommé par l'appel àprocess_response()ne laissant aucun en-tête à envoyer au serveur Web. Ce problème est maintenant résolu.
- Lorsqu'un
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 Python 3.14 support, new environment variables for attribute filter settings, support for async generators in transaction decorators, additional models in AWS Bedrock, and new methods in AWS Kinesis. This release also fixes a bug in aiomysql which caused RecursionError when using ConnectionPool where it was wrapped multiple times, a bug where properties were not properly passed in kombu's producer, and an error when shutdown_agent is called from within the harvest thread.
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.
Features
Add support for Python 3.14
- Add support for Python 3.14.
Add environment variables for attribute filters settings
The following settings now have the option to be set through environment variables:
Configuration Setting Environment variable attributes.enabledNEW_RELIC_ATTRIBUTES_ENABLEDattributes.excludeNEW_RELIC_ATTRIBUTES_EXCLUDEattributes.includeNEW_RELIC_ATTRIBUTES_INCLUDEbrowser_monitoring.attributes.enabledNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLEDbrowser_monitoring.attributes.excludeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDEbrowser_monitoring.attributes.includeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDEerror_collector.attributes.enabledNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLEDerror_collector.attributes.excludeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDEerror_collector.attributes.includeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDEspan_events.attributes.enabledNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLEDspan_events.attributes.excludeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDEspan_events.attributes.includeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDEtransaction_events.attributes.enabledNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLEDtransaction_events.attributes.excludeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDEtransaction_events.attributes.includeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDEtransaction_segments.attributes.enabledNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLEDtransaction_segments.attributes.excludeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDEtransaction_segments.attributes.includeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDEtransaction_tracer.attributes.enabledNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLEDtransaction_tracer.attributes.excludeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDEtransaction_tracer.attributes.includeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE
Add support for async generators in transaction decorators
- Previously, transaction decorators did not support being wrapped around async generators. This support has been added, and async generator transactions will now automatically measure event loop wait time and other statistics.
Add support for additional models in AWS Bedrock instrumentation
Updates AWS Bedrock instrumentation through botocore and aiobotocore to support the following additional models
- Claude Sonnet 3+ models
- Models that are prefixed with a region (region-aware)
Add instrumentation for new Kinesis methods
- Adds botocore instrumentation to support new AWS Kinesis methods
describe_account_settingsupdate_account_settingsupdate_max_record_sizeupdate_stream_warm_throughput
- Adds botocore instrumentation to support new AWS Kinesis methods
Bug fixes
Prevent a RecursionError in aiomysql ConnectionPool
- Previously, a
RecursionErrorwould be raised in aiomysql when using pooled connections. DeepObjectProxychains were created around pooled connections due to repeated wrapping. This has been fixed.
- Previously, a
Fixed a bug where properties were not properly passed in kombu's producer
- Fixed a bug where instrumentation for
kombu.messaging.Producer.publish()was causing properties to accidentally be nested inside of the dictionary, causing the properties to be in the wrong spot and not read by downstream packages.
- Fixed a bug where instrumentation for
Fix error when
shutdown_agentis called from within the harvest thread- Previously, a
RuntimeErrorcould occur whenshutdown_agentwas called from within the harvest thread. This fixes that issue by adding a guard to prevent the crash.
- Previously, a
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.