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.
Notas
Esta versión del agente de Python soluciona problemas con los encabezados firmados en botocore (SigV4).
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Errores
Solucionar problemas con encabezados firmados en botocore (SigV4)
- El cambio anterior en los encabezados de rastreo distribuido de botocore se ha revertido para evitar que se envíen encabezados duplicados.
- Anteriormente, cualquier encabezado de rastreo distribuido generado por otras bibliotecas de rastreo podía causar problemas con la instrumentación en botocore debido a la firma de encabezados. Esto se ha solucionado al desactivar la firma de estos encabezados dentro de botocore.
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente de Python agrega compatibilidad con OpenSearch, Microsoft Azure SQL, nuevos métodos de Kinesis y una nueva configuración de browser_monitoring.version. Además, se han realizado mejoras en la instrumentación de Anthropic, MCP y Google ADK. También se han solucionado los problemas con los encabezados firmados en botocore (SigV4) y el análisis de herramientas de Gemini para esta versión.
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Nueva característica
Nueva instrumentación para opensearch-py
- Se agregó instrumentación para el conector oficial de la base de datos de OpenSearch.
Nueva instrumentación para mssql-python
- Se agregó instrumentación para Microsoft Azure SQL.
Nueva instrumentación para nuevos métodos de Kinesis
Ahora se admiten los siguientes métodos en Kinesis:
create_channeldelete_channeldescribe_channellist_channelsupdate_channel
Nueva configuración para
browser_monitoring.version- La nueva configuración
browser_monitoring.versionpermite a los usuarios especificar versiones específicas de nuestro agente de monitoreo de Browser para inyectar. - Consulte la lista de versiones compatibles del agente del browser para elegir.
- La nueva configuración
Características mejoradas
Soporte mejorado para anthropic.
- Análisis mejorado de los parámetros de solicitud para el SDK de Anthropic en las versiones 1.0.0 y superiores.
- Nuevo análisis para respuestas a través de
Messages.with_raw_response.createque permite una compatibilidad mejorada con LangChain.
Compatibilidad con mcp v2.0.0 y superiores.
- La instrumentación se ha actualizado tras la importante refactorización realizada en
mcpv2.0.0 y debería volver a funcionar como se espera.
- La instrumentación se ha actualizado tras la importante refactorización realizada en
Soporte para Google ADK v2.9.0 y versiones posteriores.
- Se ha actualizado la instrumentación para Google ADK en las versiones 2.9.0 y superiores.
Errores
Solucionar problemas con encabezados firmados en botocore (SigV4)
- Anteriormente, cualquier encabezado de rastreo distribuido generado por otras bibliotecas de rastreo podía causar problemas con la instrumentación en botocore debido a la firma de encabezados. Esto se ha solucionado y los encabezados de rastreo distribuido ahora se mutan antes de firmar.
Corrección para el análisis de herramientas de Gemini
- Anteriormente, algunas instancias de herramientas creadas con Gemini presentaban errores de análisis y fallaban de forma silenciosa, lo que provocaba que no se obtuviera respuesta para esa solicitud específica. Esto se ha solucionado.
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente de Python agrega compatibilidad con Azure CosmosDB, agrega instrumentación para HTTPX2 y las nuevas API de eventos de transmisión de LangChain/LangGraph, agrega compatibilidad con las convenciones semánticas de base de datos de OpenTelemetry más recientes y resuelve varios problemas, que incluyen informes de paquetes incompletos, una penalización de rendimiento en la búsqueda de paquetes y un error en los informes de nombres de base de datos de MySQL.
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Nueva característica
Se agregó compatibilidad con Azure CosmosDB
- El agente de Python ahora instrumenta las operaciones del cliente de Azure Cosmos DB, reportando métricas y trazas del almacenamiento de datos para operaciones de base de datos, contenedor y usuario realizadas a través del SDK de
azure-cosmos.
- El agente de Python ahora instrumenta las operaciones del cliente de Azure Cosmos DB, reportando métricas y trazas del almacenamiento de datos para operaciones de base de datos, contenedor y usuario realizadas a través del SDK de
Se agregó soporte para HTTPX2
Se agregó instrumentación de eventos de transmisión de LangChain/LangGraph
Se agregó compatibilidad con las convenciones semánticas de base de datos de OpenTelemetry más recientes
- Al ejecutar el agente de Python junto con OpenTelemetry (modo de agente híbrido), el agente ahora lee los nombres de atributo de span de base de datos de OpenTelemetry legacy y más recientes (
db.name/db.namespace,db.statement/db.query.text,db.mongodb.collection/db.collection.name), por lo que el rastreo de base de datos continúa funcionando correctamente independientemente de la versión de convención semántica que emita la biblioteca de instrumentación de OpenTelemetry.
- Al ejecutar el agente de Python junto con OpenTelemetry (modo de agente híbrido), el agente ahora lee los nombres de atributo de span de base de datos de OpenTelemetry legacy y más recientes (
Errores
Se corrigió el informe incompleto de paquetes a New Relic
- Anteriormente, el agente de Python podía omitir algunos paquetes instalados de los datos de entorno reportados a New Relic si el descubrimiento de módulos tomaba más tiempo que la ventana de tiempo fija asignada durante el ciclo de recolección lento, y la lista de paquetes no se actualizaba después de un reinicio del agente. La captura de paquetes ahora se ejecuta durante el ciclo de recolección rápido y se vuelve a capturar por completo al apagar/reiniciar el agente, por lo que la lista de paquetes reportada está completa.
Se redujo la sobrecarga de las búsquedas de versiones de paquetes
- Anteriormente, la búsqueda de versiones de paquetes instalados volvía a escanear el sistema de archivos para cada paquete en cada búsqueda, lo que incurría en una penalización de tiempo O(n^2) que escalaba con la cantidad de paquetes instalados durante la inicialización del agente. El resultado de
importlib.metadata.packages_distributions()ahora se almacena en caché después de la primera búsqueda para evitar esta sobrecarga.
- Anteriormente, la búsqueda de versiones de paquetes instalados volvía a escanear el sistema de archivos para cada paquete en cada búsqueda, lo que incurría en una penalización de tiempo O(n^2) que escalaba con la cantidad de paquetes instalados durante la inicialización del agente. El resultado de
Se corrigió
get_linking_metadatapara que pase correctamente por la aplicación especificada- Anteriormente, llamar a
newrelic.agent.get_linking_metadata(application=...)ignoraba el argumentoapplicationy siempre devolvía metadatos de vinculación para la aplicación predeterminada. Esto afectaba a los procesos que informaban a más de una aplicación. La aplicación especificada ahora se transfiere correctamente. - ¡Gracias ckarnell por la contribución!
- Anteriormente, llamar a
Se corrigió el reporte del nombre de la base de datos MySQL al usar el argumento de palabra clave
database- Anteriormente, el agente solo verificaba el argumento de palabra clave
dblegacy al analizar el nombre de la base de datos de los argumentos de conexión de mysql-connector-python, por lo que las conexiones realizadas con el argumento de palabra clavedatabasemoderno no reportaban ningún nombre de base de datos en las métricas del almacenamiento de datos. El agente ahora verificadatabaseprimero, recurriendo adb.
- Anteriormente, el agente solo verificaba el argumento de palabra clave
Se corrigió la advertencia al acceder a los valores de
GraphOutputde LangGraph v1.1+- Anteriormente, la instrumentación de LangGraph v1.1+ accedía a los valores de retorno de
GraphOutpututilizando una sintaxis de acceso a elementos obsoleta, lo que desencadenaba una advertencia de obsolescencia. El agente ahora leeGraphOutput.valuedirectamente.
- Anteriormente, la instrumentación de LangGraph v1.1+ accedía a los valores de retorno de
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente de Python agrega soporte para los comandos de Redis introducidos en Redis v8.10.0 y redis-py v8.1.0. Esta versión también resuelve el problema de los eventos LlmChatCompletion faltantes en LangChain al usar herramientas MCP.
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Nueva característica
Se agregaron comandos de Redis introducidos en Redis v8.10.0 y redis-py v8.1.0
El agente de Python ahora es compatible con los siguientes comandos agregados recientemente en Redis:
himport_discard_allhimport_discardhimport_preparelmovemnrangenrevrangequerylabelsreadsdiffcardsunioncardaliaslist
Errores
Se corrigieron los eventos LlmChatCompletion faltantes en Gemini al usar herramientas MCP
Se cambió al ID de caché de traza en LangChain y el framework de agente
- Para fines de propagación del contexto, intercambie la instrumentación de LangChain y agente framework para almacenar solo el ID de caché de la traza en lugar de la traza completa en un atributo de referencia. Esto es para evitar que estos objetos se serialicen inesperadamente en caso de fugas. El ID es un objeto mucho más pequeño, mientras que la traza podría contener MB de datos.
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
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.