Notes
This release of the Python agent makes the following changes:
- Removes support for Python 3.7
- Removes and or deprecates various APIs and settings
- Deprecates aioredis instrumentation
- Raises the minimum supported version of
setuptools
andsetuptools_scm
- Adds new instrumentation for AutoGen
- Adds new instrumentation for Pyzeebe
- Adds new MCP (Model Context Protocol) named spans
- Fixes a crash in psycopg
- Ensures MCP spans are only recorded when AI monitoring is enabled
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Removed features
Removes support for Python 3.7
- Python 3.7 was EOL'd June 27, 2023. The Python agent has dropped support for it.
Removes various deprecated APIs
The following APIs have been removed:
Legacy API Replacement API accept_distributed_trace_payload
accept_distributed_trace_headers
add_custom_parameter
add_custom_attribute
add_custom_parameters
add_custom_attributes
create_distributed_trace_payload
insert_distributed_trace_headers
get_browser_timing_footer
The functionality of this has been wrapped into get_browser_timing_header()
record_exception
notice_error()
NewRelicLogHandler
NewRelicLogForwardingHandler
lambda_handler
&LambdaHandlerWrapper
These APIs have moved to the newrelic-lambda
package.
Removes various deprecated settings
The following settings have been removed:
Legacy Setting Replacement Setting transaction_tracer.capture_attributes
transaction_tracer.attributes.enabled
error_collector.capture_attributes
error_collector.attributes.enabled
browser_monitoring.capture_attributes
browser_monitoring.attributes.enabled
analytics_events.enabled
transaction_events.enabled
analytics_events.capture_attributes
transaction_events.attributes.enabled
error_collector.ignore_errors
error_collector.ignore_classes
strip_exception_messages.whitelist
strip_exception_messages.allowlist
ssl
This is now hardcoded to true
so it has been removed as a setting option.ignored_params
Use newrelic.attributes.exclude = request.parameters.{name}
instead. Add each request parameter key to thenewrelic.attributes.exclude
list, delimited by commas. Be sure to prepend the key withrequest.parameters
.agent_limits.merge_stats_maximum
This is now completely ignored in favor of serverside config.
Deprecated features
Instrumentation for aioredis has been deprecated
Deprecates some existing harvest settings to match other language agents
In order to be more consistent with the conventions of the other language agents, the following harvest settings are now deprecated:
Legacy Setting Replacement Setting event_harvest_config.harvest_limits.analytic_event_data
transaction_events.max_samples_stored
event_harvest_config.harvest_limits.span_event_data
span_events.max_samples_stored
event_harvest_config.harvest_limits.error_event_data
error_collector.max_event_samples_stored
event_harvest_config.harvest_limits.custom_event_data
custom_insights_events.max_samples_stored
event_harvest_config.harvest_limits.log_event_data
application_logging.forwarding.max_samples_stored
This is a revert of a previous change that renamed these settings from
*.max_samples_stored
to theevent_harvest_config.harvest_limits.*
form. This decision has been reversed, and the original settings named have been restored to match the other language agents who did not change these settings names. The deprecated settings will continue to work for now, but they will be removed in a future release.
Deprecates configuration of the agent through the WSGI environ dictionary
The following settings which were previously possible to configure through the WSGI environ dictionary are now deprecated. Please configure these settings through environment variables or the config file.
newrelic.set_background_task
newrelic.suppress_apdex_metric
newrelic.suppress_transaction_trace
newrelic.capture_request_params
newrelic.disable_browser_autorum
Deprecates support for building the agent with
setuptools<61.2
orsetuptools_scm<6.4
- The minimum supported versions of
setuptools
andsetuptools_scm
have been increased to61.2
and6.4
respectively. This is to support the use ofpyproject.toml
for configuring the package metadata and building instructions. The agent can now be built with more modern build tools which will no longer log warnings about the lack of apyproject.toml
file. - This change adds new version attributes to the packages,
newrelic.__version__
andnewrelic.__version_tuple__
, which can be used to programmatically check the version of the agent at runtime.
- The minimum supported versions of
New features
Adds new instrumentation for AutoGen
- Adds instrumentation (named spans and custom
Llm
events) for agents and tools in AutoGen
- Adds instrumentation (named spans and custom
Adds new instrumentation for Pyzeebe
- Adds automatic instrumentation and framework-specific agent attributes for Pyzeebe
Adds new MCP (Model Context Protocol) named spans
- Adds new named spans for MCP (Model Context Protocol) tool calls made via tool manager to support Streamable HTTP
Bug fixes
Fixes a crash in
psycopg>=3.2.0
when callingas_string()
- Fixes an issue in
psycopg>=3.2.0
where theas_string()
method no longer required arguments, causing a potential crash. This has been fixed, and both signatures of this method are supported.
- Fixes an issue in
Ensures MCP (Model Context Protocol) spans are only recorded when AI monitoring is enabled
- Ensures MCP (Model Context Protocol) spans are only recorded when the setting
ai_monitoring.enabled
is enabled.
- Ensures MCP (Model Context Protocol) spans are only recorded when the setting
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 Python agrega soporte para lo siguiente:
- Tareas personalizadas en Celery
- Monitoreo de Graphene-Django
- Filtrado de middleware en Django
- API de AWS Bedrock Converse
- Bandera muestreada del encabezado W3CTraceParent
Esta versión también proporciona las siguientes correcciones:
- Salvaguardias para la ruta única más profunda en GraphQL
- Medidas de seguridad para el análisis de solicitudes de URL sitio web
- Respaldo para ElasticSearch y GraphQL cuando
trace.settings==None
- Eliminar el método
options
de la lista de clientes de ElasticSearch asíncronos
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para tareas personalizadas en Celery
Agrega soporte para Graphene-Django
- Agregue soporte de monitoreo para esquemas sincrónicos creados con Graphene-Django. Anteriormente, los esquemas creados con Graphene-Django solo se monitoreaban parcialmente, lo que generaba que faltaran atributos relacionados con GraphQL.
Agrega soporte para filtrado de middleware en Django
Los usuarios ahora pueden filtrar qué middleware Django monitorear. Ahora hay tres configuraciones adicionales:
instrumentation.middleware.django.enabled
(El valor predeterminado estrue
)instrumentation.middleware.django.exclude
instrumentation.middleware.django.include
Consulte la página de filtrado de middleware de Django para obtener más información y ejemplos.
Agrega soporte para la API de AWS Bedrock Converse
- Agregue soporte de monitoreo para la API de Converse que no es de transmisión. Esto incluye soporte para
converse
llamadas de finalización de chat realizadas empleando clientesboto3
yaioboto3
.
- Agregue soporte de monitoreo para la API de Converse que no es de transmisión. Esto incluye soporte para
Agrega compatibilidad con el indicador muestreado del encabezado W3CTraceParent
- Cuando un servicio ascendente envía el encabezado W3CTraceParent con el indicador de ejemplificación establecido, New Relic tendrá en cuenta esa decisión de ejemplificación al decidir si se muestreará la transacción actual.
Se agregó soporte para tomar decisiones de ejemplificación en función de si el padre remoto está muestreado
Se agregó soporte para dos nuevas opciones de configuración:
distributed_tracing.sampler.remote_parent_sampled
distributed_tracing.sampler.remote_parent_not_sampled
default
es el comportamiento predeterminado y se comporta como lo hacía antes de este cambio (pasa la decisión de ejemplificación al algoritmo de ejemplificación adaptativa para determinar si se muestreará la transacción).always_on
significa que la traza que tiene un padre remoto muestreado o un padre remoto no muestreado siempre será muestreada.always_off
significa que la traza que tiene un padre remoto muestreado o un padre remoto no muestreado nunca será muestreado.
Corrección de errores
Agregar protección para la ruta única más profunda en GraphQL
- Algunos usuarios estaban experimentando problemas con la ruta única más profunda en GraphQL que no se generaba debido a que un nombre de campo devolvía
None
. Este problema fue solucionado.
- Algunos usuarios estaban experimentando problemas con la ruta única más profunda en GraphQL que no se generaba debido a que un nombre de campo devolvía
Agregar protección para el análisis de solicitudes sitio web
- Algunos usuarios experimentaron un error de análisis cuando
request_uri
estaba mal formado o contenía caracteres no válidos. Esto puede suceder en este punto si elrequest_uri
en el encabezado de la solicitud no es válido y no coincide con la URL (válida) proporcionada originalmente. Si bien esta protección ya se implementó en New Relic,urllib
resolvió este problema para las versiones de Python lanzadas luego del 31 de enero de 2025.
- Algunos usuarios experimentaron un error de análisis cuando
Se solucionó el fallo en ElasticSearch y GraphQL cuando
trace.settings==None
- En los casos donde
trace.settings
esNone
, la instrumentación de ElasticSearch hizo que la aplicación fallara. Se implementó un respaldoglobal_settings
. Esto también resuelve el mismo problema encontrado en GraphQL.
- En los casos donde
Eliminar el método
options
de la lista de clientes de ElasticSearch asíncronos- La instrumentación anterior de ElasticSearch provocó un bloqueo porque
options
estaba en la lista de métodos asincrónicos. Este método ya no está envuelto en unDatastoreTrace
ya que no es uno que realice ninguna operación/requests de almacenamiento de datos.
- La instrumentación anterior de ElasticSearch provocó un bloqueo porque
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 Python agrega soporte para nuevas funciones de Redis , convierte todas las rutas internas de os.path
a pathlib.Path
y corrige un problema con la codificación JSON de PosixPaths.
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para nuevas funciones de Redis
- Agregar instrumentación para nuevas funciones de Redis .
Convierte todas las rutas internas de
os.path
apathlib.Path
- Convierta todo el uso interno de rutas basadas en cadenas y
os.path
apathlib.Path
en preparación para admitir rutas de Windows.
- Convierta todo el uso interno de rutas basadas en cadenas y
Corrección de errores
Solucionar el problema con la codificación JSON de PosixPath
- Algunos usuarios estaban experimentando problemas con la configuración de codificación JSON
PosixPath
. Este problema fue solucionado.
- Algunos usuarios estaban experimentando problemas con la configuración de codificación JSON
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 Python agrega soporte para oracledb, corrige un error en Kombu y Kafka donde el objeto MessageTransaction
no tiene el atributo destination_name
y corrige la desaparición de los metadatos de utilización con AWS.
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para oracledb
- Agregar instrumentación para oracledb.
Corrección de errores
Se solucionó el error "El objeto
MessageTransaction
no tiene el atributodestination_name
".- Se corrige un error en la instrumentación de MessageBroker donde los métodos serialize buscaban el atributo
destination_name
enMessageTransaction
y no existía.
- Se corrige un error en la instrumentación de MessageBroker donde los métodos serialize buscaban el atributo
Solucionar el problema de metadatos de utilización de AWS al ejecutar AWS y K8s juntos
- Debido a la configuración de licencias en el pod K8s que se ejecuta en instancias EC2 AWS, los metadatos de utilización se pueden recuperar la primera vez. Sin embargo, si la aplicación se deja ejecutar continuamente, el agente se volverá a conectar y los metadatos de utilización no podrán cargar. En casos como estos, los metadatos de utilización se almacenan en caché por instancia de agente y se pueden recuperar.
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 Functions Apps y protobuf v6.
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega compatibilidad con aplicaciones de Azure Function
- Agrega compatibilidad con aplicaciones de Azure Function para tipos HTTPTrigger.
Corrección de errores
Agrega archivos pb2 para habilitar la compatibilidad con protobuf v6
- Anteriormente, varios paquetes de Google no eran compatibles con New Relic debido a la falta de soporte de protobuf v6. Esto ya fue resuelto.
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 the Model Context Protocol (MCP) and fixes import logic for importlib.metadata
and pkg_resources
.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
New features
Add support for Model Context Protocol (MCP)
Bug fixes
Fix import logic for
importlib.metadata
andpkg_resources
- Updates logic around import of
importlib.metadata
to also attempt to use theimportlib_metadata
backport before falling back topkg_resources.*
. This also removes use ofsys.version
conditionals and fixes issues where Python 3.9 could only usepkg_resources
despite havingimportlib.metadata
available.
- Updates logic around import of
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.