Notes
This release of the Python agent removes support for Python lambda function in the config file, excludes the newrelic header by default, adds support for exclude and include settings for Hybrid Agent traces, anthropic instrumentation, gemini response streaming, improves caching of IS_PYPY in gc_data.py for performance, and adds http.statusCode attribute in transaction events. This release also resends modules during reconnect ensuring they are recorded, guards garbage collection metrics against re-entrant calls, fixes task propagation in async generators and starlette context propagation in StreamingResponse.
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
Remove support for Python lambda functions in the config file
- Previously, the agent allowed specifying a Python lambda function to dynamically name transactions, background task, database trace, profile trace, external trace url and method, function trace, generator trace, and memcache trace. Since support for this feature exposes a security vulnerability in the agent this feature is being removed.
Deprecations
- The
response.statusattribute inWebTransactions is considered deprecated and will be removed in the upcoming 14.0.0 release. It is being replaced byhttp.statusCode. We recommend replacing all references toresponse.statuswithhttp.statusCode.
New features
Exclude the
newrelicheader by default- The
newrelicdistributed tracing header is now no longer sent by default. Only the W3Ctraceparentandtracestateheaders will be sent.
- The
Add exclude and include settings for Hybrid Agent traces
opentelemetry.traces.includefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEto be used as an environment variableopentelemetry.traces.excludefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEto be used as an environment variable
The Hybrid Agent's default behavior will be different as well. Now, only libraries and tracers that are supported by OpenTelemetry but not already supported by New Relic will utilize OpenTelemetry's instrumentation. Otherwise, the agent will default to the New Relic instrumentation hooks.
More information about these settings can be found in the Python Agent configuration page as well as the OpenTelemetry API support page.
Add Anthropic streaming instrumentation
- Adds instrumentation support for anthropic.
Improve caching of IS_PYPY in gc_data.py for performance
Now checks and caches IS_PYPY once when the module is loaded.
Add Gemini response streaming
- Add response streaming support to Gemini through the google-genai package.
Add
http.statusCodeattribute to transaction events- To conform with the rest of the language agents, the Python agent now sends the http status to the
WebTransactionattributehttp.statusCode. The Python agent will continue to send the attribute toresponse.statusas well, but theresponse.statusattribute will be removed in the future.
- To conform with the rest of the language agents, the Python agent now sends the http status to the
Bugs
Resend modules during reconnect
- The agent previously only sent the module list periodically after the first connect cycle. If the agent reconnected to the collector, this data would not be resubmitted, so the UI would no longer show the module data. This has now been fixed.
Guard garbage collection metrics against re-entrant calls
- Adds a flag to prevent re-entrant calls to
_GCDataSource.record_gc()to prevent infinite recursion on Python 3.13+.
- Adds a flag to prevent re-entrant calls to
Enable task propagation in async generators
- Fixes an issue where
AsyncGeneratorProxywould not properly handle transaction context propagation if spread over multiple tasks.
- Fixes an issue where
Fix Starlette context propagation in
StreamingResponse- Adds trace context propagation to starlette
StreamingResponsefor both synchronous and asynchronous generators.
- Adds trace context propagation to starlette
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 agrega soporte para el tiempo hasta el primer token y corrige una firma incompatible de la función add_url_rule de Flask.
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ó el tiempo hasta el primer token para los flujos de respuesta de LLM:
Correcciones de errores
Se resolvió la incompatibilidad en la firma de la función
add_url_rulede Flask- Se actualizó la instrumentación de Flask para alinear la firma de su función
add_url_rulecon la implementación nativa de Flask. Esta corrección evita posibles caídas de la aplicación causadas por la discrepancia de firmas anterior.
- Se actualizó la instrumentación de Flask para alinear la firma de su función
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 elimina el soporte para Cross Application Tracing (CAT), Python 3.8 y los certificados SSL incluidos. También actualiza todos los paquetes vendored a sus últimas versiones y agrega soporte para CPython free-threaded, sistemas operativos Windows e instrumentación mejorada para Microsoft AG2 (Autogen). Además, esta versión incluye un nuevo extra opcional para instalar certificados SSL a través de certifi. Esta versión también corrige un error en la instrumentación de Strands Agents que causaba que se reportaran excepciones duplicadas.
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.
Característica eliminada
El rastreo entre aplicaciones (CAT) se ha eliminado en favor del rastreo distribuido (DT).
- Cross Application Tracing (CAT) quedó obsoleto en la versión del agente 7.0.0.166 y se eliminó en esta versión. Si aún utiliza Cross Application Tracing (CAT), le recomendamos migrar a Distributed Tracing (DT) lo antes posible para evitar interrupciones.
Los certificados SSL incluidos han sido eliminados.
- Si requiere certificados para su entorno, puede instalarlos mediante el administrador de paquetes de su sistema operativo o instalar el agente con el extra opcional
newrelic[certificates].
- Si requiere certificados para su entorno, puede instalarlos mediante el administrador de paquetes de su sistema operativo o instalar el agente con el extra opcional
Se ha eliminado el soporte para Python 3.8.
- Python 3.8 llegó al final de su vida útil el 2024-10-07 y ya no es compatible con el agente. Considere actualizar su aplicación a una versión compatible de Python para continuar recibiendo actualizaciones del Agente de Python.
Seguridad
Todos los paquetes internos se actualizaron a sus últimas versiones.
urllib3actualizado a la v2.6.3- Esto corrige todos los CVE abiertos en
urllib3a la fecha de este lanzamiento.
- Esto corrige todos los CVE abiertos en
opentelemetry_protoactualizado a v1.40.0wraptactualizado a v2.1.2asgirefactualizado a v3.11.1
Nueva característica
Nuevo extra
newrelic[certificates]para instalar certificados SSL mediante certifi.- El agente ahora proporciona un extra
newrelic[certificates]opcional que se puede utilizar para instalar los certificados SSL incluidos. Esto está destinado a usuarios que requieren certificados pero no pueden instalarlos a través del administrador de paquetes de su sistema operativo.
- El agente ahora proporciona un extra
Soporte para CPython de hilos libres
- A partir de Python 3.13, CPython lanza compilaciones de Python con el Bloqueo Global del Intérprete (GIL) deshabilitado, lo que permite un verdadero multihilo.
- Esta versión agrega soporte para este comportamiento, permitiendo que el agente se ejecute de forma segura en un entorno de subprocesos libres.
- Esta versión también incluye binarios precompilados para CPython de subprocesos libres en Linux y Windows, lo que permite una fácil instalación en estos entornos.
Soporte de Windows
- Esta versión incluye binarios precompilados para CPython 3.13 o superior en Windows.
- Tenga en cuenta que Python 3.12 o inferior no es compatible oficialmente en Windows debido a grandes variaciones en la resolución de los temporizadores. Todavía es posible instalar y usar el agente desde el código fuente, pero los usuarios pueden experimentar problemas con datos de temporización inexactos y deben actualizar a Python 3.13 o superior para obtener la mejor experiencia.
Instrumentación mejorada para Microsoft AG2 (Autogen)
- Se agregó soporte para la transmisión de respuestas mediante el método generador asincrónico
on_messages_stream(). - La instrumentación ahora incluye un atributo
subcomponenten los spans que representan llamadas de herramientas o agentes. Esto se utiliza para proporcionar un mapeo de entidades mejorado en la UI de New Relic.
- Se agregó soporte para la transmisión de respuestas mediante el método generador asincrónico
Errores
Excepciones duplicadas en Strands Agents
- Después de una actualización de Strands Agents que encapsula algunas excepciones en un nuevo tipo
EventLoopException, se podrían reportar errores duplicados. Esto se ha corregido y el error subyacente solo debe reportarse una vez.
- Después de una actualización de Strands Agents que encapsula algunas excepciones en un nuevo tipo
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 trazas/spans para el Agente híbrido, la integración de New Relic con OpenTelemetry. También agrega GUID de entidad a los archivos de verificación de estado de Agent Control, atributos subcomponent a la instrumentación de IA agéntica, soporte para nuevos métodos de cliente Redis, corrige un error donde puede haber instancias duplicadas de ImportHookFinder y un error en la instrumentación Cursor.callproc() de OracleDB.
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.
Característica
Agregar soporte de rastreo para el Agente Híbrido
Hybrid Agent está diseñado para cerrar la brecha para los equipos que buscan adoptar los estándares de OpenTelemetry, manteniendo la compatibilidad con versiones anteriores de sus dashboards de New Relic existentes. Hybrid Agent ofrece una experiencia de "lo mejor de ambos mundos" al combinar la visibilidad profunda de New Relic con la compatibilidad con la API de OpenTelemetry. Proporciona una solución de observabilidad con soporte integrado para las siguientes API de OpenTelemetry:
- Rastreo
- Instrumentación de biblioteca independiente y framework nativo
Mejoras clave como Span Links y Events on Spans ya están disponibles, asegurando una interoperabilidad sin fisuras en entornos de modo mixto.
Introduce un nuevo muestreador basado en la proporción de Trace ID
- Un nuevo muestreador basado en la proporción de Trace ID. Este algoritmo de muestreo se basa en el muestreador del mismo nombre de OpenTelemetry y se puede configurar para muestrear un porcentaje establecido de transacciones.
Agregar
subcomponentatributos a la instrumentación de IA agénticaAgregar el GUID de la entidad a los archivos de verificación de estado de Agent Control
- Cuando se inicia el agente dentro de un entorno de Agent Control, se crea un archivo de comprobación de estado en la ubicación de archivo configurada para cada proceso del agente. Este archivo ahora incluye el GUID de la entidad relacionada con el agente cuando esté disponible.
Agregar instrumentación para nuevos métodos de Redis
Agregue instrumentación para los siguientes nuevos métodos en los clientes de Redis:
- hotkeys_get
- Restablecer atajos
- inicio_atajos
- hotkeys_stop
- vrange
- xcfgset
Errores
Corregir instancias duplicadas de ImportHookFinder
- Anteriormente, era posible que se agregaran duplicados del buscador de ganchos de importación a
sys.meta_path.
- Anteriormente, era posible que se agregaran duplicados del buscador de ganchos de importación a
Corregir la firma incorrecta en OracleDB
Cursor.callproc()- Anteriormente, intentar usar argumentos de palabra clave con
Cursor.callproc()causaba fallos, ya que los nombres de los argumentos eran incorrectos en nuestra instrumentación. Esto se ha corregido, y el argumento adicionalkeyword_parametersahora también es compatible.
- Anteriormente, intentar usar argumentos de palabra clave con
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 agentes de LangGraph.
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.
Característica
Agregar soporte para agentes de LangGraph
- Agrega instrumentación para las invocaciones de agentes de LangGraph a través de
create_agent()en LangChain. Esto incluye llamadas del agente ainvoke(),ainvoke(),stream()yastream().
- Agrega instrumentación para las invocaciones de agentes de LangGraph a través 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.
Notes
This release of the Python agent adds new ways of passing errors to notice_error(), adds support for Strands-Agent synchronous tool error capturing, adds support for gpt-5 and newer OpenAI LLM models, and fixes a crash in Azure Functions' utilization logic.
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 exception instances as arguments to
notice_error()notice_error()can now accept a caught exception instance (such as one from a try/except block) for theerrorargument, rather than an exception tuple fromsys.exc_info().This is in addition to and does not replace the existing behavior. Previous usage of
notice_error()with zero arguments or with an exception tuple should still function correctly.
Add support for
gpt-5and newer OpenAI LLM models- Add updates to OpenAI instrumentation to support newer attribute names used with later OpenAI models
Add support for Strands-Agent synchronous tool error capturing
- Synchronous Python functions used as tools in Strands-Agents now have proper error capturing, and capture traces within tools such as database lookups.
Bug fixes
Guard against crashes in Azure Functions utilization
- Previously, some users experienced edge cases where Azure Functions utilization detection would crash when attempting to match regular expressions. The crash has been fixed, and should no longer be possible in the future.
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.