<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Python agent release notes]]></title><description><![CDATA[Python agent release notes]]></description><link>https://docs.newrelic.com</link><generator>RSS for Node</generator><lastBuildDate>Mon, 16 Mar 2026 15:43:24 GMT</lastBuildDate><atom:link href="https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/feed.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Python agent v10.0.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjAuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100000</link><pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent drops support for Python 2.7 and adds the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a Kafka server metric&lt;/li&gt;
&lt;li&gt;host and port attributes for memcache&lt;/li&gt;
&lt;li&gt;support for &lt;a href=&quot;https://pypi.org/project/kafka-python-ng/&quot;&gt;kafka-python-ng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;support for &lt;a href=&quot;https://pypi.org/project/uvicorn-worker/&quot;&gt;uvicorn_worker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;an environment variable for garbage collector (GC) runtime metrics&lt;/li&gt;
&lt;li&gt;automatic detection for the function signature in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt;&apos;s &lt;code&gt;similarity_search&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;updated support for &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt;&apos;s chat class&lt;/li&gt;
&lt;li&gt;a fix for a bug in gRPC&apos;s entity name detection&lt;/li&gt;
&lt;li&gt;a fix for transaction context propagation loss in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; in the case of a new thread&lt;/li&gt;
&lt;li&gt;parsing of the request and response when running &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; via &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a fix for &lt;a href=&quot;https://pypi.org/project/psycopg/&quot;&gt;pyscopg&lt;/a&gt; v3 API incompatibilities&lt;/li&gt;
&lt;li&gt;a fix that removes versioned logic in &lt;a href=&quot;https://pypi.org/project/loguru/&quot;&gt;loguru&lt;/a&gt; instrumentation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Remove Python 2.7 Support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removes compatibility with Python 2.7. Also removes support for the following libraries that were only supported on Python 2.7:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/umemcache/&quot;&gt;umemcache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/oursql/&quot;&gt;oursql&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pywapi/&quot;&gt;pywapi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Pylons/&quot;&gt;Pylons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/web2py/&quot;&gt;web2py&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/WebError/&quot;&gt;weberror&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add Kafka server metric&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds a metric to capture the host and port information for Kafka entities on both consumers and producers. This metric allows the UI to link AWS information with AWS MSK entities in the service map.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add capturing of memcache &lt;code&gt;host&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds capturing of &lt;code&gt;host&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt; info on the following memcache libraries: &lt;a href=&quot;https://pypi.org/project/python-binary-memcached/&quot;&gt;bmemcached&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/aiomcache/&quot;&gt;aiomcache&lt;/a&gt;, and &lt;a href=&quot;https://pypi.org/project/pymemcache/&quot;&gt;pymemcache&lt;/a&gt;. This allows the UI to link AWS information with AWS memcache entities in the service map.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/kafka-python-ng/&quot;&gt;kafka-python-ng&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/kafka-python/&quot;&gt;kafka-python&lt;/a&gt; has been released under a new name: &lt;a href=&quot;https://pypi.org/project/kafka-python-ng/&quot;&gt;kafka-python-ng&lt;/a&gt;. This continues to support kafka-python under the new package name.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/uvicorn-worker/&quot;&gt;uvicorn_worker&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;uvicorn.workers&lt;/code&gt; has been moved to a separate package called &lt;code&gt;uvicorn_worker&lt;/code&gt;. This checks for both names of the module when reporting dispatcher information.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatically detect function signature in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; &lt;code&gt;similarity_search&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatically detect the function signature when wrapping &lt;code&gt;similarity_search&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add environment variable for garbage collector runtime metrics&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Garbage collector runtime metrics can now be enabled/disabled via the following environment variable: &lt;code&gt;NEW_RELIC_GC_RUNTIME_METRICS_ENABLED&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix bug in gRPC entity name detection&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the gRPC channel entity name was missing the first character(s) in specific cases. This bug has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix issue in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; where a thread is started and the transaction context is lost&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, when LangChain called certain chains, such as retrieval chains, LangChain started a thread that caused the transaction to be lost, resulting in broken instrumentation. This has been fixed so the transaction context is passed across threads and instrumentation still works for retrieval chains.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix parsing of request and response when running &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; via &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, when running &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; via &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; the request and response were a different format and were not being recorded. This issue has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Instrument new path to &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; chat completions class&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; moved the &lt;code&gt;ChatCompletions&lt;/code&gt; class to a different path which prevented the instrumentation from being applied. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix &lt;a href=&quot;https://pypi.org/project/psycopg/&quot;&gt;pyscopg&lt;/a&gt; v3 API incompatibilities&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Expand DBAPI2 wrappers to allow arbitrary &lt;code&gt;kwargs&lt;/code&gt; on &lt;code&gt;executemany()&lt;/code&gt;. Upgrade &lt;a href=&quot;https://pypi.org/project/psycopg/&quot;&gt;psycopg&lt;/a&gt; v3 instrumentation to allow arbitrary &lt;code&gt;kwargs&lt;/code&gt; on &lt;code&gt;executemany()&lt;/code&gt;. Rename existing psycopg v3 wrapper arguments to match the upstream library&apos;s names for compatibility.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove versioned logic in loguru instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed versioned logic in &lt;a href=&quot;https://pypi.org/project/loguru/&quot;&gt;loguru&lt;/a&gt; instrumentation to fix a bug that occurred when the version was undeterminable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 26 Sep 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.1.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjEuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100100</link><pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Python 3.13, adds a new Large Language Model (LLM) API, supports Docker ID parsing in Amazon ECS Fargate environments, and instruments a new Langchain vectorstore.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Python 3.13&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now supports applications running in Python 3.13.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add new LLM custom attribute context manager API&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now includes a new context manager API that adds custom attributes to LLM events generated from calls to LLMs in application code. For more information on usage, please see our &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/withllmcustomattributes-python-agent-api&quot;&gt;API documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for reporting of &lt;a href=&quot;https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html&quot;&gt;Amazon ECS Fargate&lt;/a&gt; Docker IDs&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now reports Docker IDs for containers running in ECS Fargate environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add instrumentation for &lt;code&gt;SQLiteVec&lt;/code&gt; vectorstore in Langchain&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now instruments &lt;code&gt;similarity_search&lt;/code&gt; for the &lt;code&gt;SQLiteVec&lt;/code&gt; vectorstore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 10 Oct 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.3.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjMuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100300</link><pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Valkey, configuration via TOML file, protobuf v5 for infinite tracing, attaching custom attributes and labels to log events, and some minor cleanup of HTTPX instrumentation. HTTP/2 support was validated for &lt;a href=&quot;https://pypi.org/project/daphne/&quot;&gt;Daphne&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/Hypercorn/&quot;&gt;Hypercorn&lt;/a&gt;, and &lt;a href=&quot;https://pypi.org/project/httpx/&quot;&gt;HTTPX&lt;/a&gt;. Module information is now collected periodically which fixes a bug where the CPU usage would spike on application startup.&lt;/p&gt;
&lt;p&gt;The Python agent now allows you to opt-in to adding your custom tags (labels) to agent-forwarded logs. With custom tags on logs, platform engineers can easily filter, search, and correlate log data for faster and more efficient troubleshooting, improved performance, and optimized resource utilization. To learn more about this feature see the &lt;a href=&quot;https://docs.newrelic.com/docs/logs/logs-context/Custom-tags-agent-forwarder-logs&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Valkey&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for &lt;a href=&quot;https://pypi.org/project/valkey/&quot;&gt;Valkey&lt;/a&gt;. Thanks &lt;a href=&quot;https://github.com/jairhenrique&quot;&gt;@jairhenrique&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add TOML configuration file support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support to read TOML configuration is now available. Thanks &lt;a href=&quot;https://github.com/Tatsh&quot;&gt;@Tatsh&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add infinite tracing pb2 file for protobuf v5&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This adds an additional pb2 file used for infinite tracing that is compatible with &lt;a href=&quot;https://pypi.org/project/protobuf/&quot;&gt;protobuf&lt;/a&gt; v5.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for attaching custom attributes to logs&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new configuration option has been added called &lt;code&gt;application_logging.forwarding.custom_attributes&lt;/code&gt; that will add custom attributes to all log events when set.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for attaching labels to log events&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Labels as attributes can now be added to log events. When &lt;code&gt;application_logging.forwarding.labels.enabled&lt;/code&gt; is set the values in &lt;code&gt;labels&lt;/code&gt; will be added to all log events. Labels can be excluded by setting &lt;code&gt;application_logging.forwarding.labels.exclude&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Minor cleanup of HTTPX instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some minor cleanup was done in the HTTPX instrumentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validate HTTP/2 support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added tests to ensure HTTP/2 support for the following frameworks:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/daphne/&quot;&gt;Daphne&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Hypercorn/&quot;&gt;Hypercorn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/httpx/&quot;&gt;HTTPX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Collect module information from application periodically instead of at startup&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the New Relic Python agent collected the application&apos;s module information all at once during startup. In some extreme cases this would cause a large spike in CPU usage. This enhancement allows the agent to do this incrementally throughout the application&apos;s operation, preventing potential memory spikes during agent startup.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 18 Nov 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.3.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjMuMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100301</link><pubDate>Mon, 25 Nov 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a bug in the package version collector that disabled telemetry from being sent to New Relic in certain cases.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix agent crash when uploading package version info&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, if package versioning was a class property then the function itself was sent with the payload. This would then display the &lt;code&gt;__repr__()&lt;/code&gt; of the versioning class in the environment stats. In v10.3.0, this task was tweaked and moved to the harvest cycle that caused a failure during the payload conversion to JSON and disabled the telemetry transmission. This release introduces logic to exclude invalid data types from the module payload.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 25 Nov 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.2.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjIuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100200</link><pubDate>Tue, 15 Oct 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds a flag for the Azure init container operator.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add Azure Init Container Operator Flag&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New Relic can be integrated into applications hosted on Microsoft Azure, either &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/hosting-services/python-azure-containerapps-appservice&quot;&gt;directly&lt;/a&gt;, through an &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/hosting-services/python-azure-touchless-integration#integrate-agent-container-app&quot;&gt;init container&lt;/a&gt; for &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/container-apps/overview&quot;&gt;Azure Container Apps&lt;/a&gt;, or a &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/hosting-services/python-azure-touchless-integration#integrate-agent-app-service&quot;&gt;pre-build startup script&lt;/a&gt; for &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/app-service/overview&quot;&gt;Microsoft Azure App Service&lt;/a&gt;. You can flag that this is the installation method used by setting the &lt;code&gt;NEW_RELIC_AZURE_OPERATOR_ENABLED&lt;/code&gt; environment variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 15 Oct 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.4.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjQuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100400</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for async &lt;a href=&quot;https://pypi.org/project/pymongo/&quot;&gt;PyMongo&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/motor/&quot;&gt;Motor&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt;, a new AWS account ID configuration setting, linking AWS entities for DynamoDB and Lambda, and fixes a path typing issue in &lt;code&gt;newrelic.initialize()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for async PyMongo&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation support was added for asynchronous &lt;a href=&quot;https://pypi.org/project/pymongo/&quot;&gt;PyMongo&lt;/a&gt;. Note that this API is currently in beta and may be subject to future breaking changes, which may affect instrumentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for Motor&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation support was added for &lt;a href=&quot;https://pypi.org/project/motor/&quot;&gt;motor&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for aiomysql&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add new AWS account ID configuration setting&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some AWS instrumentations are not able to automatically determine the AWS account ID which is used to link the AWS entity in the service map. When &lt;code&gt;cloud.aws.account_id&lt;/code&gt; is set, it will be used in certain AWS instrumentations such as DynamoDB to link the DynamoDB AWS entity in the service map.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Link AWS entity for DynamoDB&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add linking to the AWS entity in the service map for DynamoDB. This linking is done by utilizing the &lt;code&gt;cloud.aws.account_id&lt;/code&gt; configuration setting.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Link AWS entity for Lambda&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add linking to the AWS entity in the service map for Lambda. This linking is done by attaching the ARN to the lambda call&apos;s span.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix path typing issue in &lt;code&gt;newrelic.initialize()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixes a bug in &lt;code&gt;newrelic.initialize()&lt;/code&gt; where pathlike objects were not accepted. This has been corrected to support strings, bytes, or &lt;a href=&quot;https://docs.python.org/3/library/os.html#os.PathLike&quot;&gt;PathLike&lt;/a&gt; objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 12 Dec 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.5.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjUuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100500</link><pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds Agent Control health reporting, instrumentation for &lt;a href=&quot;https://pypi.org/project/cassandra-driver/&quot;&gt;cassandra-driver&lt;/a&gt;, support for new a &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;langchain&lt;/a&gt; vectorstore, improves &lt;code&gt;NewRelicContextFormatter&lt;/code&gt; stack traces logging, fixes compatibility issues with the &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt; &lt;code&gt;ProcessorFormatter&lt;/code&gt;, and checks for &lt;code&gt;ExceptionMiddleware&lt;/code&gt; removal in &lt;code&gt;starlette.exceptions&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add Agent Control health reporting&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds agent health reporting capability to support the upcoming release of New Relic Fleet Control.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for cassandra-driver&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation support was added for &lt;a href=&quot;https://pypi.org/project/cassandra-driver/&quot;&gt;cassandra-driver&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for new langchain vectorstore&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds instrumentation for &lt;code&gt;TablestoreVectorStore&lt;/code&gt; in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;langchain&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enhance stack traces logged by &lt;code&gt;NewRelicContextFormatter&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;NewRelicContextFormatter&lt;/code&gt; now reports exception causes when logging stack traces. Thanks &lt;a href=&quot;https://github.com/sweco&quot;&gt;@sweco&lt;/a&gt; for your contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix compatibility issues with structlog&apos;s &lt;code&gt;ProcessorFormatter&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix was added for the case where the &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt; &lt;code&gt;ProcessorFormatter&lt;/code&gt; is used as a &lt;code&gt;logging.Formatter&lt;/code&gt; for both logging and structlog log entries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Check for &lt;code&gt;ExceptionMiddleware&lt;/code&gt; removal in &lt;code&gt;starlette.exceptions&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After &lt;a href=&quot;https://pypi.org/project/starlette/&quot;&gt;starlette&lt;/a&gt; v0.45.0 the import proxy for ExceptionMiddleware was removed from starlette.exceptions (and now only resides in starlette.middleware.exceptions).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 29 Jan 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.9.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjkuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100900</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds &lt;a href=&quot;https://github.com/open-telemetry/semantic-conventions/blob/v1.24.0/docs/database/database-spans.md&quot;&gt;OpenTelemetry&lt;/a&gt; compatible datastore span attribute names, fixes a bug in &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; instrumentation, and temporarily disables &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt; instrumentation.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add OpenTelemetry compatible datastore span attributes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The datastore span attributes are now more consistent with &lt;a href=&quot;https://github.com/open-telemetry/semantic-conventions/blob/v1.24.0/docs/database/database-spans.md&quot;&gt;OpenTelemetry&lt;/a&gt; naming conventions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix LangChain instrumentation for string response types&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, when &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; returned string-type responses, the agent only captured the first character of the string. This has been corrected.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Disable Kombu instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Existing &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt; instrumentation in the agent is crashing with a &lt;code&gt;TypeError&lt;/code&gt; being raised from the &lt;code&gt;inspect&lt;/code&gt; module. This instrumentation has been temporarily disabled and will be re-enabled in a future release once the root cause of the crash is identified and patched.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Fri, 11 Apr 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.7.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjcuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100700</link><pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for asynchronous AWS Bedrock LLM calls in &lt;a href=&quot;https://pypi.org/project/aioboto3/&quot;&gt;aioboto3&lt;/a&gt;, a fix for a segfault with &lt;a href=&quot;https://pypi.org/project/greenlet/&quot;&gt;greenlet&lt;/a&gt;s, a fixed a crash in &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt; instrumentation, and reformatted the codebase with &lt;a href=&quot;https://docs.astral.sh/ruff/&quot;&gt;Ruff&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for asynchronous AWS Bedrock LLM calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds instrumentation to support calls to &lt;code&gt;invoke_model&lt;/code&gt; and &lt;code&gt;invoke_model_with_response_stream&lt;/code&gt; made on &lt;a href=&quot;https://pypi.org/project/aioboto3/&quot;&gt;aioboto3&lt;/a&gt; clients&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix crash in &lt;code&gt;aiomysql&lt;/code&gt; instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, using &lt;code&gt;aiomysql.sa&lt;/code&gt; (the included &lt;code&gt;sqlalchemy&lt;/code&gt; engine) with the agent would result in a crash due to a missing &lt;code&gt;__await__&lt;/code&gt; method in the instrumentation. This has been corrected.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix segfaults with greenlets&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, a segfault occured when the maximum number of worker processes were called.  This was due to a combination of using a weak reference for the agent&apos;s trace ID caching and greenlet&apos;s &lt;code&gt;greenlet.getcurrent()&lt;/code&gt; retrieval function being called after the last greenlet has already been garbage collected.  This fix allows the worker process to restart without the segfault occurring.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Reformatted entire codebase with Ruff&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Switched to &lt;a href=&quot;https://docs.astral.sh/ruff/&quot;&gt;Ruff&lt;/a&gt; linter and reformatted the entire codebase.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 06 Mar 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.6.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjYuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100600</link><pubDate>Thu, 06 Feb 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds entity linking for AWS Kinesis and AWS Firehose in &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;&lt;code&gt;boto3&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/botocore/&quot;&gt;&lt;code&gt;botocore&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add entity linking attributes for AWS Kinesis and AWS Firehose when using &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;&lt;code&gt;boto3&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/botocore/&quot;&gt;&lt;code&gt;botocore&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds attributes linking distributed traces with AWS Kinesis and AWS Firehose entities in the New Relic UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 06 Feb 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.8.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjguMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100801</link><pubDate>Mon, 31 Mar 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a bug with the latest &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt; instrumentation.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix import error in Kombu instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A missing import in &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt;&apos;s instrumentation resulted in a crash for those using the instrumentation.  This has now been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 31 Mar 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.8.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjguMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-100800</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Kombu, mysqlclient, PyMySQL, and adds a few safeguards to prevent exceptions.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Kombu&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for producer and consumer message tracing in &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In the case where Celery and Kombu are used together, a transaction is produced for both Celery and Kombu message consumption and Kombu consumer tracing is turned off by default. It can be enabled via the &lt;code&gt;instrumentation.kombu.consumer.enabled&lt;/code&gt; setting. A new setting &lt;code&gt;instrumentation.kombu.ignored_exchanges&lt;/code&gt; to ignore certain exchanges was also added and by default it ignores the celeryev queue which is a monitoring queue.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for mysqlclient (a MySQLdb fork for Python 3)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation for the Python 2 library &lt;a href=&quot;https://pypi.org/project/MySQL-python/&quot;&gt;MySQLdb&lt;/a&gt; has been adapted to support the Python 3 fork &lt;a href=&quot;https://pypi.org/project/mysqlclient/&quot;&gt;mysqlclient&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update instrumentation for PyMySQL for versions 1.0.3 and above&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation for &lt;a href=&quot;https://pypi.org/project/PyMySQL/&quot;&gt;PyMySQL&lt;/a&gt; has been updated for newer versions of the library, and versions below 1.0.3 are no longer supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Safeguard startup of agent healthchecks against exceptions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the agent healthchecks could raise exceptions during startup, potentially resulting in agent crashes. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix warning message around garbage collection runtime metrics sampler&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, a warning message was sometimes emitted which was related to the garbage collection runtime metrics sampler. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 27 Mar 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.10.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjEwLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101000</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for async &lt;a href=&quot;https://pypi.org/project/elasticsearch/&quot;&gt;elasticsearch&lt;/a&gt;, fixes a graphql configuration parsing issue, fixes a bug in the &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt; instrumentation and re-enables the Kombu instrumentation.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add async support for elasticsearch&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds support for async &lt;a href=&quot;https://pypi.org/project/elasticsearch/&quot;&gt;elasticsearch&lt;/a&gt;. Thanks &lt;a href=&quot;https://github.com/fagnerzulin&quot;&gt;fagnerzulin&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add parsing of graphql config setting&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, when the setting &lt;code&gt;instrumentation.graphql.capture_introspection_queries&lt;/code&gt; was set in the config file, this setting did not take effect. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix crash in Kombu when running with Sentry&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixes a crash in &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;Kombu&lt;/a&gt; instrumentation where a &lt;code&gt;TypeError&lt;/code&gt; was raised from the &lt;code&gt;inspect&lt;/code&gt; module. This bug was due to a conflict in wrapping between New Relic and Sentry. The Kombu instrumentation has also been re-enabled.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 24 Apr 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.11.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjExLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101100</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Google Gemini via the Google Generative AI SDK and instruments new Kinesis methods.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Google Gemini via Google Generative AI SDK&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds support for &lt;a href=&quot;https://pypi.org/project/google-genai/&quot;&gt;google-genai&lt;/a&gt;. The agent will automatically instrument &lt;code&gt;embed_content&lt;/code&gt; calls for synchronous and asynchronous &lt;a href=&quot;https://ai.google.dev/gemini-api/docs/embeddings&quot;&gt;embeddings&lt;/a&gt;. The agent also now supports synchronous and asynchronous &lt;a href=&quot;https://ai.google.dev/gemini-api/docs/text-generation&quot;&gt;text generations&lt;/a&gt; for text inputs in non-streaming cases. This includes calls made to &lt;code&gt;generate_content&lt;/code&gt; for single text-only inputs and calls to &lt;code&gt;send_message&lt;/code&gt; for multi-turn conversations.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Instrument new AWS Kinesis methods&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds &lt;a href=&quot;https://pypi.org/project/botocore/&quot;&gt;botocore&lt;/a&gt; instrumentation to support new &lt;a href=&quot;https://aws.amazon.com/kinesis/&quot;&gt;AWS Kinesis&lt;/a&gt; methods including &lt;code&gt;tag_resource&lt;/code&gt;, &lt;code&gt;untag_resource&lt;/code&gt;, and &lt;code&gt;list_tags_for_resource&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 01 May 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.12.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjEyLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101200</link><pubDate>Mon, 12 May 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; v6.0.0 and fixes conflicts with the &lt;a href=&quot;https://pypi.org/project/opentelemetry-proto/&quot;&gt;opentelemetry-proto&lt;/a&gt; package.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Redis v6.0.0&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds support for all client methods introduced in &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; v6.0.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix conflicts with opentelemetry-proto package&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixes an issue where the agent&apos;s internal copy of &lt;a href=&quot;https://pypi.org/project/opentelemetry-proto/&quot;&gt;opentelemetry-proto&lt;/a&gt; would conflict with any other packages relying on opentelemetry-proto (such as ChromaDB). This should now be treated as a separate package by OpenTelemetry and prevent any conflicts.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 12 May 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.13.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjEzLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101300</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for the Model Context Protocol (MCP) and fixes import logic for &lt;code&gt;importlib.metadata&lt;/code&gt; and &lt;code&gt;pkg_resources&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Model Context Protocol (MCP)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds support for MCP calls in &lt;a href=&quot;https://pypi.org/project/mcp/&quot;&gt;mcp&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/fastmcp/&quot;&gt;fastmcp&lt;/a&gt;. The agent will now automatically instrument the following core MCP primitives:
&lt;ul&gt;
&lt;li&gt;Tools (via &lt;code&gt;call_tool&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Resources (via &lt;code&gt;read_resource&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Prompts (via &lt;code&gt;get_prompt&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix import logic for &lt;code&gt;importlib.metadata&lt;/code&gt; and &lt;code&gt;pkg_resources&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Updates logic around import of &lt;code&gt;importlib.metadata&lt;/code&gt; to also attempt to use the &lt;code&gt;importlib_metadata&lt;/code&gt; backport before falling back to &lt;code&gt;pkg_resources.*&lt;/code&gt;. This also removes use of &lt;code&gt;sys.version&lt;/code&gt; conditionals and fixes issues where Python 3.9 could only use &lt;code&gt;pkg_resources&lt;/code&gt; despite having &lt;code&gt;importlib.metadata&lt;/code&gt; available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 09 Jun 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.14.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjE0LjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101400</link><pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/azure-functions&quot;&gt;Azure Function Apps&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/protobuf&quot;&gt;protobuf&lt;/a&gt; v6.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds support for Azure Function Apps&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds support for &lt;a href=&quot;https://pypi.org/project/azure-functions&quot;&gt;Azure Function Apps&lt;/a&gt; for HTTPTrigger types.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds pb2 files to enable protobuf v6 support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, several google packages were not compatible with New Relic due to the lack of &lt;a href=&quot;https://pypi.org/project/protobuf&quot;&gt;protobuf&lt;/a&gt; v6 support.  This has now been resolved.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 18 Jun 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.15.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjE1LjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101500</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/oracledb/&quot;&gt;oracledb&lt;/a&gt;, fixes a bug in Kombu and Kafka where &lt;code&gt;MessageTransaction&lt;/code&gt; object has no attribute &lt;code&gt;destination_name&lt;/code&gt;, and fixes the disappearance of utilization metadata with AWS.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds support for oracledb&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for &lt;a href=&quot;https://pypi.org/project/oracledb/&quot;&gt;oracledb&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix &quot;&lt;code&gt;MessageTransaction&lt;/code&gt; object has no attribute &lt;code&gt;destination_name&lt;/code&gt;&quot; bug&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix a bug in MessageBroker instrumentations where the serialize methods were looking for the &lt;code&gt;destination_name&lt;/code&gt; attribute on the &lt;code&gt;MessageTransaction&lt;/code&gt; and it did not exist.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix AWS utilization metadata issue when running AWS and K8s together&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Due to permissions settings in K8s pods running on AWS EC2 instances, the utilization metadata is able to be retrieved the first time. However, if the application is left running continuously, the agent will reconnect and the utilization metadata fails to load. In cases like these, the utilization metadata is cached per agent instance and is able to be retrieved.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 24 Jul 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.16.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjE2LjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101600</link><pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for new &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; functions, convert all internal paths from &lt;code&gt;os.path&lt;/code&gt; to &lt;code&gt;pathlib.Path&lt;/code&gt;, and fixes an issue with JSON encoding PosixPaths.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds support for new Redis functions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for new &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; functions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Convert all internal paths from &lt;code&gt;os.path&lt;/code&gt; to &lt;code&gt;pathlib.Path&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Convert all internal usage of string based paths and &lt;code&gt;os.path&lt;/code&gt; to &lt;code&gt;pathlib.Path&lt;/code&gt; in preparation to support Windows paths.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix issue with JSON encoding PosixPath&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some users were experiencing issues with JSON encoding &lt;code&gt;PosixPath&lt;/code&gt; configuration settings. This issue has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 14 Aug 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.0.2.130]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMC4yLjEzMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-102130</link><pubDate>Mon, 14 Nov 2011 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;The first general release of the Python agent. If you are using an older BETA version of the Python agent you should upgrade as soon as possible as many outstanding issues were fixed leading up to this release. No change history for older versions will be made available.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 14 Nov 2011 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v10.17.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEwLjE3LjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-101700</link><pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Custom tasks in &lt;a href=&quot;https://pypi.org/project/celery/&quot;&gt;Celery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/graphene-django/&quot;&gt;Graphene-Django&lt;/a&gt; monitoring&lt;/li&gt;
&lt;li&gt;Middleware filtering in &lt;a href=&quot;https://pypi.org/project/django/&quot;&gt;Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AWS Bedrock &lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-runtime/client/converse.html&quot;&gt;Converse&lt;/a&gt; API&lt;/li&gt;
&lt;li&gt;W3CTraceParent header sampled flag&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also provides the following fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Safeguards for the deepest unique path in GraphQL&lt;/li&gt;
&lt;li&gt;Safeguards for web URL request parsing&lt;/li&gt;
&lt;li&gt;Fallback for ElasticSearch and GraphQL when &lt;code&gt;trace.settings==None&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Remove &lt;code&gt;options&lt;/code&gt; method from async ElasticSearch client list&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds support for custom tasks in Celery&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add monitoring support for custom task classes in &lt;a href=&quot;https://pypi.org/project/celery/&quot;&gt;Celery&lt;/a&gt;.  Previously, only tasks using the default task class were able to be monitored.  Note: This version of the Python agent will no longer support Celery versions less than &lt;a href=&quot;https://github.com/celery/celery/releases/tag/v5.2.0&quot;&gt;v5.2.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds support for Graphene-Django&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add monitoring support for synchronous schemas created with &lt;a href=&quot;https://pypi.org/project/graphene-django/&quot;&gt;Graphene-Django&lt;/a&gt;.  Previously, schemas created with Graphene-Django would only be partially monitored, resulting in missing &lt;a href=&quot;https://pypi.org/project/graphql-core/&quot;&gt;GraphQL&lt;/a&gt; related attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds support for middleware filtering in Django&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Users are now able to filter which &lt;a href=&quot;https://pypi.org/project/django/&quot;&gt;Django&lt;/a&gt; middleware to monitor.  There are now &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration/#middleware-filters&quot;&gt;three additional settings&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;instrumentation.middleware.django.enabled&lt;/code&gt; (Default is &lt;code&gt;true&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;instrumentation.middleware.django.exclude&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;instrumentation.middleware.django.include&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/supported-features/django-middleware-filtering/&quot;&gt;Django Middleware Filtering page&lt;/a&gt; for more information and examples.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds support for AWS Bedrock Converse API&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add monitoring support for non-streaming &lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-runtime/client/converse.html&quot;&gt;Converse&lt;/a&gt; API. This includes support for &lt;code&gt;converse&lt;/code&gt; chat completion calls made using &lt;code&gt;boto3&lt;/code&gt; and &lt;code&gt;aioboto3&lt;/code&gt; clients.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds support for W3CTraceParent header sampled flag&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When an upstream service sends the W3CTraceParent header with the sampling flag set, New Relic will take into account that sampling decision when deciding whether the current transaction will be sampled.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added support for sampling decisions based on whether the remote parent is sampled&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Added support for two new configuration options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;distributed_tracing.sampler.remote_parent_sampled&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;distributed_tracing.sampler.remote_parent_not_sampled&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;default&lt;/code&gt; is the default behavior and behaves as it did before this change (it passes the sampling decision to the adaptive sampling algorithm to determine whether the transaction will be sampled).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;always_on&lt;/code&gt; means that the trace that has a remote parent sampled or remote parent not sampled will always be sampled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;always_off&lt;/code&gt; means that the trace that has a remote parent sampled or remote parent not sampled will never be sampled.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add safeguard for deepest unique path in GraphQL&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some users were experiencing issues with the deepest unique path in &lt;a href=&quot;https://pypi.org/project/graphql-core/&quot;&gt;GraphQL&lt;/a&gt; not being generated due to a field name returning &lt;code&gt;None&lt;/code&gt;. This issue has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add safeguard for web request parsing&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some users experienced a parsing error when &lt;code&gt;request_uri&lt;/code&gt; was malformed or contained invalid characters.  This can happen at this point if the &lt;code&gt;request_uri&lt;/code&gt; in the request header is invalid and does not match the (valid) URL originally given.  While this safeguard has now been put in place in New Relic, &lt;code&gt;urllib&lt;/code&gt; has resolved this issue for versions of Python released after Jan 31, 2025.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix crash in ElasticSearch and GraphQL when &lt;code&gt;trace.settings==None&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In cases where &lt;code&gt;trace.settings&lt;/code&gt; is &lt;code&gt;None&lt;/code&gt;, the instrumentation for ElasticSearch crashed the application.  A &lt;code&gt;global_settings&lt;/code&gt; fallback has been put in place.  This also resolves the same issue found in GraphQL.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove &lt;code&gt;options&lt;/code&gt; method from async ElasticSearch client list&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The previous instrumentation of ElasticSearch caused a crash because &lt;code&gt;options&lt;/code&gt; was in the list of async methods.  This method is no longer wrapped in a &lt;code&gt;DatastoreTrace&lt;/code&gt; since it is not one that conducts any datastore operations/requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 04 Sep 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.0.3.138]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMC4zLjEzOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-103138</link><pubDate>Tue, 15 Nov 2011 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Where instrumentation was not available for the web framework or toolkit being used and web transactions were being named according to the original URL, metric normalization rules were not being correctly applied when metric grouping issues occurred due to a large number of unique URLs. This was resulting in grouping of web transactions metrics under incorrect names leading to the data presented by the UI being unhelpful or misleading.&lt;/li&gt;
&lt;li&gt;Agent would fail when collecting WSGI hosting environment information when an older version of Tornado web server was used which did not provide version information. This would lead to no web transactions metrics being reported as failure occured when agent was trying to register with the New Relic core application.&lt;/li&gt;
&lt;li&gt;Instrumentation of the feedparser module was not catering for the fact that the parse() function could be supplied arguments beyond just the URL to be retreived. This would result in an exception and the web transaction always failing when such additional arguments were supplied.&lt;/li&gt;
&lt;li&gt;Instrumentation for Django was improved so that view handler function name was reported against a web transaction rather than URL when using Django static files mechanism.&lt;/li&gt;
&lt;li&gt;Instrumentation for Django was improved so that technical 404 and 500 response handler function name was used for web transaction when appropriate.&lt;/li&gt;
&lt;li&gt;Instrumentation for Django was improved to ensure that request middleware function name was always used for web transaction name when it returned a valid response.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Attributes captured from WSGI request environment such as &apos;REQUEST_METHOD&apos;, &apos;HTTP_REFERER&apos; and &apos;HTTP_USER_AGENT&apos; are now shown under the &apos;Request environment&apos; category in error details and slow transaction traces rather than under &apos;Custom parameters&apos;.&lt;/li&gt;
&lt;li&gt;The HTTP response status for a web transaction is now shown as &apos;STATUS&apos; under the &apos;Response properties&apos; category in error details and slow transaction traces rather than under &apos;Custom parameters&apos;.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 15 Nov 2011 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.0.5.156]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMC41LjE1Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-105156</link><pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Details of errors were not being captured and passed back to the core application to be displayed by the UI when the URL for the request had query string parameters. The problem was not causing failure of the overall web application but that a problem was occuring would have been identifiable though a Python agent exception and traceback being recorded in the Python agent log file with message:&lt;/li&gt;
&lt;li&gt;NameError: global name &apos;request_params&apos; is not defined&lt;/li&gt;
&lt;li&gt;Slow transactions were never being recorded when agent run using method where no agent configuration file was being used. This is the case for example when using Heroku.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added support for the distributed task queuing system Celery. Tasks executed by a &lt;a href=&quot;http://celeryproject.org/&quot;&gt;Celery&lt;/a&gt; server can be tracked and reported as background tasks against an application in the New Relic UI.&lt;/li&gt;
&lt;li&gt;Added support for tracking as external web service requests calls made out via the &lt;a href=&quot;http://code.google.com/p/python-weather-api/&quot;&gt;pywapi&lt;/a&gt; module.&lt;/li&gt;
&lt;li&gt;Added support for automatic wrapping of WSGI application entry point when using &lt;a href=&quot;https://pypi.python.org/pypi/flup&quot;&gt;flup&lt;/a&gt; WSGI adapter for FASTCGI, SCGI and AJP.&lt;/li&gt;
&lt;li&gt;Added support for &lt;a href=&quot;http://meinheld.org/&quot;&gt;meinheld&lt;/a&gt; as standalone WSGI server and also as a worker class when using gunicorn.&lt;/li&gt;
&lt;li&gt;Added support for recording database transactions when using &lt;a href=&quot;http://code.google.com/p/pyodbc/&quot;&gt;pyodbc&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 30 Nov 2011 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.0.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjAuMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110001</link><pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent provides fixes for early activation in &lt;a href=&quot;https://pypi.org/project/Django/&quot;&gt;Django&lt;/a&gt; instrumentation, server side overrides for &lt;code&gt;max_samples_stored&lt;/code&gt; being ignored, and guards against crashes from &lt;code&gt;trace_cache.pop()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Prevents early activation in Django instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remove calls to &lt;code&gt;application_settings()&lt;/code&gt; in &lt;a href=&quot;https://pypi.org/project/Django/&quot;&gt;Django&lt;/a&gt; instrumentation to prevent issues with early activations in pre-fork applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix server configuration to local configuration sync issues&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This fixes a bug created when &lt;code&gt;event_harvest_config.harvest_limits.*&lt;/code&gt; settings were deprecated in favor of &lt;code&gt;*.max_samples_stored&lt;/code&gt; settings. Some server side configurations were not overriding the client side configurations, resulting in data being sent to the collector despite the user disabling this.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Guard against crashes from &lt;code&gt;trace_cache.pop()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;code&gt;ContextOf&lt;/code&gt; class, there was an unsafe access of the &lt;code&gt;trace_cache&lt;/code&gt; via &lt;code&gt;pop(key)&lt;/code&gt; without a default value. This caused crashes when the &lt;code&gt;weakref&lt;/code&gt; in the dictionary was already garbage collected.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 06 Oct 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.10.0.28]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTAuMC4yOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110028</link><pubDate>Wed, 23 Jan 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent contains a fix for when reporting to multiple applications, as well as other minor bug fixes and enhancements.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;On the Linux platform, the agent environment now reports the total amount of system memory available.&lt;/li&gt;
&lt;li&gt;Added support for psycopg2cffi database module.&lt;/li&gt;
&lt;li&gt;Custom parameters can be associated with function trace nodes for display against transaction traces in the UI.&lt;/li&gt;
&lt;li&gt;The URL associated with a call to an external service will now be shown in the custom parameters section for the node in a transaction trace. Previously would have been shown as a label when hovering other the node.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent was not reporting any data where multiple applications were being listed in in the app_name configuration setting.&lt;/li&gt;
&lt;li&gt;Calling register_application() in the context of a module import could cause a temporary deadlock when a timeout period was specified. The potential for deadlock will now be detected and the function will return without waiting.&lt;/li&gt;
&lt;li&gt;When the agent was configured to capture query string parameters, a key with an empty value was being discarded and not reported.&lt;/li&gt;
&lt;li&gt;When using gevent mode of gunicorn, the SystemExit exception was being logged on process shutdown due to gevent sending the SystemExit exception to all greenlets and not just the main thread when sys.exit() was called.&lt;/li&gt;
&lt;li&gt;Instrumentation wrapping the Django reverse() function was not accepting named parameters.&lt;/li&gt;
&lt;li&gt;If custom parameters were used with a transaction, the HTTP response STATUS was duplicated in details related to an error raised from that transaction.&lt;/li&gt;
&lt;li&gt;Changes to Django instrumentation to avoid metric grouping issues resulting from raw URLs leaking through as transaction name.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 23 Jan 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.0.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjAuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110000</link><pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;div&gt;&lt;p&gt;This version of the agent has been withdrawn.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;This release of the Python agent makes the following changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removes support for Python 3.7&lt;/li&gt;
&lt;li&gt;Removes and or deprecates various APIs and settings&lt;/li&gt;
&lt;li&gt;Deprecates &lt;a href=&quot;https://pypi.org/project/aioredis/&quot;&gt;aioredis&lt;/a&gt; instrumentation&lt;/li&gt;
&lt;li&gt;Raises the minimum supported version of &lt;code&gt;setuptools&lt;/code&gt; and &lt;code&gt;setuptools_scm&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Adds new instrumentation for &lt;a href=&quot;https://github.com/microsoft/autogen&quot;&gt;AutoGen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Adds new instrumentation for &lt;a href=&quot;https://pypi.org/project/pyzeebe/&quot;&gt;Pyzeebe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Adds new MCP (Model Context Protocol) named spans&lt;/li&gt;
&lt;li&gt;Fixes a crash in psycopg&lt;/li&gt;
&lt;li&gt;Ensures MCP spans are only recorded when AI monitoring is enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Removed features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Removes support for Python 3.7&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.7 was EOL&apos;d June 27, 2023. The Python agent has dropped support for it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Removes various deprecated APIs&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The following APIs have been removed:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Legacy API&lt;/th&gt;
&lt;th&gt;Replacement API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;accept_distributed_trace_payload&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/acceptdistributedtraceheaders-python-agent-api&quot;&gt;&lt;code&gt;accept_distributed_trace_headers&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add_custom_parameter&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/addcustomattribute-python-agent-api&quot;&gt;&lt;code&gt;add_custom_attribute&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add_custom_parameters&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/addcustomattributes-python-agent-api&quot;&gt;&lt;code&gt;add_custom_attributes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;create_distributed_trace_payload&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/insertdistributedtraceheaders-python-agent-api&quot;&gt;&lt;code&gt;insert_distributed_trace_headers&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_browser_timing_footer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The functionality of this has been wrapped into &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/getbrowsertimingheader-python-agent-api&quot;&gt;&lt;code&gt;get_browser_timing_header()&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;record_exception&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/notice_error&quot;&gt;&lt;code&gt;notice_error()&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NewRelicLogHandler&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NewRelicLogForwardingHandler&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lambda_handler&lt;/code&gt; &amp;#x26; &lt;code&gt;LambdaHandlerWrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;These APIs have moved to the &lt;a href=&quot;https://docs.newrelic.com/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/sdk-based-instrumentation/#python&quot;&gt;&lt;code&gt;newrelic-lambda&lt;/code&gt;&lt;/a&gt; package.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Removes various deprecated settings&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The following settings have been removed:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Legacy Setting&lt;/th&gt;
&lt;th&gt;Replacement Setting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_tracer.capture_attributes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#cfg-tt-attributes-enabled&quot;&gt;&lt;code&gt;transaction_tracer.attributes.enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;error_collector.capture_attributes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#cfg-error-attributes-enabled&quot;&gt;&lt;code&gt;error_collector.attributes.enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;browser_monitoring.capture_attributes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#cfg-browser-attributes-enabled&quot;&gt;&lt;code&gt;browser_monitoring.attributes.enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;analytics_events.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#transaction-events-enabled&quot;&gt;&lt;code&gt;transaction_events.enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;analytics_events.capture_attributes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#cfg-events-attributes-enabled&quot;&gt;&lt;code&gt;transaction_events.attributes.enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;error_collector.ignore_errors&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#error-ignore&quot;&gt;&lt;code&gt;error_collector.ignore_classes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;strip_exception_messages.whitelist&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#strip_exception_messages_allowlist&quot;&gt;&lt;code&gt;strip_exception_messages.allowlist&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ssl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;This is now hardcoded to &lt;code&gt;true&lt;/code&gt; so it has been removed as a setting option.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ignored_params&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Use &lt;code&gt;newrelic.attributes.exclude = request.parameters.{name}&lt;/code&gt; instead. Add each request parameter key to the &lt;code&gt;newrelic.attributes.exclude&lt;/code&gt; list,  delimited by commas. Be sure to prepend the key with &lt;code&gt;request.parameters&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent_limits.merge_stats_maximum&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;This is now completely ignored in favor of serverside config.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deprecated features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Instrumentation for &lt;a href=&quot;https://pypi.org/project/aioredis/&quot;&gt;aioredis&lt;/a&gt; has been deprecated&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://pypi.org/project/aioredis/&quot;&gt;aioredis&lt;/a&gt; package has been deprecated in favor of &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;redis&lt;/a&gt; which now includes the submodule &lt;code&gt;redis.asyncio&lt;/code&gt;. As a result, the instrumentation for &lt;code&gt;aioredis&lt;/code&gt; has also been deprecated. Please use the &lt;code&gt;redis&lt;/code&gt; library instead. This instrumentation will be removed in a future release.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deprecates some existing harvest settings to match other language agents&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In order to be more consistent with the conventions of the other language agents, the following harvest settings are now deprecated:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Legacy Setting&lt;/th&gt;
&lt;th&gt;Replacement Setting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;event_harvest_config.harvest_limits.analytic_event_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#transaction-events-max-samples-stored&quot;&gt;&lt;code&gt;transaction_events.max_samples_stored&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;event_harvest_config.harvest_limits.span_event_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#cfg-tt-max-samples-stored&quot;&gt;&lt;code&gt;span_events.max_samples_stored&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;event_harvest_config.harvest_limits.error_event_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#error-max-event-samples-stored&quot;&gt;&lt;code&gt;error_collector.max_event_samples_stored&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;event_harvest_config.harvest_limits.custom_event_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#custom-insights-events-max-samples-stored&quot;&gt;&lt;code&gt;custom_insights_events.max_samples_stored&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;event_harvest_config.harvest_limits.log_event_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration#application-logging-forwarding-max-samples-stored&quot;&gt;&lt;code&gt;application_logging.forwarding.max_samples_stored&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This is a revert of a previous change that renamed these settings from &lt;code&gt;*.max_samples_stored&lt;/code&gt; to the &lt;code&gt;event_harvest_config.harvest_limits.*&lt;/code&gt; 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.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deprecates configuration of the agent through the WSGI environ dictionary&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;newrelic.set_background_task&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;newrelic.suppress_apdex_metric&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;newrelic.suppress_transaction_trace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;newrelic.capture_request_params&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;newrelic.disable_browser_autorum&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deprecates support for building the agent with &lt;code&gt;setuptools&amp;#x3C;61.2&lt;/code&gt; or &lt;code&gt;setuptools_scm&amp;#x3C;6.4&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The minimum supported versions of &lt;code&gt;setuptools&lt;/code&gt; and &lt;code&gt;setuptools_scm&lt;/code&gt; have been increased to &lt;code&gt;61.2&lt;/code&gt; and &lt;code&gt;6.4&lt;/code&gt; respectively.
This is to support the use of &lt;code&gt;pyproject.toml&lt;/code&gt; 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 a &lt;code&gt;pyproject.toml&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;This change adds new version attributes to the packages, &lt;code&gt;newrelic.__version__&lt;/code&gt; and &lt;code&gt;newrelic.__version_tuple__&lt;/code&gt;, which can be used to programmatically check the version of the agent at runtime.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Adds new instrumentation for &lt;a href=&quot;https://github.com/microsoft/autogen&quot;&gt;AutoGen&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds instrumentation (named spans and custom &lt;code&gt;Llm&lt;/code&gt; events) for agents and tools in &lt;a href=&quot;https://github.com/microsoft/autogen&quot;&gt;AutoGen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds new instrumentation for &lt;a href=&quot;https://pypi.org/project/pyzeebe/&quot;&gt;Pyzeebe&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds automatic instrumentation and framework-specific agent attributes for &lt;a href=&quot;https://pypi.org/project/pyzeebe/&quot;&gt;Pyzeebe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds new MCP (Model Context Protocol) named spans&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds new named spans for MCP (Model Context Protocol) tool calls made via tool manager to support Streamable HTTP&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixes a crash in &lt;code&gt;psycopg&gt;=3.2.0&lt;/code&gt; when calling &lt;code&gt;as_string()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixes an issue in &lt;code&gt;psycopg&gt;=3.2.0&lt;/code&gt; where the &lt;code&gt;as_string()&lt;/code&gt; method no longer required arguments, causing a potential crash. This has been fixed, and both signatures of this method are supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ensures MCP (Model Context Protocol) spans are only recorded when AI monitoring is enabled&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensures MCP (Model Context Protocol) spans are only recorded when the setting &lt;code&gt;ai_monitoring.enabled&lt;/code&gt; is enabled.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 25 Sep 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.10.1.36]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTAuMS4zNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110136</link><pubDate>Fri, 22 Feb 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent contains improvements in the way that queueing time is calculated.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Resolved some issues with tracking of front-end queue time, particularly when the agent is running on an app hosted on Heroku. The agent will now more reliably parse the headers described in &lt;a href=&quot;https://newrelic.com/docs/features/tracking-front-end-time&quot;&gt;https://newrelic.com/docs/features/tracking-front-end-time&lt;/a&gt; and will automatically detect whether the times provided are in seconds, milliseconds or microseconds.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 22 Feb 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.10.2.38]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTAuMi4zOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110238</link><pubDate>Sat, 23 Feb 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent fixes an issue when floating point values were used in headers used to calculate queueing time.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When a float value was provided in the X-Request-Start or X-Queue-Start headers as the time stamp, it was not being parsed correctly and the fractional part was being discarded. This was resulting in loss off accuracy.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Sat, 23 Feb 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.1.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjEuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110100</link><pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;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 &lt;a href=&quot;https://aws.amazon.com/bedrock/&quot;&gt;AWS Bedrock&lt;/a&gt;, and new methods in &lt;a href=&quot;https://aws.amazon.com/kinesis/&quot;&gt;AWS Kinesis&lt;/a&gt;.  This release also fixes a bug in &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt; which caused &lt;code&gt;RecursionError&lt;/code&gt; when using &lt;code&gt;ConnectionPool&lt;/code&gt; where it was wrapped multiple times, a bug where properties were not properly passed in &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;kombu&lt;/a&gt;&apos;s producer, and an error when &lt;code&gt;shutdown_agent&lt;/code&gt; is called from within the harvest thread.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for Python 3.14&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for Python 3.14.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add environment variables for attribute filters settings&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The following settings now have the option to be set through environment variables:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Configuration Setting&lt;/th&gt;
&lt;th&gt;Environment variable&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;browser_monitoring.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;browser_monitoring.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;browser_monitoring.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;error_collector.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;error_collector.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;error_collector.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;span_events.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;span_events.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;span_events.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_events.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_events.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_events.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_segments.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_segments.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_segments.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_tracer.attributes.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLED&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_tracer.attributes.exclude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_tracer.attributes.include&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for async generators in transaction decorators&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for additional models in AWS Bedrock instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Updates AWS Bedrock instrumentation through botocore and aiobotocore to support the following additional models&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Sonnet 3+ models&lt;/li&gt;
&lt;li&gt;Models that are prefixed with a region (region-aware)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add instrumentation for new Kinesis methods&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds botocore instrumentation to support new AWS Kinesis methods
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;describe_account_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_account_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_max_record_size&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_stream_warm_throughput&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Prevent a RecursionError in &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt; ConnectionPool&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, a &lt;code&gt;RecursionError&lt;/code&gt; would be raised in &lt;a href=&quot;https://pypi.org/project/aiomysql/&quot;&gt;aiomysql&lt;/a&gt; when using pooled connections. Deep &lt;code&gt;ObjectProxy&lt;/code&gt; chains were created around pooled connections due to repeated wrapping. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed a bug where properties were not properly passed in &lt;a href=&quot;https://pypi.org/project/kombu/&quot;&gt;kombu&lt;/a&gt;&apos;s producer&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a bug where instrumentation for &lt;code&gt;kombu.messaging.Producer.publish()&lt;/code&gt; 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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix error when &lt;code&gt;shutdown_agent&lt;/code&gt; is called from within the harvest thread&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, a &lt;code&gt;RuntimeError&lt;/code&gt; could occur when &lt;code&gt;shutdown_agent&lt;/code&gt; was called from within the harvest thread. This fixes that issue by adding a guard to prevent the crash.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 03 Nov 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.3.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjMuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110300</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds new ways of passing errors to &lt;code&gt;notice_error()&lt;/code&gt;, adds support for &lt;a href=&quot;https://pypi.org/project/strands-agents-tools/&quot;&gt;Strands-Agent&lt;/a&gt; synchronous tool error capturing, adds support for &lt;code&gt;gpt-5&lt;/code&gt; and newer OpenAI LLM models, and fixes a crash in Azure Functions&apos; utilization logic.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for exception instances as arguments to &lt;code&gt;notice_error()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;notice_error()&lt;/code&gt; can now accept a caught exception instance (such as one from a try/except block) for the &lt;code&gt;error&lt;/code&gt; argument, rather than an exception tuple from &lt;code&gt;sys.exc_info()&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This is in addition to and does not replace the existing behavior. Previous usage of &lt;code&gt;notice_error()&lt;/code&gt; with zero arguments or with an exception tuple should still function correctly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;code&gt;gpt-5&lt;/code&gt; and newer OpenAI LLM models&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add updates to OpenAI instrumentation to support newer attribute names used with later OpenAI models&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/strands-agents-tools/&quot;&gt;Strands-Agent&lt;/a&gt; synchronous tool error capturing&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Synchronous Python functions used as tools in Strands-Agents now have proper error capturing, and capture traces within tools such as database lookups.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Guard against crashes in Azure Functions utilization&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 22 Jan 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.1.0.192]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMS4wLjE5Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110192</link><pubDate>Tue, 10 Jan 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Addressed a performance issue which would cause high CPU load, when parsing SQL queries which had a large number of values for a SQL &apos;IN&apos; clause.&lt;/li&gt;
&lt;li&gt;Agent version was not reported in form A.B.C.D in all cases. This was causing UI to warn that Python agent was out of date even when running version newer than the minimum recommended version.&lt;/li&gt;
&lt;li&gt;When &apos;feedparser&apos; module is used, now correctly track external web service requests where URI used &apos;feed&apos; or feed:http&apos; for scheme.&lt;/li&gt;
&lt;li&gt;Illegal non ASCII characters in a URL could cause the agent to generate Unicode conversion warnings or outright fail a request with an exception where the character sequence could not be decoded to Unicode using the Python system default encoding.&lt;/li&gt;
&lt;li&gt;The table name for a SQL query was not being correctly derived when the SQL contained a select sub query or table name aliases were being used.&lt;/li&gt;
&lt;li&gt;Number of nodes captured for a slow transaction trace was not being capped properly resulted in too much data being sent through to core application. This could result in details of slow transaction being rejected by core application, or result in a timeout in UI when attempting to display the slow transaction trace.&lt;/li&gt;
&lt;li&gt;SQL calls made using &apos;psycopg2&apos; were failing where optional parameters argument was not supplied to database cursor &apos;execute()&apos; method and the SQL contained a &apos;%&apos; character such as in a &apos;LIKE&apos; clause.&lt;/li&gt;
&lt;li&gt;Was not ignoring exception of type &apos;bottle.HTTPError&apos; raised within application using Bottle. This is not a true exception but is used to programmatically indicate a non 200 HTTP response so shouldn&apos;t have been recorded as an error.&lt;/li&gt;
&lt;li&gt;The &apos;django-piston&apos; instrumentation was failing when an error occurred in users handler and it tried to generate an error response. This was because &apos;django-piston&apos; was assuming that a handler would always be a normal function. It would therefore fail for a decorator/wrapper implemented using a class object as is used by the agent instrumentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added support for capturing explain plans for slow SQL when using MySQL and PostgreSQL.&lt;/li&gt;
&lt;li&gt;Added preliminary public API for manually instrumenting additional functions in user code and interacting with the current transaction to override how and what details about the transaction are recorded.&lt;/li&gt;
&lt;li&gt;Added the &apos;transaction_tracer.function_trace&apos; setting in the agent configuration file for providing a simplified way of specifying additional Python functions for which time metrics should be collected. Time spent in these functions will then appear in web transaction performance break down and slow transaction traces.&lt;/li&gt;
&lt;li&gt;Added new or improved support for tracking external web service requests made using the &apos;urllib&apos;, &apos;urllib2&apos;, &apos;urllib3&apos;, &apos;httplib&apos;, &apos;httplib2&apos; and &apos;requests&apos; modules. Note that only time taken for the initial connect for the HTTP connection may be recorded. Uninstrumented time which appears immediately after an external web service request in a slow transaction trace made using one of these modules, will therefore possibly be the time then taken to send request data, wait for a response and consume that response data.&lt;/li&gt;
&lt;li&gt;Added support for tracking external requests to a Solr service using the &apos;pysolr&apos; and &apos;solrpy&apos; modules. Time spent making the request will show on the overview charts as Solr time. Metrics for individual types of requests will also be listed in web transaction performance breakdown and slow transaction traces.&lt;/li&gt;
&lt;li&gt;Added Django application called &apos;newrelic.extras.framework_django&apos; which explicitly adds in &apos;newrelic_tags&apos; tag library containing template tags for manually adding in RUM header and footer. Reliance on the old method whereby template tag library was added automatically is now deprecated and will be removed in a future version.&lt;/li&gt;
&lt;li&gt;Added support for Bottle 0.10.X in Bottle specific instrumentation.&lt;/li&gt;
&lt;li&gt;Added support for Redis using the &apos;redis&apos; module. Support consists of tracking time spent connecting to and issuing commands against the Redis service.&lt;/li&gt;
&lt;li&gt;Added support for MongoDB using the &apos;pymongo&apos; module. Support consists of tracking time spent connecting to and issuing commands against the MongoDB service.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The &apos;capture_params&apos; setting was defaulting to &apos;true&apos; rather than &apos;false&apos; resulting in the request query string parameters being reported against errors and slow transaction traces. If upgrading you will need to change the agent configuration file you are already using to change it to &apos;false&apos; if capturing parameters is not desired.&lt;/li&gt;
&lt;li&gt;Rollup metrics against web transactions for external web service requests will now only be recorded against the host and will not be broken out based on resource requested on the remote service.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 10 Jan 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.4.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjQuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110400</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/langgraph/&quot;&gt;LangGraph&lt;/a&gt; agents.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/langgraph/&quot;&gt;LangGraph&lt;/a&gt; agents&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds instrumentation for LangGraph agent invocations via &lt;code&gt;create_agent()&lt;/code&gt; in LangChain. This includes agent calls to &lt;code&gt;invoke()&lt;/code&gt;, &lt;code&gt;ainvoke()&lt;/code&gt;, &lt;code&gt;stream()&lt;/code&gt;, and &lt;code&gt;astream()&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 29 Jan 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.2.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjIuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110200</link><pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/strands-agents-tools/&quot;&gt;Strands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-runtime/client/converse.html)&quot;&gt;AWS Bedrock Converse Streaming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; methods &lt;code&gt;hybrid_search&lt;/code&gt; and &lt;code&gt;msetex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt; role assignments for LLM events&lt;/li&gt;
&lt;li&gt;LLM event timestamp captured at time of LLM request&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loop_factory&lt;/code&gt; parameter in &lt;code&gt;asyncio.Runner&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also addresses a bug in ASGI instrumentation where headers are not reported by the web server.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/strands-agents-tools/&quot;&gt;Strands&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for Strands tools and agents in single and multi-agent (swarms, graphs, etc.) setups&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-runtime/client/converse.html&quot;&gt;AWS Bedrock Converse Streaming&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add monitoring support for streaming Converse API. This includes support for Converse chat completion calls made with boto3 and aioboto3 clients using &lt;code&gt;converse_stream()&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; methods&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for the following methods:&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hybrid_search&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;msetex&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;code&gt;loop_factory&lt;/code&gt; in &lt;code&gt;asyncio.Runner&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In Python 3.11, the &lt;code&gt;asyncio.Runner&lt;/code&gt; class was added as well as the &lt;code&gt;loop_factory&lt;/code&gt; parameter. The &lt;code&gt;loop_factory&lt;/code&gt; parameter provides a replacement for loop policies.  Now, the loop that is created is instrumented, regardless of whether it is through a global event loop setting or a custom event loop.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Capture &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt; role assignments in LLM events&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Langchain &lt;code&gt;LlmChatCompletionMessage&lt;/code&gt; events now contains the assigned role from &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Capture LLM event timestamp at time of LLM request&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the LLM event&apos;s timestamp was captured at the time of event creation. Now, it is more accurately captured at the time of the LLM request.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ASGI header consumption&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When an &lt;code&gt;ASGIWebTransaction&lt;/code&gt; consumes the headers from a &lt;code&gt;http.response.start&lt;/code&gt; event, it was doing so without regard to the allowable input types. When the headers are a generator, the generator was consumed by the call to &lt;code&gt;process_response()&lt;/code&gt; leaving no headers remaining for the web server to send.  This has now been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 08 Dec 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.13.1.31]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTMuMS4zMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-113131</link><pubDate>Fri, 05 Jul 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes a hot fix to address an issue whereby external web service calls made via HTTPS connections were failing. This issue was introduced with version 1.13.0.30 of the agent.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The Cross Application Tracing feature added in version 1.13.0.30 of the agent was causing failure of external web service calls made over HTTPS connections when that call was made via the &apos;httplib&apos; module. As the &apos;httplib&apos; module is used internally in other HTTP client libraries such as the &apos;urllib&apos;, &apos;urllib2&apos;, &apos;urllib3&apos; and &apos;requests&apos; modules, they would also have been affected.&lt;/li&gt;
&lt;li&gt;Setting the &apos;cross_application_tracer.enabled&apos; setting in the agent configuration file to &apos;false&apos; to disable Cross Application Tracing would cause an exception when an external web service call was being made via the &apos;httplib&apos; module.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 05 Jul 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.11.0.55]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTEuMC41NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-111055</link><pubDate>Tue, 09 Apr 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent introduces a major new feature called X-Ray Sessions. This feature allows you to gain deeper insights into a key transaction&apos;s performance by showing transaction traces alongside long-running profiler results.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;X-Ray Sessions provide more targeted transaction trace samples and thread profiling for web transactions. For full details see our &lt;a href=&quot;https://newrelic.com/docs/site/xray-sessions&quot;&gt;X-Ray sessions documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;For new agent installations, the agent will now default to using a SSL connection when connecting to our data collector to report any data. If updating from an older agent version, you will however need to manually update your agent configuration file and change the &apos;ssl&apos; setting to &apos;true&apos; to always use SSL connections.&lt;/li&gt;
&lt;li&gt;When connecting direct to our data collector over a SSL connection, SSL certificate validation will now be performed to mitigate the possibility of man in the middle attacks.&lt;/li&gt;
&lt;li&gt;Breakdown metrics for transactions are now recorded as unscoped metrics as well as the existing metrics scoped to a web transaction. As custom dashboards can only chart unscoped metrics, what this means is that it is now possible to create custom dashboards that display data on specific breakdown metrics, such as time spent in traced functions. For example, you may wish to chart time spent in creating database connections, or specific middleware and view handler functions.&lt;/li&gt;
&lt;li&gt;When displaying error details, the full path of the exception is now displayed and not just the class name. This makes it easier to correctly identify the full name, with that name then being able to be directly copied into the &apos;error_collector.ignore_errors&apos; setting of the agent configuration file if it is desired that that exception be ignored.&lt;/li&gt;
&lt;li&gt;Added the &apos;newrelic.agent.record_custom_metrics()&apos; function to the public API for the agent to allow the recording of many custom metrics in one function call to the agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XXXFeatures Changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We have temporarily disabled the generation of CPU burn information for transaction traces. This was displaying inaccurate values after a UI change, but also had an underlying issue whereby it was reporting CPU burn by the whole process and not just the thread handling the request. We are withdrawing the feature until we can improve the accuracy of the reported value.&lt;/li&gt;
&lt;li&gt;We have disabled the ability to get thread profiling information when a WSGI server makes use of coroutine libraries such as gevent or eventlet. This is because the nature of how coroutines are implemented, means we were are not able to generate accurate usable data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When queueing Celery tasks from a web application, those web transactions were in some cases being wrongly categorised as background tasks. The name of the transaction was also being labelled with a string with the object representation, resulting in metric grouping issues.&lt;/li&gt;
&lt;li&gt;The older version of the &apos;requests&apos; package we were bundling and were using for any HTTP calls was not closing socket descriptors immediately when a requests session object was disposed of. This could result in a small number of open socket descriptors being held open until the Python garbage collector kicked in and closed them.&lt;/li&gt;
&lt;li&gt;Login credentials supplied as part of a URL, could in some circumstances appear with the URL parameter associated with a web external node in a transaction trace sample.&lt;/li&gt;
&lt;li&gt;Django 1.5 moved which module the &apos;Http404&apos; exception was declared in. As a result we were no longer correctly ignoring it when catching exceptions to process as errors.&lt;/li&gt;
&lt;li&gt;A check designed to warn against the use of uWSGI versions prior to 1.2.6, which contain a bug which results in the agent recording incorrect response times, was failing on very old uWSGI versions.&lt;/li&gt;
&lt;li&gt;Updated our gevent instrumentation to accommodate a prototype change in gevent 1.0rc1.&lt;/li&gt;
&lt;li&gt;Updated our bottle instrumentation to handle the non numeric version string used in bottle development versions.&lt;/li&gt;
&lt;li&gt;After five minutes of being unable to connect to our data collector to report data, the agent will now internally reset itself, discarding accumulated metric data and require the agent to reregister itself with our core application before collecting data once again. This is to ensure that we do not unnecessarily keep accruing data and causing an increase in memory usage while we cannot contact our data collector.&lt;/li&gt;
&lt;li&gt;Avoid the potential for a web request to deadlock in a situation where a web framework transaction management system made a copy of the object we use to record details about web transactions or background tasks.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 09 Apr 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v11.5.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTExLjUuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110500</link><pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds trace/span support for Hybrid Agent, New Relic&apos;s integration with OpenTelemetry. It also adds entity GUIDs to Agent Control health check files,  &lt;code&gt;subcomponent&lt;/code&gt; attributes to agentic AI instrumentation, support for new &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; client methods, fixes a bug where there may be duplicate ImportHookFinder instances and a bug in &lt;a href=&quot;https://pypi.org/project/oracledb/&quot;&gt;OracleDB&lt;/a&gt; &lt;code&gt;Cursor.callproc()&lt;/code&gt; instrumentation.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add Hybrid Agent tracing support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hybrid Agent is designed to bridge the gap for teams looking to adopt OpenTelemetry standards while maintaining backwards compatibility with their existing New Relic dashboards. Hybrid Agent offers a &quot;best-of-both-worlds&quot; experience by combining New Relic’s deep visibility with OpenTelemetry API compatibility. It provides an observability solution with integrated support for the following OpenTelemetry APIs:
&lt;ul&gt;
&lt;li&gt;Tracing&lt;/li&gt;
&lt;li&gt;Standalone library and native framework instrumentation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Key enhancements like Span Links and Events on Spans are now available, ensuring seamless interoperability in mixed-mode environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Introduces a new Trace ID Ratio based sampler&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new Trace ID Ratio based sampler. This sampling algorithm is based off the sampler of the same name from OpenTelemetry, and can be configured to sample a set percentage of transactions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add &lt;code&gt;subcomponent&lt;/code&gt; attributes to agentic AI instrumentation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation for &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt;, &lt;a href=&quot;https://github.com/modelcontextprotocol/python-sdk&quot;&gt;MCP&lt;/a&gt;, and &lt;a href=&quot;https://pypi.org/project/strands-agents/&quot;&gt;Strands&lt;/a&gt; now includes a &lt;code&gt;subcomponent&lt;/code&gt; attribute on spans that represent tool or agent calls. This is used to provide more enhanced entity mapping in the New Relic UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add entity GUID to Agent Control health check files&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the agent is started within an Agent Control environment, a health check file is created at the configured file location for every agent process. This file now includes the GUID of the entity related to the agent when available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add instrumentation for new &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt; methods&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for the following methods new methods on Redis clients:
&lt;ul&gt;
&lt;li&gt;hotkeys_get&lt;/li&gt;
&lt;li&gt;hotkeys_reset&lt;/li&gt;
&lt;li&gt;hotkeys_start&lt;/li&gt;
&lt;li&gt;hotkeys_stop&lt;/li&gt;
&lt;li&gt;vrange&lt;/li&gt;
&lt;li&gt;xcfgset&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix duplicate ImportHookFinder instances&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously it was possible for duplicates of the import hook finder to be added to &lt;code&gt;sys.meta_path&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix incorrect signature on &lt;a href=&quot;https://pypi.org/project/oracledb/&quot;&gt;OracleDB&lt;/a&gt; &lt;code&gt;Cursor.callproc()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously attempting to use keyword arguments with &lt;code&gt;Cursor.callproc()&lt;/code&gt; would cause crashes as the argument names were incorrect in our instrumentation. This has been fixed, and the additional argument &lt;code&gt;keyword_parameters&lt;/code&gt; is now also supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 19 Feb 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.12.0.56]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTIuMC41Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-112056</link><pubDate>Tue, 28 May 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent removes the experimental label from our Tornado Web and Pyramid support, with support now being enabled by default.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The previously experimental support for the native Tornado Web API has been greatly expanded and is now enabled by default. This is in addition to the tornado.wsgi.WSGIContainer support we previously provided and includes the native Tornado Web API for constructing async applications. Running a limited subset of the native Tornado Web API within a separate WSGI server using the tornado.wsgi.WSGIApplication adapter is also now supported.&lt;/li&gt;
&lt;li&gt;The previously experimental support for the Pyramid web framework has been improved and is now enabled by default.&lt;/li&gt;
&lt;li&gt;When using a DBAPI2 compliant database client, calls to stored procedures via the callproc() method of the database cursor are now tracked. Previously, only calls made to stored procedures by explicitly using a CALL SQL statement were being tracked. All calls to stored procedures currently appear under the category of &apos;SQL - Other&apos;. A future agent update is planned which will split out calls to stored procedures separately and report them on the databases tab.&lt;/li&gt;
&lt;li&gt;Added instrumentation for automatically wrapping the WSGI application when using the CherryPy WSGI server bundled with the CherryPy framework.&lt;/li&gt;
&lt;li&gt;Added instrumentation for automatically wrapping the WSGI application when using the WSGI server from the Python standard library wsgiref module. Be aware that due to non conformance with the WSGI specification, it is not recommended that the WSGI server from the wsgiref module be used unless using Python 2.7.4 or higher. Issues with older versions of the WSGI server in the wsgiref module will cause incorrect reporting of data. More details are provided in our &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;External web calls made using the &apos;requests&apos; module from a session were not being correctly monitored, resulting in such requests being picked up as being performed by the lower level &apos;httplib&apos; module and the time taken not being inclusive of the whole request.&lt;/li&gt;
&lt;li&gt;The collection of explain plans by the agent in a background thread when performing a data harvest, was not explicitly performing a rollback. This could result in database proxies such as pgbouncer believing the database connection was now dirty and force closing the connection and ejecting it from the current database connection pool.&lt;/li&gt;
&lt;li&gt;The wrapper used by the agent around wsgi.input passed in the WSGI request environment was preventing non standard WSGI applications directly reaching down to the original socket connection so as to implement extensions such as websockets.&lt;/li&gt;
&lt;li&gt;The object wrapper used in our instrumentation for function traces has been improved so that it will pass type checks performed using builtin Python calls such as isinstance(), isfunction() and isclass(). This addresses issues where the object wrappers could interfere with the correct operation of web frameworks which derived the calling convention to be used when invoking a handler function from the type of the handler. Note that using type() on the wrapper object will still yield its true type, so functions such as isinstance() should always be used where possible.&lt;/li&gt;
&lt;li&gt;The agent could fail on startup when running on a system with a non English locale using a custom date/time format.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 28 May 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.2.0.246]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMi4wLjI0Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-120246</link><pubDate>Tue, 27 Mar 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Bug fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added full support for being able to use agent package with buildout. Previously the &apos;newrelic-admin&apos; script was not installed correctly when buildout was being used to manage package installation.&lt;/li&gt;
&lt;li&gt;Added support for versions 2.2 and 2.5 of the distributed task queuing system &lt;a href=&quot;http://celeryproject.org/&quot;&gt;Celery&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added support for older &apos;redis&apos; client versions which did not separate commands into &apos;StrictRedis&apos; and &apos;Redis&apos; client objects.&lt;/li&gt;
&lt;li&gt;The database table name was not always extracted properly from SQL queries where sub selects were being used, especially when additional bracketing was being used for readability. Usually this was occuring where hand crafted SQL was being generated rather than being automatically generated through an ORM or DAL.&lt;/li&gt;
&lt;li&gt;Type handler registration in psycopg2 client module would fail due to agent instrumentation wrapper around connection and cursor objects.&lt;/li&gt;
&lt;li&gt;Javascript header added into response of type &apos;text/html&apos; when Django being used and end user monitoring enabled, would be placed into wrong location of &apos;&apos; element if &apos;X-UA-Compatible&apos; meta tag existed. This would cause issues for IE browser clients which meta tag related to.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Server side configuation is now available for the Python agent. This will be of most use for Heroku installations where there is by default no agent configuration file for defining local override settings.&lt;/li&gt;
&lt;li&gt;Distiguish time spent invoking the WSGI application for a request and the subsequent processing of any iterable returned by the WSGI application. These will show as nodes &apos;WSGI/Application&apos; and &apos;WSGI/Response&apos; in performance breakdowns and slow transaction traces. This mainly helps where iterable is a generator which performs work for each yielded item as provides proper context. Time spent in writing back a large reponse to a slow HTTP client will also be more visible.&lt;/li&gt;
&lt;li&gt;Distinguish separately the time spent in the top level WSGI application callable where the agent WSGI middleware wrapper is being applied. This will be the node which gets listed immediately under &apos;WSGI/Application&apos; in a slow transaction trace.&lt;/li&gt;
&lt;li&gt;For Django, record separately time spent in processing certain types of form POSTs. This helps to show where being spent processing a large data upload.&lt;/li&gt;
&lt;li&gt;Show content length and content type details for a request in slow transaction and error details.&lt;/li&gt;
&lt;li&gt;Show content length for a response in slow transaction and error details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Longer timeout when doing an agent test using the &apos;validate-config&apos; command of the &apos;newrelic-admin&apos; script. The short timeout was previously causing some users with slow DNS or networks to see the test as failing.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 27 Mar 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.13.0.30]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMTMuMC4zMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-113030</link><pubDate>Wed, 03 Jul 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for Cross Application Tracing.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Support for New Relic&apos;s &lt;a href=&quot;https://newrelic.com/docs/features/cross-application-traces&quot;&gt;Cross Application Tracing&lt;/a&gt; feature is now available for the Python agent. This feature enables correlation of transaction traces between different services in your stack. It works on external calls made between applications monitored by any New Relic agents (Java, .NET, Ruby and Python), which support this feature. At this time the Python agent supports this feature on outgoing calls when using the &apos;httplib&apos; module or any other module which uses &apos;httplib&apos;, such as the &apos;urllib&apos;, &apos;urllib2&apos;, &apos;urllib3&apos; and &apos;requests&apos; modules. Any inbound calls from other agents which support the feature will also be handled.&lt;/li&gt;
&lt;li&gt;Added instrumentation for the &lt;a href=&quot;https://pypi.python.org/pypi/WebError&quot;&gt;weberror&lt;/a&gt; package. This provides visibility into potentially blocking operations such as sending of email for exceptions which are being reported.&lt;/li&gt;
&lt;li&gt;Added instrumentation for the &lt;a href=&quot;https://pypi.python.org/pypi/umemcache&quot;&gt;umemcache&lt;/a&gt; package.&lt;/li&gt;
&lt;li&gt;Added instrumentation for the DBAPI2 compliant interface for the IBM DB2 &lt;a href=&quot;https://code.google.com/p/ibm-db/&quot;&gt;ibm_db_dbi&lt;/a&gt; database client package.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When running a WSGI application under the Tornado WSGI container, data reporting would stop if an unhandled exception managed to propagate back up to the Tornado WSGI container. This was due to a &lt;a href=&quot;https://github.com/facebook/tornado/pull/824&quot;&gt;bug&lt;/a&gt; in Tornado in respect of its compliance with the WSGI specification. A workaround is provided to avoid the problems this caused to the Python agent. Tornado versions prior to 3.2 will still carry that bug however and we make no attempt to address the bug in Tornado.&lt;/li&gt;
&lt;li&gt;The Tornado instrumentation was causing template rendering to fail where a relative path was used to refer to the template and no template path had been specified for the RequestHandler instance or globally.&lt;/li&gt;
&lt;li&gt;The Tornado instrumentation was causing exceptions when using the @tornado.gen decorators under Tornado 2.X.&lt;/li&gt;
&lt;li&gt;When using Django, web transactions will now be named after individual view handlers when using class based views, rather than being named after the class itself.&lt;/li&gt;
&lt;li&gt;When using Pyramid, web transactions will now be named after individual view handlers when using view classes, rather than being named after the class itself.&lt;/li&gt;
&lt;li&gt;Celery instrumentation had stopped working correctly for Celery versions 2.5.3 through 2.5.5.&lt;/li&gt;
&lt;li&gt;No data was being reported where a monitored process was being shutdown within a couple of seconds of being started even if the agent was able to register. This could result in custom metrics in particular not being reported.&lt;/li&gt;
&lt;li&gt;SSL certificate validation was failing on older Debian systems due to the OpenSSL libraries not being able to process a couple of the certificates bundled with the Python agent. Those certificates were not required and have been removed.&lt;/li&gt;
&lt;li&gt;Calculation of a time string was failing on Windows due to using a strftime() formatter which only existed on UNIX systems.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 03 Jul 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.3.0.289]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMy4wLjI4OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-130289</link><pubDate>Tue, 12 Jun 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent has focused on improving the way the agent communicates with the New Relic core application. This includes improved logging and error handling, but also adds support for SSL and connecting via a proxy when the monitored host is located behind a firewall.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Changed features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The request method for a call to an external web service, when able to be collected by instrumentation, is now shown against a web external node in a slow transaction trace where as previously it showed the path segment of the URL. The URL, minus embedded user/password and query string is instead now shown as a label when hovering over the web external node in the slow transaction trace details.&lt;/li&gt;
&lt;li&gt;Improved logging and error handling when communicating with the New Relic core application. Many messages previously logged as errors will now be logged as warnings and an error only logged when a recurring problem is detected. This should reduce emails triggered from errors logged via the Python logging module to only those that may actually require action.&lt;/li&gt;
&lt;li&gt;Significant error messages or warnings will be output to standard output when running the agent test via the &apos;newrelic-admin validate-config&apos; command. This ensures that it will be easier to detect when the test has failed due to network connectivity or license key issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Connecting to the New Relic core application using a secure SSL connection is now supported. This is enabled by setting the &apos;ssl&apos; setting in the agent configuration file to &apos;true&apos;.&lt;/li&gt;
&lt;li&gt;Connecting to the New Relic core application via a proxy is now supported. This is enabled by setting the &apos;proxy_host&apos; and &apos;proxy_port&apos; settings in the agent configuration file. If a secure SSL connection is desired, the &apos;ssl&apos; setting can be set to &apos;true&apos; at the same time. If the proxy requires a user name and password, the &apos;proxy_user&apos; and &apos;proxy_pass&apos; settings can be additionally set.&lt;/li&gt;
&lt;li&gt;When sending collected data to the New Relic core application it will be compressed when over a certain size to cut down on the amount of data being sent.&lt;/li&gt;
&lt;li&gt;The Python agent now includes its own self instrumentation and profiling capabilities to allow New Relic to monitor the performance of the agent itself and help debug any performance issues reported by a user which may occur in rare circumstances with certain web applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Where a user name and password were being included as part of a URL for a call to an external web service, eg., &apos;user:&lt;a href=&quot;mailto:pass@localhost&quot;&gt;pass@localhost&lt;/a&gt;/&apos;, that the Python agent was instrumenting, the details were not always being scrubbed properly from details being reported to the New Relic core application.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 12 Jun 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.2.1.265]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuMi4xLjI2NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-121265</link><pubDate>Wed, 25 Apr 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Bug fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix assertion violations when greenlets were used explicitly in the context of a normal thread based request handler.&lt;/li&gt;
&lt;li&gt;Installation of package using Python 2.5 was giving warnings when trying to byte code compile installed .py files due to missing import for &apos;with_statement&apos; from __future__ module in some modules.&lt;/li&gt;
&lt;li&gt;The newrelic-admin script is now installed correctly when installing the package as an egg under buildout.&lt;/li&gt;
&lt;li&gt;The newrelic.agent.stop_recording() function was causing errors when using any WSGI hosting mechanism other than Apache/mod_wsgi and wasn&apos;t working as intended even under mod_wsgi.&lt;/li&gt;
&lt;li&gt;Disable CPU sampling when os.times() is not available, such as when using Jython.&lt;/li&gt;
&lt;li&gt;Derivation of name when instrumenting the __init__() method of a class could fail if the class had a __len__() method which accessed methods/attributes which were only setup during the constructor.&lt;/li&gt;
&lt;li&gt;Move importing of multiprocessing module to global scope to avoid &lt;a href=&quot;http://bugs.python.org/issue8200&quot;&gt;logging module bug&lt;/a&gt; in Python versions up to 2.6.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 25 Apr 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.4.0.137]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuNC4wLjEzNw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-140137</link><pubDate>Wed, 01 Aug 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent introduces a number of new features including improvements to RUM browser traces. Performance of the agent has also been improved though reducing some of the overheads when dealing with tracking SQL database queries.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent now collects additional application tier transaction trace samples for slow transactions and will correlate them with any corresponding &lt;a href=&quot;https://newrelic.com/docs/features/browser-traces&quot;&gt;RUM browser trace&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Slow transaction traces will now show a figure corresponding to the amount of CPU burn that occurred during the period the transaction was running. This can be used to get an indication of whether code being executed was CPU intensive or principally waiting on I/O.&lt;/li&gt;
&lt;li&gt;Slow transaction traces for web requests will now provide an indication of how many concurrent requests were executing at the same time in the process the request was being handled. This can be used to determine how busy the process was at that time, but would also be used in conjunction with the recorded CPU burn to determine whether CPU burn was all from the one transaction or could also be due to parallel executing web requests in a multithreaded application. Note that this measure is dependent on an optional C extension component of the agent being able to be installed at the time of installation of the agent.&lt;/li&gt;
&lt;li&gt;Slow transaction traces for web requests will now display information about the amount of request content read and the amount of response content generated. This will include details about what methods of &apos;wsgi.input&apos; were used to read content and how long it in total took to read the request content. Similar details are also provided about how response content was generated and how long it took from start to finish.&lt;/li&gt;
&lt;li&gt;Slow transaction traces for web requests will now display the value of any frontend queueing time within the server stack which pertained to that specific request. Note that this is dependent on the server stack having being configured to introduce the &lt;a href=&quot;https://newrelic.com/docs/features/tracking-frontend-time&quot;&gt;required header&lt;/a&gt; to allow queueing time to be measured. The Python agent recognises the &apos;X-Queue-Start&apos; header.&lt;/li&gt;
&lt;li&gt;Automatic support is now provided for tracking frontend queueing time within the server stack when an application is deployed to Heroku.&lt;/li&gt;
&lt;li&gt;An API call and means via the WSGI environ dictionary is now provided for indicating that a transaction should not be a candidate for slow transaction traces. This is to allow one to ignore transactions which are known to always be slow. The API call is &apos;newrelic.agent.suppress_transaction_trace()&apos;.&lt;/li&gt;
&lt;li&gt;Calls to Django APIs for sending emails will now be tracked in the performance breakdown for transactions, as well as being displayed in slow transaction traces.&lt;/li&gt;
&lt;li&gt;Support for Celery 3.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Overheads within the agent which could affect performance of the application have been reduced. The improvements specifically revolve around the processing of SQL database queries. This is principally to address larger than expected overheads seen by a very small subset of users which had large or more complicated SQL queries. The changes could though still result in a small general reduction in overhead and CPU usage directly attributable to the monitoring down by the agent when SQL database queries are being tracked.&lt;/li&gt;
&lt;li&gt;Where it is possible to build C extension components at the time the agent is installed, optional C speedups for JSON will now be installed. This reduces the overhead of JSON encoding when data is being sent by the agent to the New Relic data collector on each one minute harvest cycle. If the C extension cannot be compiled, the agent will fall back to using pure Python code as it has done in prior versions of the agent.&lt;/li&gt;
&lt;li&gt;Django instrumentation has been improved and issues addressed with the way that instrumentation wrappers were applied to view handlers. For example, when a view handler is passed to a view middleware, any instrumentation wrapper is now removed. This is because the wrapper could cause issues for some code which tried to do a direct comparison between the view handler passed and an expected value. It is believed this change will fix issues when using Mezzanine.&lt;/li&gt;
&lt;li&gt;A sporadic issue with the data collector rejecting uploaded data due to what it believes was malformed JSON should be addressed. This was due to some metric values being aggregated as integers rather than as float values. This resulted in overflow of 64 bit values in the data collector due to Python supporting arbitrary length integers and thus being able to send values larger than 64 bits.&lt;/li&gt;
&lt;li&gt;The agent will now no longer fail on import when -OO option is used with the Python interpreter to enable highest level of optimisation. This was an issue as -OO strips documentation strings from code and the agent was not handling the case that the documentation string would then be a None object.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 01 Aug 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.5.0.103]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuNS4wLjEwMw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-150103</link><pubDate>Tue, 04 Sep 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent contains capacity analysis reporting, an improved sampling algorithm to ensure a wider sampling of slow transactions and added support for TastyPie, dropbox and facepy modules.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enable capacity analysis reporting where web application is single threaded or multithreaded (but not coroutine based system such as gevent and eventlet). This report helps you determine if you have enough instances deployed to keep up with request load and so tune your configuration for optimal performance.&lt;/li&gt;
&lt;li&gt;Criteria by which slow transaction samples are captured has been changed so as to include slow transactions for a broader range of transactions. Previously the transaction with the slowest overall response time would always be captured and reported. Whether a specific transaction will be preserved as a sample of a slow transaction will now also depend on whether a recent slow transaction had already been captured for it and give preference to recording slow transactions for a different transaction, rather than the same transaction all the time, if it is always the slowest.&lt;/li&gt;
&lt;li&gt;Where TastyPie is being used with Django, instead of all web transactions being handled by TastyPie being labeled against the TastyPie wrapper, the web transactions will now be aggregated against the specific methods of the resource or API object handling the request.&lt;/li&gt;
&lt;li&gt;Added instrumentation for the &apos;dropbox&apos; Python module to track time spent calling out to the DropBox web service. A call to this web service would have been tracked previously by virtue of the &apos;dropbox&apos; module internally using the &apos;httplib&apos; module. This added instrumentation however makes the data collected more accurate as will properly track time spent sending the request and receiving the response. It will also attribute the call to the &apos;dropbox&apos; module in transaction traces and performance breakdown data.&lt;/li&gt;
&lt;li&gt;Added instrumentation for the &apos;facepy&apos; Python module to track time spent calling out to the Facebook web service. A call to this web service would have been tracked previously by virtue of the &apos;facepy&apos; module internally using the &apos;requests&apos; module. This added instrumentation however allows the call to be attributed to the &apos;facepy&apos; module in transaction traces and performance breakdown data.&lt;/li&gt;
&lt;li&gt;Added support for gevent &amp;#x3C; 0.13.7 by way of patching an existing bug in gevent. The specific problem in gevent was patched in version 0.13.7 of that package. This change will allow older versions of gevent to also be used if there is a requirement.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation for Genshi templates was failing when the OR operator was used inside of a template.&lt;/li&gt;
&lt;li&gt;If an exception occurred in the first call to read data from wsgi.input to get the request content, it would cause a subsequent exception when recording of response time was being finalised. This wasn&apos;t causing any impact on user requests, but would result in any metrics for that request being discarded and an error being logged in the agent log.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 04 Sep 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.6.0.13]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuNi4wLjEz</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-16013</link><pubDate>Tue, 16 Oct 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a minor feature and bug fix release.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When reporting web application performance data against multiple applications in the New Relic UI at the same time, any end user metric data will now also be reported against all applications. Previously end user metric data would only be reported against the first application.&lt;/li&gt;
&lt;li&gt;The environment variable &apos;NEW_RELIC_SSL&apos; can now be set to enable use of a SSL connection when reporting data to our data collector. Enabling values are &apos;true&apos;, &apos;on&apos; or &apos;1&apos;. This can be used on platforms such as Heroku where configuration is performed using environment variables instead of an agent configuration file.&lt;/li&gt;
&lt;li&gt;Added instrumentation for tracking database queries when using the &apos;pymysql&apos; module for the MySQL database.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix to algorithm calculating name of function for case where function was wrapped with a decorator implemented using a class. Previously was using the name of the decorator class rather than the name of the wrapped function.&lt;/li&gt;
&lt;li&gt;Fix for ZeroDivision error when calculating per request CPU burn, where due to clock granularity for system the request was quick enough to effectively have zero duration.&lt;/li&gt;
&lt;li&gt;Fix for AttributeError when trying to process None as a slow transaction trace when in a harvest period there were browser traces but no application server traces.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 16 Oct 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.8.0.13]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuOC4wLjEz</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-18013</link><pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent enables the ability to set apdex values and alerts for key transactions (discussed &lt;a href=&quot;https://newrelic.com/docs/site/key-transactions&quot;&gt;here&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added support in the agent required to enable apdex values to be specified for key transactions.&lt;/li&gt;
&lt;li&gt;Added support for tracking SQL database queries when using the &apos;oursql&apos; database client module for MySQL.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The sqlite3 instrumentation was preventing the use of a sqlite3 database connection object as a context manager together with the &apos;with&apos; statement.&lt;/li&gt;
&lt;li&gt;Suppressed the logging produced by the urllib3 module included within the bundled requests module, when making socket connections.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 14 Nov 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.7.0.31]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuNy4wLjMx</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-17031</link><pubDate>Wed, 07 Nov 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent focuses on providing a low-overhead thread profiler which can monitor and record executing threads for a specified time, without affecting the customer experience.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Low-overhead thread profiler. A profiling session can be initiated for a period from 2 to 10 minutes. The profiler will periodically sample what all the executing threads are doing, aggregating the results together to get a statistical snapshot of where in your application most time is being spent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Importing of the greenlet module was resulting in the capacity analysis report metrics being disabled, even though it was meant to only be disabled when specifically using a coroutine based WSGI server such as gevent and eventlet mode of gunicorn.&lt;/li&gt;
&lt;li&gt;Improvements to the instrumentation wrapper applied to the Django view handler function so that code which tries to compare the view handler to an expected value should work. Note that this is dependent upon using an equality test rather than an identity test.&lt;/li&gt;
&lt;li&gt;Reverted prior change which stripped the instrumentation wrapper from the Django view handler when it was passed to any Django view middleware. Improvements to the instrumentation wrapper should remove the need to do this. Having the view handler passed in with the wrapper applied is required to ensure that calls to the view handler are tracked properly where the view handler is called from within the view middleware.&lt;/li&gt;
&lt;li&gt;Although not strictly required due to improvements to the instrumentation wrapper applied to a Django view handler, strip the wrapper when a view handler is passed into django.core.urlresolvers.reverse() function to ensure it can correctly determine the URL mapping to the view handler.&lt;/li&gt;
&lt;li&gt;Disable automatic RUM header/footer insertion when using Django 1.5 and the new streaming HTTP response object is returned. This is being disabled so that the response is not buffered, thereby interfering with the streaming process. If streaming a HTML response and RUM reporting is still required, the RUM header and footer will need to be &lt;a href=&quot;https://newrelic.com/docs/python/real-user-monitoring-in-python&quot;&gt;added manually&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Instrumentation of the feedparser module was causing an exception when a file like object rather than a string was passed to the feedparser.parse() function.&lt;/li&gt;
&lt;li&gt;Tastypie instrumentation was failing to be applied if using Python 2.5.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 07 Nov 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v1.9.0.21]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEuOS4wLjIx</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-19021</link><pubDate>Wed, 19 Dec 2012 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;This release of the Python agent addresses an issue with under reporting of memory use on Linux, as well as other minor bug fixes and enhancements.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added support for automatically wrapping the WSGI application entry point when using the Paste HTTP server.&lt;/li&gt;
&lt;li&gt;Custom metrics can now be reported via the public agent API by supplying an appropriate application object as an additional argument to &apos;newrelic.agent.record_custom_metric()&apos;.&lt;/li&gt;
&lt;li&gt;Added support for the &apos;psycopg2ct&apos; database client module for PostgreSQL.&lt;/li&gt;
&lt;li&gt;When needing to communicate via a firewall, the proxy settings can now be set via environment variables in addition to being able to be set in the agent configuration file.&lt;/li&gt;
&lt;li&gt;The number of CPU cores is now being reported in the agent environment and displayed in the UI.&lt;/li&gt;
&lt;li&gt;A warning will now be logged in the agent log file if an older version of uWSGI is being used which has bugs with its conformance to the WSGI specification. Such older uWSGI versions would see incorrect data being reported due to the bug in uWSGI.&lt;/li&gt;
&lt;li&gt;A warning will now be logged in the agent log file if uWSGI is being used and the &apos;enable-threads&apos; option is not being supplied to uWSGI to enable threading within the Python interpreter, a feature which is a mandatory requirement for the Python agent to be able to work.&lt;/li&gt;
&lt;li&gt;A range of additional logging and debugging options have been added to allow our support team to better help you when you are having issues with setting up the agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Addressed problem where memory usage was being under reported on Linux systems. The degree to which memory usage was under reported was dependent on the memory page size the system was using. If affected you can expect to see memory usage being reported jump up as it reports the correct value.&lt;/li&gt;
&lt;li&gt;If the local Python installation is already using a &apos;sitecustomize.py&apos; file, the agent&apos;s own &apos;sitecustomize.py&apos; file will ensure that the existing copy is imported and code in it executed so that existing definitions are still applied.&lt;/li&gt;
&lt;li&gt;Installation of the agent could fail under buildout due to a missing Python future import for the Python with statement under Python 2.5.&lt;/li&gt;
&lt;li&gt;Made parsing of URLs more tolerant to malformed URLs in web external calls. The agent was encountering an error when the port number of a URL was not an integer, resulting in the data for that transaction being discarded.&lt;/li&gt;
&lt;li&gt;Use of raw greenlets from within a transaction was failing causing an exception and the users web request to typically fail with a HTTP 500 error response.&lt;/li&gt;
&lt;li&gt;Configuration of the agent will no longer fail on startup if there is no &apos;newrelic&apos; section in the configuration file.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 19 Dec 2012 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.0.0.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMC4wLjE=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2001</link><pubDate>Wed, 04 Sep 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a major new version and primarily focuses on the addition of support for Python 3.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.3 or later is now supported. This includes support for popular web frameworks that have been ported to Python 3, such as CherryPy, Django, Flask, Pyramid and Tornado.&lt;/li&gt;
&lt;li&gt;Added new instrumentation to track as external service calls, requests made by the &apos;thrift&apos; client module.&lt;/li&gt;
&lt;li&gt;Added new instrumentation to track memcache calls made by the &apos;bmemcached&apos; client module.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Removed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Python 2.5 is no longer supported. The minimum required Python version is now 2.6. If using Python 2.5, you should ensure that any requirement for the &apos;newrelic&apos; module listed in a &apos;setup.py&apos; or pip requirements file says &apos;newrelic&amp;#x3C;2.0.0.0&apos;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed broken instrumentation for &apos;httplib&apos; module, which would cause an exception where the &apos;httplib&apos; connect() method was being invoked via the Connection class type rather than an instance of the Connection class.&lt;/li&gt;
&lt;li&gt;Fixed issue where if the host system clock was wound backwards, then the response time of active requests could be set as being zero, resulting in a ZeroDivisionError when calculating thread utilization.&lt;/li&gt;
&lt;li&gt;Fixed issue where the use of SSL via a HTTP proxy by the agent to connect to the New Relic data collector to report data would fail.&lt;/li&gt;
&lt;li&gt;Fixed broken instrumentation for sqlite database client module which resulted in the executescript() API call failing.&lt;/li&gt;
&lt;li&gt;Add workaround for uWSGI issue where when using gevent mode of uWSGI, it would attempt to wait on all greenlets on process shutdown, instead of only on non daemon threads, specifically the request threads. The issue was causing processes to hang for 60 seconds on shutdown before the uWSGI master process killed the process. We are in discussion with uWSGI authors about a permanent fix to uWSGI.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 04 Sep 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.100.0.84]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTAwLjAuODQ=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2100084</link><pubDate>Tue, 09 Jan 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent contains security related updates as well as bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Security Updates&lt;/h2&gt;
&lt;p&gt;See the associated security bulletins for &lt;a href=&quot;https://docs.newrelic.com/docs/accounts-partnerships/accounts/security-bulletins/security-bulletin-nr18-01&quot;&gt;custom API parameters in high-security mode&lt;/a&gt; and for &lt;a href=&quot;https://docs.newrelic.com/docs/accounts-partnerships/accounts/security-bulletins/security-bulletin-nr18-01&quot;&gt;SQL params for SQLite&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using the aiohttp client may result in an application crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Under certain circumstances, using the aiohttp client may have resulted in an application crash. This issue has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Database queries made with psycopg2 may not have been recorded&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the &quot;with&quot; statement to create a cursor, time spent on database calls may not have been properly recorded. This issue has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Usage of the pika library resulted in a memory leak&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the pika library with New Relic, Channel objects would not be cleared from memory as expected. This would result in abnormally high memory utilization in some cases. The memory leak has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DeprecationWarning generated for async/await keywords&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the agent may have generated a DeprecationWarning around async/await being reserved keywords. The DeprecationWarning should no longer be generated.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 09 Jan 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.10.1.9]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTAuMS45</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-21019</link><pubDate>Fri, 24 Jan 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hot fix version to address an issue related to &lt;a href=&quot;https://docs.newrelic.com/docs/traces/cross-application-traces&quot;&gt;cross process application traces&lt;/a&gt; introduced in 2.10.0.8.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The value of headers inserted into the HTTP response returned from the WSGI application to support cross process application tracing were being incorrectly passed as Unicode strings on Python 2. This would cause a strictly compliant WSGI server such as Apache/mod_wsgi or uWSGI to raise an error when the headers were being set. In general, pure Python WSGI servers are not as strict in their WSGI compliance and would have silently accepted the value anyway, converting it to a byte string using the Python system default encoding.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 24 Jan 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.102.0.85]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTAyLjAuODU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2102085</link><pubDate>Mon, 05 Feb 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent contains improvements to the time tracing API as well as bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Time Trace API Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Time trace APIs (such as function_trace) can now be used with coroutines&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following decorator APIs can now be used with native coroutines and generators:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;function_trace&lt;/li&gt;
&lt;li&gt;database_trace&lt;/li&gt;
&lt;li&gt;datastore_trace&lt;/li&gt;
&lt;li&gt;external_trace&lt;/li&gt;
&lt;li&gt;message_trace&lt;/li&gt;
&lt;li&gt;memcache_trace&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@function_trace(name=&apos;my_coroutine&apos;)
async def my_coroutine():
  await asyncio.sleep(0.1)
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;gRPC instrumentation used on Python 2.x can cause a memory leak&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using gRPC on Python 2, gRPC futures would not be garbage collected resulting in a memory leak. gRPC futures will now be garbage collected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Instrumentation for Dropbox v8.0 and newer caused error log messages&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dropbox client version 8.0 or higher raised instrumentation errors. These errors did not prevent metrics on Dropbox from being sent. These errors have been removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Values from negated ranges were sometimes added to ignore_status_codes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Negated status codes not found in the current ignore_status_codes were added if they were part of a range of values. This issue has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 05 Feb 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.10.0.8]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTAuMC44</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-21008</link><pubDate>Fri, 17 Jan 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes various improvements and bug fixes related to instrumentation for database client modules, as well as a notable fix to our &apos;newrelic-admin&apos; script affecting some users who referenced Python virtual environments via a symbolic link.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation of the WSGI application entry point will now add a new breakdown metric to web transactions corresponding to the finalization of the WSGI request. Within the workings of the interaction between the WSGI server and the WSGI application, this is the point at which the WSGI server will call any close() method on the iterable returned by the WSGI application. The name of this new breakdown metric is &apos;WSGI/Finalize&apos;. In the case where there was actually a &apos;close()&apos; method, a further breakdown metric will also appear corresponding to that method.&lt;/li&gt;
&lt;li&gt;Added support to instrumentation for MySQL and PostgreSQL database client modules for monitoring database queries when the database connection object is used as a context manager. Such context manager features are outside of the scope of the Python DBAPI2 &lt;a href=&quot;http://www.python.org/dev/peps/pep-0249/&quot;&gt;(PEP 249)&lt;/a&gt; specification, not all database client modules support it and nor do they all work the same. Although supported, we would suggest consideration should be given to not using these context manager features if you need your code to be portable between databases.&lt;/li&gt;
&lt;li&gt;Added support to instrumentation for MySQL database client modules for monitoring database queries when the database connection object was created using the Connect() function. The Connect() function falls outside of the scope of the Python DBAPI2 &lt;a href=&quot;http://www.python.org/dev/peps/pep-0249/&quot;&gt;(PEP 249)&lt;/a&gt; specification. Although supported, we would suggest consideration should be given to not using this Connect() function if you need your code to be portable between databases.&lt;/li&gt;
&lt;li&gt;Added database instrumentation support for the &lt;a href=&quot;https://pypi.python.org/pypi/mysql-connector-python&quot;&gt;mysql-connector-python&lt;/a&gt; database client module.&lt;/li&gt;
&lt;li&gt;Custom parameters for a transaction which are a string or numeric value will now be added to and reported with analytic events reported to our analytics system code named &lt;a href=&quot;http://newrelic.com/software-analytics&quot;&gt;Rubicon&lt;/a&gt;. This can be disabled using the agent configuration setting &apos;analytics_events.capture_attributes&apos;.&lt;/li&gt;
&lt;li&gt;The capture of custom parameters against a transaction trace can now be disabled using the agent configuration setting &apos;transaction_tracer.capture_attributes&apos;.&lt;/li&gt;
&lt;li&gt;The capture of custom parameters against error details can now be disabled using the agent configuration setting &apos;error_collector.capture_attributes&apos;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent API function add_user_attribute() is now deprecated and functionality merged with the add_custom_parameter() function. The latter function should now be used instead. The display of such parameters in browser traces is now optionally enabled with the agent configuration setting &apos;browser_monitoring.capture_attributes&apos;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;If the &apos;newrelic&apos; package was installed into a Python virtual environment, but the &apos;newrelic-admin&apos; script was executed via a path that traversed a symlink to the virtual environment, the protections within the agent bootstrapping procedure was detecting that the agent was trying to be used with an application running against a different virtual environment when it was actually the same. This would result in the application not being monitored. This issue was introduced in version 2.8.0 of the agent when additional protections were added against mixing application/modules from different Python virtual environments.&lt;/li&gt;
&lt;li&gt;Explain plans were not being performed on SQL queries made via the executemany() method of a database cursor object. When explain plans are now done, the data inputs from the first row of input data for the executemany() call will be used.&lt;/li&gt;
&lt;li&gt;When using Python 2, if strings were supplied for the web transaction name, custom parameters, in error details etc, and that string contained a series of characters which could not be decoded as valid UTF-8, then an exception would occur. In the case of a web transaction name, this could result in the exception affecting the current web transaction and result in an error response being sent back to a user. For the case of a transaction trace or error details, the exception would prevent the sending of the captured data up to our data collector and it would be discarded. This was a regression within the agent behaviour introduced when Python 3 support was added to the agent.&lt;/li&gt;
&lt;li&gt;Fixed instrumentation for sqlite database modules which could result in instrumentation not being applied correctly, and so no database metrics collected, if the sqlite module had been imported prior to the agent being initialized.&lt;/li&gt;
&lt;li&gt;Limits being applied to the length of the SQL for a slow SQL query when being sent up to our data collector were being applied at the wrong time, resulting in the truncated SQL being used when performing an explain plan. This didn&apos;t affect the operation of the web application, but database logs could contain an error about the malformed SQL query.&lt;/li&gt;
&lt;li&gt;Explain plans could be attempted for an SQL query even where the SQL query failed. Under most circumstances a SQL query would fail immediately and so the duration would fall below the threshold for collecting an explain plan, but the changes now made will protect against a long running SQL query which failed in the database and ensure that no additional problem is caused by issuing an explain plan for it.&lt;/li&gt;
&lt;li&gt;If a monitored web application is started up using our newrelic-admin wrapper script, and it executes a separate Python script and that Python script used a Python version older than Python 2.6, the script could output the error message &quot;&apos;import site&apos; failed; use -v for traceback&quot;. The execution of the script was not affected, but the message obviously could cause concern.&lt;/li&gt;
&lt;li&gt;The equivalent functions from the &apos;urllib2&apos; module from Python 2 were not being instrumented when Python 3 was being used. This was missed when Python 3 support was added to the agent.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 17 Jan 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.104.0.86]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTA0LjAuODY=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2104086</link><pubDate>Tue, 20 Feb 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds a deprecation warning for customers that disable SSL, and adds bugfixes for supported async frameworks that use asyncio.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Mandatory SSL&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Disabling SSL connections to New Relic has been deprecated&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SSL connections are enabled by default. In a future release, the option to disable SSL will be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using asyncio.gather or asyncio.ensure_future now tracks transaction context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prior to this release, using asyncio.gather or asyncio.ensure_future may result in certain traces (such as external calls) not being reported in the transaction. Traces scheduled with asyncio.gather or asyncio.ensure_future from within the context of a transaction should now be properly attributed to the transaction.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 20 Feb 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.106.0.87]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTA2LjAuODc=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2106087</link><pubDate>Wed, 28 Feb 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for AIOHTTP version 3.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved AIOHTTP Support&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for AIOHTTP 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AIOHTTP major version 3 is now supported by the New Relic Python agent.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 28 Feb 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.106.1.88]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTA2LjEuODg=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2106188</link><pubDate>Wed, 07 Mar 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a fix for security bulletin &lt;a href=&quot;https://docs.newrelic.com/docs/using-new-relic/new-relic-security/security-bulletins/security-bulletin-nr18-07&quot;&gt;nr18-07&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 07 Mar 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.12.0.10]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTIuMC4xMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-212010</link><pubDate>Mon, 03 Feb 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes improved instrumentation for the Bottle framework and new instrumentation support for gevent WSGI servers. It also allows reporting of data to multiple applications in New Relic to be specified via an environment variable, in addition to the existing &apos;app_name&apos; setting in the agent configuration file.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Provide automatic instrumentation of the WSGI application entry point when using the &apos;gevent.wsgi&apos; and &apos;gevent.pywsgi&apos; servers. This means that if you are not using a web framework we already support and instrument, are using a WSGI component library, or implementing your WSGI application from scratch, it is no longer necessary to wrap the WSGI application entry point with our special decorator or wrappers when using the gevent WSGI servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Previously it was only possible to list multiple applications in New Relic to report data to via the &apos;app_name&apos; setting in the agent configuration file. Attempting to list multiple application names (separated by the requisite semi colon), in the &apos;NEW_RELIC_APP_NAME&apos; environment variable was ignored with the complete value (including semi colons), being used as the application name. This limitation has now been lifted and a list of applications to report to can now be specified using the &apos;NEW_RELIC_APP_NAME&apos; environment variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The instrumentation for the Bottle web framework has been improved. The changes include the request handler now being broken out properly as a separate item in the transaction breakdown, the web transaction being named after an error handler when appropriate and requests which could not be mapped to a request handler being named as being a 404 if no error handler was provided. Handling of exceptions for HTTP errors has also been improved and are now being correctly matched against our internal list of HTTP status codes to be ignored as exceptions. Previously the instrumentation was too liberally ignoring all HTTP error exceptions.&lt;/li&gt;
&lt;li&gt;When using the Flask web framework, a NotFound exception raised within the underlying Werkzeug library was not being ignored. It is now no longer necessary to explicitly ignore the exception type &apos;werkzeug.exceptions:NotFound&apos; in the agent configuration.&lt;/li&gt;
&lt;li&gt;When an unhanded exception was raised by a Pylons application, a bug in the implementation of the agent&apos;s error trace wrappers would cause a subsequent exception to be raised from the agent itself, masking the details of the original exception.&lt;/li&gt;
&lt;li&gt;When trying to determine how much memory was available on a system, the agent would fallback to trying to the use the &apos;psutil&apos; module, if installed, if our standard ways of checking failed. This would cause the agent to fail on a PaaS such as PythonAnyWhere, which prohibits access to the /proc filesystem. Use of &apos;psutil&apos; as a fallback has now been removed to avoid any potential for a failure.&lt;/li&gt;
&lt;li&gt;The version of the bundled &apos;requests&apos; module the agent used to perform HTTP requests to our data collector did not work with Python 2.6.2 or older. A fix to &apos;urllib3&apos; used by the &apos;requests&apos; module has been back ported to address the issue.&lt;/li&gt;
&lt;li&gt;Our updated database instrumentation wrappers released in the last agent version, would incorrectly return that a database connection or cursor object were callable. This could confuse code which was trying to introspect those objects to perform traversal in order to get access to inner details of the implementation of the database modules.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 03 Feb 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.14.0.11]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTQuMC4xMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-214011</link><pubDate>Mon, 17 Feb 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for the Cornice REST component library for the Pyramid web framework, as well as a number of minor feature improvements and bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation added for the Cornice REST component library for the Pyramid web framework.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhance the instrumentation for the Bottle web framework to work around the problem that the Bottle framework was not using &apos;functools.wraps()&apos; correctly in the implementation of its &apos;auth_basic()&apos; decorator. This was resulting in the web transaction being named after the &apos;wrapper&apos; function closure used in the implementation of the decorator rather than the wrapped request handler the decorator was applied to. A pull request was made against the Bottle framework and the change will be included in a future version of Bottle. Our change ensures that the correct result is also obtained with older Bottle versions.&lt;/li&gt;
&lt;li&gt;When using the database connection object created by the sqlite3 database client module as a context manager, the automatic rollback or commit performed by the context manager when the scope of the context manager is exited, will now be tracked.&lt;/li&gt;
&lt;li&gt;If a function trace was applied to the bound method of a class implemented in a C extension module, the name of the module shown in the name of the function was being wrongly designated as the Python &apos;builtins&apos; module.&lt;/li&gt;
&lt;li&gt;Updated memcache instrumentation wrappers to use our latest function wrapper implementation. Our latest function wrappers better preserve the ability to introspect wrapped functions/methods and so return the same result as one would expect if no wrapper had been applied.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 17 Feb 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.18.1.15]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTguMS4xNQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-218115</link><pubDate>Fri, 28 Mar 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds improved audit logging functionality and an admin script sub command for recording deployments.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Record Deployments&lt;/strong&gt;: A new &apos;record-deploy&apos; sub command has been added to the &apos;newrelic-admin&apos; script installed with the Python agent. This is a wrapper around the HTTP API provided by New Relic for &lt;a href=&quot;http://docs.newrelic.com/docs/applications-menu/deployments-dashboard&quot;&gt;recording deployments&lt;/a&gt; against your application. To use the sub command, add your API-KEY in the agent configuration file under the &apos;api_key&apos; setting. The path to the config file, description for the deploy and optional revision, change log and user information can then be supplied as arguments to the sub command.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audit Logging&lt;/strong&gt;: An improved audit logging feature has been added to the agent for capturing details of what is being sent up to our data collectors. Information is now captured into a separate log file in a more human-readable format to aid any review process carried out to determine what the agent is sending. The audit logging feature can be enabled by setting the the &apos;audit_log_file&apos; setting in the agent configuration file, or the &apos;NEW_RELIC_AUDIT_LOG&apos; environment variable. It is not recommended that audit logging be enabled for any extended period as the resulting log file will be quite large.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent now ensures that the certificate bundle packaged with the agent is always used when certifying SSL connections back to our data collector. Previously the location of the certificate bundle could be overridden by a number of environment variables. This could cause SSL connection failures when the referenced certificate bundle didn&apos;t exist or had incorrect permissions and could not be accessed.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 28 Mar 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.16.0.12]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMTYuMC4xMg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-216012</link><pubDate>Wed, 05 Mar 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds obfuscation of explain plans as the default when using PostgreSQL, as well as including bug fixes related to the instrumentation for some MySQL database client modules.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixes an agent bug with PostgreSQL where parameters from the original query could appear in explain plans sent to New Relic servers, even when SQL obfuscation was enabled. Parameters from the query are now masked in explain plans prior to transmission when transaction_tracer.record_sql is set to &apos;obfuscated&apos; (the default setting).&lt;/li&gt;
&lt;li&gt;The automatic rollback or commit performed on exit of the context manager for a database connection was not being monitored and reported when using the MySQLdb, pymysql and oursql database client modules for the MySQL database.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 05 Mar 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.20.0.17]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjAuMC4xNw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-220017</link><pubDate>Thu, 29 May 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent provides various improvements to database client module instrumentation and execution of explain plans.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added a &apos;license-info&apos; command to the &apos;newrelic-admin&apos; script for displaying the LICENSE file for the &apos;newrelic&apos; package.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The bottle instrumentation was causing a secondary exception when a web request was not actually being monitored and an un-handled exception occurred in the web request.&lt;/li&gt;
&lt;li&gt;Added support for accepting additional arguments to the execute() method of database cursors implemented by the oursql and cx_Oracle modules which are not covered by the Python DBAPI 2 (PEP 249) specification.&lt;/li&gt;
&lt;li&gt;The time taken for connect() calls of database client modules will now be counted in &lt;strong&gt;Database&lt;/strong&gt; time (on the APM Overview page).&lt;/li&gt;
&lt;li&gt;The automatic rollback or commit performed on exit of the context manager for a database connection was not being monitored and reported when using the psycopg2, psycopg2cffi and postgresql database client modules for the PostgreSQL database.&lt;/li&gt;
&lt;li&gt;Improved how database connections are managed when performing explain plans and also applied caps to the number of process wide explain plans that are done in each reporting period. This should have the result of reducing overhead in situations where there was a large number of candidate SQL statements on which to perform explain plans. Any additional overhead from the agent in the past would have been most notable when performing an X-Ray session against a key transaction.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 29 May 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.20.1.18]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjAuMS4xOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-220118</link><pubDate>Fri, 13 Jun 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent addresses a bug which in some cases caused database connection parameters, which could include login credentials, to be logged to the local system by the monitored application if Python agent debug logging is being captured.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bugs Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When Python agent debug logging was enabled by setting &lt;code&gt;log_level&lt;/code&gt; to &lt;code&gt;debug&lt;/code&gt; in the Python agent configuration, database connection details, including login credentials could be logged in the local Python agent log file.&lt;/p&gt;
&lt;p&gt;The details may also have been logged even if &lt;code&gt;log_level&lt;/code&gt; had not been set to &lt;code&gt;debug&lt;/code&gt;, but the Python logging module had been configured to collect and log messages logged at the log level of &lt;code&gt;logging.DEBUG&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This issue was introduced in version 2.20.0.17 of the Python agent.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 13 Jun 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.2.0.2]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMi4wLjI=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2202</link><pubDate>Fri, 11 Oct 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is an incremental release and includes minor feature changes and enhancements.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use of HTTP proxies over SSL using the HTTP CONNECT tunnelling mechanism is now supported. Set the &apos;proxy_scheme&apos; to &apos;http&apos; to invoke this mode. This will become the default in a future version of the agent. If migrating from an older agent version and need to keep the existing behaviour going forward, set &apos;proxy_scheme&apos; to &apos;https&apos;. Alternatively, ensure you provide the scheme in the form of a URI as part of the &apos;proxy_host&apos; setting.&lt;/li&gt;
&lt;li&gt;Added request queueing support to the instrumentation for the Tornado ASYNC framework. Request queueing times should start showing in the APM Overview page when a frontend web server such as Nginx, has been configured to add the appropriate headers. For more details see our documentation on setting up &lt;a href=&quot;http://newrelic.com/docs/features/request-queuing-and-tracking-frontend-time&quot;&gt;tracking of queueing time&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &apos;newrelic.agent.record_exception()&apos; can now be called without actually passing it any exception details. In this case, the details of any current exception being handled will be used instead.&lt;/li&gt;
&lt;li&gt;Added a new mechanism for automatic discovery of third party instrumentation modules as an alternative to having to list them explicitly in the agent configuration file. Any such instrumentation module should register entry points under the &apos;newrelic.hooks&apos; group in &apos;setup.py&apos; for that package. The entries should be of the form &apos;target-module = instrumentation-module:function&apos;. When the &apos;target-module&apos; is imported, the function &apos;instrumentation-module:function&apos; will be executed and passed the module. Any instrumentation module should then use functions provided by our agent API under &apos;newrelic.agent&apos; to instrument the module as necessary.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When using the CherryPy web framework, the NotFound, InternalRedirect and HTTPRedirect exceptions if raised are now ignored and not treated as errors.&lt;/li&gt;
&lt;li&gt;When using the Pyramid web framework, if a view could not be found to handle a request, it could cause the agents&apos; Pyramid instrumentation to fail, causing an exception.&lt;/li&gt;
&lt;li&gt;When using the Pyramid web framework, the PredicateMismatch exception if raised when trying to resolve a URL to a view handler is now ignored and not treated as an error.&lt;/li&gt;
&lt;li&gt;Updated the instrumentation for the pywapi module to drop support for the now discontinued Google weather API.&lt;/li&gt;
&lt;li&gt;Overhauled the mechanisms used to wrap instrumentation around functions to be monitored. When the agent is installed, if the optional C extension module can be compiled and installed, then the new wrappers should have a reduced overhead compared to the pure Python versions of the wrappers otherwise used.&lt;/li&gt;
&lt;li&gt;Running thread profiles on coroutine (gevent/eventlet) based systems no longer cause a timeout in the UI. Although the UI now no longer times out, as explained in our &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt; documentation, we still however do not generate any results when running thread profiling on coroutine based systems.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 11 Oct 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.2.1.3]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMi4xLjM=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2213</link><pubDate>Fri, 11 Oct 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hot fix version to address a Celery instrumentation issue introduced with version 2.2.0.2.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed bug with Celery instrumentation introduced with version 2.2.0.2 of the agent. The bug was causing a Python exception to be raised when the instrumentation was trying to derive the task name to use as the name of the background task.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 11 Oct 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.22.1.20]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjIuMS4yMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-222120</link><pubDate>Tue, 01 Jul 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hot fix release to address an issue introduced in version 2.22.0.19 when applying additional function traces from the agent configuration.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bug fixes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When using the &lt;code&gt;transaction_tracer.function_trace&lt;/code&gt; setting in the agent configuration file to apply additional function traces, the trace was not being applied and a message indicating an instrumentation error would appear in the Python agent log file. The error in itself would not have prevented the agent from starting and running, but no data would be collected for the designated functions as intended.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 01 Jul 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.22.0.19]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjIuMC4xOQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-222019</link><pubDate>Tue, 24 Jun 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent introduces a means to enforce High-security mode from the agent configuration, as well as enabling capture of Insights events for background tasks.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Insights events are now also recorded for background tasks, in addition to the existing events already captured for web transactions.&lt;/li&gt;
&lt;li&gt;The application to record an exception against can now be explicitly provided using the keyword argument &lt;code&gt;application&lt;/code&gt; when calling &lt;code&gt;newrelic.agent.record_exception()&lt;/code&gt;. This enables the ability to record exceptions outside of the context of a monitored web transaction or background task. A suitable application object can be retrieved using &lt;code&gt;newrelic.agent.application()&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enforcing High-security mode from the agent configuration is now supported.&lt;/p&gt;
&lt;p&gt;High-security mode is a feature to prevent any sensitive data from being sent to New Relic. The local setting for the agent must match the server setting in the New Relic APM UI. If there is a mismatch, the agent will log a message and act as if it is disabled. A link to the docs for High-security mode can be found &lt;a href=&quot;https://docs.newrelic.com/docs/subscriptions/security#high-security&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attributes of high-security mode (when enabled):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Requires an SSL connection to be used.&lt;/li&gt;
&lt;li&gt;Prevents capture of request parameters.&lt;/li&gt;
&lt;li&gt;Suppresses capture of custom parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The default setting for High-security mode is &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you already have high-security mode enabled within the New Relic APM UI, you will need to add:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;high_security = true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;to your local agent configuration file.&lt;/p&gt;
&lt;p&gt;Or if using Heroku, set the &lt;code&gt;NEW_RELIC_HIGH_SECURITY&lt;/code&gt; environment variable by running:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;heroku config:set NEW_RELIC_HIGH_SECURITY=true
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When using the gunicorn WSGI server, the request URL which appears in transaction trace samples and error details will now be sourced from the &lt;code&gt;RAW_URI&lt;/code&gt; variable passed by gunicorn in the WSGI &lt;code&gt;environ&lt;/code&gt; dictionary. This will ensure that what is displayed is the raw URL before &lt;code&gt;%&lt;/code&gt; escape sequences have been decoded. This avoids the problem of the URL being shown as a raw byte sequence.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When audit logging is enabled, the responses returned from our data collector service will now also be logged.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;An incorrect module name was being derived for methods of classes, when used in web transaction and function trace naming, where the method was from a base class defined in a different module, but invoked via a derived class.&lt;/li&gt;
&lt;li&gt;When using Django class based views, if a class based view was used explicitly from within a view handler, the name of the class based view method was overriding the web transaction name, which at that point would have been set to the view handler. The class based view method name will now only be used for the web transaction name when it is actually registered as the view handler.&lt;/li&gt;
&lt;li&gt;Explain plans for SQL queries were not working when the SQL database cursor had been configured to return a dictionary rather than a tuple for each row set when the original query was made.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 24 Jun 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.26.0.22]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjYuMC4yMg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-226022</link><pubDate>Wed, 20 Aug 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes improvements to &lt;a href=&quot;https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/new-relic-browser&quot;&gt;browser monitoring&lt;/a&gt;, with the primary change being that the Python agent is now able to perform automatic browser monitoring for a wider range of Python web frameworks running on a traditional WSGI server. This includes popular web frameworks such as Flask, Pyramid and Bottle.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Prior to this version, automatic browser monitoring for HTML pages served up by a Python web application was only available if using the Django web framework. With this release this capability has now been expanded in most cases to cover any Python web framework being hosted on top of a web server with a direct interface for hosting Python WSGI applications. WSGI servers this covers include the popular Python web hosting packages Apache/mod_wsgi, gunicorn and uWSGI. Support does however not currently extend to Python web hosting mechanisms which provide a bridge to a WSGI application from a native Python web application API, such as is the case if using the Tornado or Twisted WSGI containers.&lt;/p&gt;
&lt;p&gt;What the change means is that if using a previously unsupported web framework such as Flask, Pyramid or Bottle, and you were not manually instrumenting your HTML page responses to make use of browser monitoring, you will now start to see automatically end user performance metrics being captured and displayed in the New Relic APM UI. You will also have access to the optionally enabled browser monitoring agent, enabling access to details of AJAX calls made by your pages and also the details of any client side Javascript errors which might have been raised.&lt;/p&gt;
&lt;p&gt;If you were previously manually instrumenting your HTML page responses to enable browser monitoring, you should in most cases now be able to discontinue such manual instrumentation.&lt;/p&gt;
&lt;p&gt;Note that at this time, in addition to lack of support for Tornado and Twisted WSGI containers, we do still have a few restrictions in place which mean we may not always be able to enable automatic browser monitoring support. The key restriction is that when using a web framework, the automatic support for browser monitoring will be disabled if you are using a middleware or plugin for the framework, which performs compression of responses, or which otherwise modifies the content encoding for the response. For example, automatic browser monitoring will still not be available if using the &lt;code&gt;flask.ext.compress&lt;/code&gt; plugin with Flask, or the &lt;code&gt;paste.gzipper&lt;/code&gt; middleware with any WSGI application. We are working on extending coverage to cases where such middleware or plugins are being employed, but if you are using them, for now you will still need to resort to manually instrumenting your responses to enable browser monitoring. The only exception to this is the Django web framework, where we already previously had support for automatic browser monitoring even if the Django &lt;code&gt;GZipMiddleware&lt;/code&gt; was being used.&lt;/p&gt;
&lt;p&gt;For further details on the updated browser monitoring support and manually instrumenting your HTML page responses, see our documentation on &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/page-load-timing-python&quot;&gt;page load timing when using the Python agent&lt;/a&gt;. If browser monitoring support is not currently enabled for your application or you need to disable it, then see our documentation on &lt;a href=&quot;https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/browser-settings&quot;&gt;browser settings&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent was in some cases incorrectly inserting our instrumentation to HTML page responses which were marked as an attachment by way of a &lt;code&gt;Content-Disposition&lt;/code&gt; HTTP response header or HTML page meta tag.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 20 Aug 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.24.0.21]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjQuMC4yMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-224021</link><pubDate>Wed, 06 Aug 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes fixes related to tracking of external web service calls and minor improvements to automatic real user monitoring HTML insertion for Django. An offline developer mode has also be added to verify the operation of the agent with your application in a development or test environment.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;An offline developer mode for the agent now exists to allow for verification that the operation of the agent will not affect the monitored web application in a development or test environment, without sending any actual data to New Relic. As it is an offline mode, no additional hosts will be recorded against your New Relic account for billing purposes.&lt;/p&gt;
&lt;p&gt;The offline mode does not allow for any viewing of collected metric information and other data for the purposes of monitoring your application, so it is not a solution for running New Relic locally. Being able to run it however, will allow you determine if a newer version of the agent, or an upgrade of any third party package in conjunction with the agent, will still function correctly before you jump to upgrading the packages in your production environment.&lt;/p&gt;
&lt;p&gt;The offline developer mode can be enabled by setting the &lt;code&gt;developer_mode&lt;/code&gt; setting in the agent configuration file, or the &lt;code&gt;NEW_RELIC_DEVELOPER_MODE&lt;/code&gt; environment variable, to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Audit logging can also be enabled in conjunction with the offline developer mode so as to allow for the investigation of what data would be set to New Relic, resulting from the monitoring of your application, without actually sending any data to New Relic.&lt;/p&gt;
&lt;p&gt;Audit logging itself can be enabled by setting the the &lt;code&gt;audit_log_file&lt;/code&gt; setting in the agent configuration file, or the &lt;code&gt;NEW_RELIC_AUDIT_LOG&lt;/code&gt; environment variable. It is not recommended that audit logging be enabled for any extended period as the resulting log file will be quite large.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When using the Bottle web framework, the setting &lt;code&gt;error_collector.ignore_status_codes&lt;/code&gt;, for ignoring exceptions linked to specific HTTP response status codes, was being ignored in the case of using Bottle plugins and a plugin raised a &lt;code&gt;HTTPError&lt;/code&gt; exception. This only affected Bottle versions 0.11 or higher.&lt;/li&gt;
&lt;li&gt;The New Relic feature for &lt;a href=&quot;https://docs.newrelic.com/docs/traces/cross-application-traces&quot;&gt;cross application tracing&lt;/a&gt; between two monitored web applications was not working when a Python web application was using recent versions of the &lt;code&gt;urllib3&lt;/code&gt; and &lt;code&gt;requests&lt;/code&gt; modules for initiating the call to the backend web application service. This affected version 1.8 or higher of &lt;code&gt;urllib3&lt;/code&gt; and version 2.3.0 of the &lt;code&gt;requests&lt;/code&gt; module.&lt;/li&gt;
&lt;li&gt;External web service calls were not being monitored when using the &lt;a href=&quot;http://docs.python-requests.org/en/latest/user/advanced/#prepared-requests&quot;&gt;prepared requests&lt;/a&gt; feature of the &lt;code&gt;requests&lt;/code&gt; module directly.&lt;/li&gt;
&lt;li&gt;When using the &lt;code&gt;urllib&lt;/code&gt; or &lt;code&gt;urllib2&lt;/code&gt; modules, if a URI of the form &lt;code&gt;file://...&lt;/code&gt;, corresponding to a local file on the file system, was passed to any function monitored by our instrumentation, a metric and transaction trace node were being generated corresponding to an external web service with host name of &apos;unknown&apos;. The instrumentation now correctly filters out URIs which do not correspond to an actual remote web service.&lt;/li&gt;
&lt;li&gt;The automatic means for inserting &lt;a href=&quot;https://docs.newrelic.com/docs/python/page-load-timing-in-python&quot;&gt;page load timing&lt;/a&gt; tracking code for real user monitoring (RUM) into HTML page responses returned from a Django application now works no matter the case used for HTML elements. Previously automatic insertion would only be performed where HTML elements were lower case.&lt;/li&gt;
&lt;li&gt;RUM tracking code inserted automatically into HTML page responses from Django is now more optimally placed when a &lt;code&gt;X-UA-Compatible&lt;/code&gt; meta tag appeared in the &lt;code&gt;head&lt;/code&gt; element of the HTML page. Previously the RUM code was placed at the end of the &lt;code&gt;head&lt;/code&gt; element when such a meta tag existed. This would have meant that page loading times would not have accurately reflected time spent in loading assets from any &lt;code&gt;script&lt;/code&gt; elements appear after the meta tag. The RUM code is now placed immediately after the meta tag. Placement is not done before the meta tag as some browsers require that the meta tag appear prior to any &lt;code&gt;script&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;RUM tracking code inserted automatucally into HTML page responses from Django is now placed after any &lt;code&gt;Content-Type&lt;/code&gt; meta tag which also contains a &lt;code&gt;charset&lt;/code&gt; attribute. This is necessary as some browsers will not recognise such a meta tag if it does not occur early in the page content. If a &lt;code&gt;script&lt;/code&gt; tag was therefore placed before this meta tag it could have resulted in the meta tag being pushed down sufficiently far enough in the page content so as not to be recognised.&lt;/li&gt;
&lt;li&gt;Data corresponding to a long running transaction monitored by the agent, which spanned the time when a server side configuration change was made in the New Relic UI, will now be discarded. This is to avoid a problem where the response time average for web requests on the overview chart would be skewed so as to appear greater at the time a server side configuration change was made. This problem would result as when such a server side configuration change is made, the agent will momentarily disconnect and reregister. In that time, any short lived transactions would not be monitored, but the long running transaction which only completed after registration occurred was incorrecly being recorded, with an undue effect on average response times.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 06 Aug 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.26.2.24]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjYuMi4yNA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-226224</link><pubDate>Mon, 25 Aug 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hotfix release to prevent proxy credentials set in the agent configuration file from being transmitted to New Relic.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the agent stripped the &lt;code&gt;proxy_user&lt;/code&gt; and &lt;code&gt;proxy_pass&lt;/code&gt; settings when it transmitted configuration settings to New Relic, so as not to expose credentials. However, the &lt;code&gt;proxy_host&lt;/code&gt; setting was transmitted unaltered, even if it was a URI containing a username and/or password. With this release, proxy usernames and passwords specified in a URI in the &lt;code&gt;proxy_host&lt;/code&gt; setting are obfuscated before being transmitted. In addition, the &lt;code&gt;proxy_user&lt;/code&gt; and &lt;code&gt;proxy_pass&lt;/code&gt; settings are obfuscated, and are also transmitted.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 25 Aug 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.28.0.26]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMjguMC4yNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-228026</link><pubDate>Tue, 26 Aug 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent improves data collection with the Django web framework. These improvements include better-targeted web transaction naming with the Django REST framework, better coverage of Django template inclusion tags, and better background task monitoring for Django management commands.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved Django REST Framework naming&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, when using the Django REST framework, web transactions were being named after the class based view that implemented the Django REST framework resources. Now, where such a view provides custom handler methods for different HTTP request method types or actions, the web transaction will be named after that custom handler method rather than the class as a whole. A new function breakdown metric will also be added for the custom handler method. This change will allow web requests using different HTTP request method types to be viewed separately.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Django inclusion tag monitoring&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Usage of &lt;a href=&quot;https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#howto-custom-template-tags-inclusion-tags&quot;&gt;inclusion tags&lt;/a&gt; in Django templates can now be monitored and will appear in the transaction breakdown table, charts and sample transaction traces.&lt;/p&gt;
&lt;p&gt;Due to the possibility that a large range of custom inclusion tags might be used and that they may be invoked a large number of times in tight loops, tracking of all inclusion tags may not be practical or may not produce worthwhile results in the transaction breakdown or sample transaction traces. As a result, monitoring of inclusion tags is off by default, with the preferred approach being that specific inclusion tags of interest be individually enabled through the agent configuration file.&lt;/p&gt;
&lt;p&gt;To enable monitoring of specific inclusion tags, a new section called &lt;code&gt;import-hook:django&lt;/code&gt; should be added to the agent configuration:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[import-hook:django]
instrumentation.templates.inclusion_tag = prepopulated_fields_js date_hierarchy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;instrumentation.templates.inclusion_tag&lt;/code&gt; setting within that section should then be set to a space separated list of the names of the inclusion tags to monitor. If there is any confusion over the identity of the inclusion tag, the full name of the inclusion tag function, with module name, can instead be listed. For example, &lt;code&gt;data_hierarchy&lt;/code&gt; can also be identified using &lt;code&gt;django.contrib.admin.templatetags.admin_list:date_hierarchy&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In addition to specifying the names of the specific inclusion tags, it is also possible to specify &lt;code&gt;*&lt;/code&gt; for &lt;code&gt;instrumentation.templates.inclusion_tag&lt;/code&gt; in order to have usage of all inclusion tags be monitored:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[import-hook:django]
instrumentation.templates.inclusion_tag = *
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Enabling monitoring of all inclusion tags in this way is only recommended in development or test environments so as to get an initial idea of what inclusion tags are worth tracking. Once identified, the specific inclusion tags of interest should thereafter be listed individually in a production environment.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Better monitoring of Django management commands&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the Python agent required you to manually set up the instrumentation for each specific Django management command in the agent configuration file. We have now made that easier by integrating the functionality as part of the agent itself.&lt;/p&gt;
&lt;p&gt;Due to the limitations on what Django management commands can be monitored, you will still need to list explicitly the commands you want monitored, but it can now be done in a single location as a space separated list under the setting &lt;code&gt;instrumentation.scripts.django_admin&lt;/code&gt; of the &lt;code&gt;import-hook:django&lt;/code&gt; section:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[import-hook:django] 
instrumentation.scripts.django_admin = syncdb sqlflush
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;By default, we automatically specify the startup timeout to be &lt;code&gt;10.0&lt;/code&gt; seconds when monitoring the Django management commands. If you need to override the startup timeout, you can set the &lt;code&gt;instrumentation.background_task.startup_timeout&lt;/code&gt; setting within the same &lt;code&gt;import-hook:django&lt;/code&gt; configuration section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 26 Aug 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.30.0.27]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzAuMC4yNw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-230027</link><pubDate>Tue, 16 Sep 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent improves instrumentation for the Flask web framework and adds database monitoring support when using the pymssql client with a Microsoft SQL Server database.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved instrumentation for Flask&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent now provides better web transaction naming and performance breakdown metrics when Flask style middleware are being used. This means that time spent in Flask &lt;code&gt;@before_request&lt;/code&gt; and &lt;code&gt;@after_request&lt;/code&gt; functions will now be broken out as their own metrics. If a &lt;code&gt;@before_request&lt;/code&gt; function actually returns a response, the web transaction will be correctly named after that function rather than the Flask WSGI application entry point. These changes, in addition to being applied on middleware functions registered directly against the Flask application, will also work when Flask blueprints are used to encapsulate behavior.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Browser monitoring auto-instrumentation when using Flask-Compress&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the Flask-Compress package is used to perform response compression with Flask, insertion of browser monitoring tracking code into HTML responses is now automatically performed. Previously, if Flask-Compress was being used, manual instrumentation of HTML responses would have been required.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monitoring of MSSQL database&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation is now provided for the &lt;code&gt;pymssql&lt;/code&gt; database client module to monitor database calls made against a Microsoft SQL Server database.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When using high-security mode, the use of &lt;code&gt;newrelic.capture_request_params&lt;/code&gt; in the per request WSGI environ to enable capture of request parameters, possibly by setting it using the &lt;code&gt;SetEnv&lt;/code&gt; directive when using Apache/mod_wsgi, was not being overridden and disabled as required.&lt;/li&gt;
&lt;li&gt;When using the &lt;code&gt;DatabaseTrace&lt;/code&gt; context manager or associated wrappers explicitly to implement a custom monitoring mechanism for database calls, the instrumentation wrappers could fail with a &lt;code&gt;TypeError&lt;/code&gt; exception when trying to internally derive the name of the database product being used.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 16 Sep 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.34.0.29]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzQuMC4yOQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-234029</link><pubDate>Wed, 15 Oct 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent provides support for Labels and Rollups, making it possible to organize your applications in the APM UI into meaningful categories.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Labels and Rollups&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent now supports the ability to apply labels to applications, so that you can easily sort, filter, and page through all of the applications on your account&apos;s Applications list.&lt;/p&gt;
&lt;p&gt;Configuration can be done in the newrelic.ini file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;labels = Server:One;Data Center:Primary
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Labels can also be configured by setting a &lt;code&gt;NEW_RELIC_LABELS&lt;/code&gt; environment variable:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NEW_RELIC_LABELS=Server:One;Data Center:Primary
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;More information on using labels to categorize your applications can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/categories-rollups-organizing-your-apps&quot;&gt;New Relic APM documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New CPU Reporting in Environment Snapshot&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the Python agent captured two CPU-related values to report to the Environment Snapshot: Logical Processors and Physical Processors. Now, it captures the following three values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Logical Processors&lt;/strong&gt;: The total number of hyper-threaded execution contexts available, including execution contexts that may exist on the same core. This value remains unchanged from previous agents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Physical Cores&lt;/strong&gt;: The total number of physical CPU cores available, counting hyper-threaded siblings as a single core. This value was previously reported as &quot;Physical Processors.&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Physical Processor Packages&lt;/strong&gt;: The total number of processor packages or dies (each of which may contain multiple physical cores). This value is new with this agent release.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A &quot;Runtime Error: transaction already active&quot; will no longer be seen in the case where the agent created nested transaction wrappers and &lt;code&gt;newrelic.agent.ignore_transaction()&lt;/code&gt; was called within the outer wrapper but outside the inner wrapper. Previously, this error could have also been triggered when using the WSGI environment setting for &lt;code&gt;newrelic.ignore_transaction&lt;/code&gt; set by SetEnv in mod_wsgi.&lt;/li&gt;
&lt;li&gt;Prior to this version, the HTTP_REFERER URL reported for a transaction contained query parameters, even if the &lt;code&gt;capture_params&lt;/code&gt; setting was set to False. Now, the &lt;code&gt;capture_params&lt;/code&gt; setting is respected when reporting the HTTP_REFERER URL.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 15 Oct 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.32.0.28]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzIuMC4yOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-232028</link><pubDate>Mon, 29 Sep 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent provides a preview of a significant overhaul of our instrumentation for Tornado version 3.2 and earlier. Further improvements to our Django instrumentation are also included, allowing time spent in rendering Django sub templates to be viewed separately.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Breakout of Django template rendering&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously when using Django templates, if the Django &lt;a href=&quot;https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#include&quot;&gt;&lt;code&gt;include&lt;/code&gt;&lt;/a&gt; tag was being used, the time spent rendering that sub template was shown under the generic &lt;code&gt;Template/Render&lt;/code&gt; category. When the &lt;code&gt;include&lt;/code&gt; tag is now used, a distinct metric is instead created corresponding to the rendering time for that sub template. This will appear in the transaction performance breakdown and also in sample transaction traces. In the case of sample transaction traces, as the name of the template will be included in the metric name, it now also provides additional context for understanding where any time is being spent when rendering that template.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Preview of improved Tornado instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our instrumentation for Tornado version 3.2 and earlier has been experiencing a number of issues which could result in recording of data stopping and in some cases cause runtime exceptions which would affect the outcome of the executing web request. Upon investigation we found this has come about due to incremental changes in the internals of Tornado which were performed after we originally implemented the instrumentation for Tornado and which we didn&apos;t pick up as having being made. The Tornado developers have also recently released version 4.0 of Tornado. This version of Tornado has much more significant internal changes that result in our instrumentation failing completely.&lt;/p&gt;
&lt;p&gt;Before we could embark on trying to support version 4.0 of Tornado, we deemed it necessary to completely overhaul our existing instrumentation for older versions first in order to gives us good foundation on which to then implement support for version 4.0 of Tornado. This release of the agent provides a preview of the improved instrumentation for older versions of Tornado prior to version 4.0. The new instrumentation is not enabled by default and you will need to explicitly enable it. We have provided it as an opt in change at this point to allow you to properly test with the update first and provide us with any feedback on it and any remaining issues you may find.&lt;/p&gt;
&lt;p&gt;To enable the preview of the new Tornado instrumentation, you will need to add to the &lt;code&gt;[newrelic]&lt;/code&gt;section of the agent configuration file the setting:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;feature_flag = tornado.instrumentation.r2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you are running on Heroku and are not using an agent configuration file, you can instead set the &lt;code&gt;NEW_RELIC_FEATURE_FLAG&lt;/code&gt; environment variable. You can do this by running the Heroku command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;heroku config:set NEW_RELIC_FEATURE_FLAG=tornado.instrumentation.r2
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When an exception was raised by a WSGI application during the yielding of response content via a generator, the recording of that web request by the agent may not be closed off properly. This would result in no further web requests handled by that thread being recorded and reported. If this occurred for all request handler threads, then no data would then be reported for the whole web process. This issue relates to behaviour of the Python garbage collector and when Python objects are destroyed. At this point in time we believe this only affects users of pypy and does not affect users of CPython as the reference counting model of CPython usually gives more deterministic behaviour around when Python objects are destroyed. We don&apos;t however rule out that it could affect CPython and may explain a situation matching this problem we have seen in a couple of cases where users were using uWSGI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When attempting to use Tornado as a worker for gunicorn, an exception could occur on startup which would result in gunicorn failing immediately and exiting. In order to use this combination it was previously necessary to disable the gunicorn specific instrumentation related to WSGI applications by adding to your agent configuration file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[import-hook:gunicorn.app.base] 
enabled = false
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you were using the Tornado worker with gunicorn and using this workaround, the underlying problem has now been addressed and you should be able to remove that section from your agent configuration file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The mechanism we used for applying function wrappers for instrumentation was not being performed in the most optimal way for methods of classes. This could result in problems, including unexpected runtime exceptions, especially when trying to apply instrumentation to class methods, or methods of an existing instance of a type.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 29 Sep 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.36.0.30]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzYuMC4zMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-236030</link><pubDate>Wed, 29 Oct 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent provides improvements to how we report agent configuration information. This enables us to better help you debug any issues you may experience with configuring the agent.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuration Information&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agent configuration information displayed in the New Relic UI will now reflect the final configuration used by the agent for an application. This includes the result of any server side configuration settings, which are applied on top of the agent defaults, agent configuration file or environment variables. Previously, the result of applying the server side configuration settings was not being displayed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;If running a system with a Linux 3.X kernel, the agent could fail when attempting to register with our data collector. No data would subsequently be collected or reported. This would occur for versions of Python 2 prior to Python 2.7.3 and versions of Python 3 prior to Python 3.3, if they were built on a system with a Linux 3.X kernel.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 29 Oct 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.38.0.31]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzguMC4zMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-238031</link><pubDate>Wed, 12 Nov 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for the mapping features of Cross Application Tracing, which provide a visualization of how requests flow through multiple applications within a distributed system.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cross Application Tracing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Cross Application Tracing feature is now enhanced with the aggregate &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/features/viewing-transaction-map&quot;&gt;transaction map&lt;/a&gt; visualizations. This new visualization will help users spot bottlenecks in external services and give them an end-to-end understanding of what other applications and services are called within a transaction. All agents involved in the cross application communication must be upgraded to see the complete graph.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 3.x Instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The newly refactored Tornado instrumentation is turned on by default. This was introduced in the python agent version 2.32.0.28 under an optional feature flag. This change improves upon the stability of our Tornado instrumentation and accounts for the incremental changes introduced to the Tornado 3.x source tree. It also provides a more granular view of where the time is spent in a WebTransaction, by distinguishing the time spent doing work vs time spent waiting on a asynchronous call.&lt;/p&gt;
&lt;p&gt;Please be advised that we currently do not have instrumentation for Tornado 4.x, but we are working to add support for it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Capacity Analysis for mod_wsgi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://docs.newrelic.com/docs/apm/reports/other-performance-analysis/capacity-analysis-report&quot;&gt;capacity analysis&lt;/a&gt; report shows how many instances of your web application is running and how busy they are. For a web application, the measure of how busy the application is, is calculated by looking at how much of the time the total available set of request handler threads are busy.&lt;/p&gt;
&lt;p&gt;For the case of using Apache/mod_wsgi in daemon mode, the measure of how busy your application is, has been getting over reported due to the nature of how threads are managed by mod_wsgi. If you are using mod_wsgi version 4.1.0 or higher, this measure will now be more accurately reported as it will use information provided by mod_wsgi about the total number of request handler threads which are available, rather than trying to calculate it based on what threads have been seen to be handling requests.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In version 2.28.0.26 and 2.32.0.28 of the agent, we added new features to track template includes and inclusion tags when using the Django template rendering system. We have had a few reports that indicate that for some users, but not everyone, that the instrumentation implementing these features may be causing an ongoing growth in memory usage for the web application processes over time. Right now, we don&apos;t understand the root cause for why this might be occurring in some instances, so to be on the safe side we have disabled these two features while we investigate further.&lt;/p&gt;
&lt;p&gt;The consequence of these features being disabled is that the web transaction performance breakdown and sample transaction traces will no longer show as a separate metric or entry where one template has been included in another. Further, if the tracking of special inclusion tags had been configured, they will also no longer be shown. We anticipate re-enabling the features once we have worked out what is occurring and made changes to ensure it does not occur again.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 12 Nov 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.38.2.33]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuMzguMi4zMw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-238233</link><pubDate>Tue, 25 Nov 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent fixes a memory leak which affects our Tornado instrumentation, and which was a factor in the recent issues we had with the Django template instrumentation.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;strong&gt;easy_install/pip/distribute&lt;/strong&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Due to an issue with the low level function wrappers we use to instrument third party Python modules, memory was being leaked and process memory usage could increase over time. This issue affects version 2.32.0 through 2.38.0 of the Python agent and has been impacting on our Tornado instrumentation.&lt;/p&gt;
&lt;p&gt;The memory leak has also been identified as the root cause for memory leaks in our Django template instrumentation, affecting versions 2.32.0.28 through 2.36.0.30. The Django template instrumentation was disabled in the prior 2.38.0.31 release while we investigated the cause. It remains disabled by default.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 25 Nov 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.40.0.34]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNDAuMC4zNA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-240034</link><pubDate>Wed, 03 Dec 2014 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent enables the collection of transaction traces for synthetic requests by default, and adds the individual trip trace visualization for Cross Application Tracing.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cross Application Tracing for individual transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Version 2.38.0.31 of the Python agent introduced aggregated transaction maps. In this release, we have built on that feature to add the ability to view an end-to-end visualization of an individual transaction, in order to better understand what backend applications and external services were called during the course of a single transaction.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Synthetic support enabled by default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the Python agent added support for the &lt;a href=&quot;https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/using-monitors/collecting-synthetic-transaction-traces&quot;&gt;collection of transaction traces for synthetics requests&lt;/a&gt; in version 2.32.0.28, the feature had to be explicitly enabled in the agent configuration file. With this release, support for synthetics is enabled by default.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Non ASCII characters in transaction names&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a transaction name contained a Unicode character outside of the ASCII range, the generation of the cross application tracing attributes would result in a UnicodeEncodeError. This bug affected versions 2.38.0.31 through 2.38.2.33. The issue is fixed in the current release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Parsing SQL statements referencing the database schema&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, SQL statements that referenced a table from a database schema namespace, such as “schema.table_name”, would not always be parsed correctly, resulting in the table being identified as just “schema”. The agent now handles this case correctly, and the table is reported as “schema.table_name”.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Additional support for Tornado 1.X&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If Tornado 1.X was being used, the instrumentation would fail at run time causing all web requests to fail. Monitoring of Tornado 1.X applications should now work correctly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 03 Dec 2014 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.42.0.35]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNDIuMC4zNQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-242035</link><pubDate>Sun, 18 Jan 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes bug fixes for issues with agent registration and use of proxies which could result in no data being reported.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent not recovering when errors occur during registration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If the agent initially registered with our data collector successfully, but subsequently failed to upload agent setting information due to a transient backend or network issue, the agent was not recovering from the error properly. The consequence of this was that the agent would not completely start up and no data would be collected or reported by that process. The operation of the web application as a whole would not have been affected. This issue, which was introduced in version 2.36.0.30 of the agent, is now fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent not able to connect via some proxy servers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent was not able to connect to our data collector to register when certain proxy server installations or configurations were being used. We have updated the version of the internal HTTP client library used to resolve the issue.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Identification of Python web server being used&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent was incorrectly reporting the Python web server being used as Tornado when both the &apos;gunicorn&apos; and &apos;tornado&apos; Python modules were being imported, even if the Tornado web server module wasn&apos;t actually being used. This did not affect the operation of the agent but could lead to confusion when trying to debug deployment issues.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Sun, 18 Jan 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.4.0.4]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNC4wLjQ=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2404</link><pubDate>Wed, 16 Oct 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a bug fix release primarily to address a number of issues introduced in version 2.2.0.2 which have effected a small number of users.&lt;/p&gt;
&lt;p&gt;This version of the agent is also the minimum recommended agent version required to be able to see percentiles and histogram charts. All reporting hosts for an application must be upgraded to the minimum agent version for the feature to be visible.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directory from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed issues with instrumentation wrappers which caused failure of WSGI application integration for FASTCGI/SCGI/AJP using flup.&lt;/li&gt;
&lt;li&gt;Fixed issues with instrumentation wrappers which caused failure of wrappers for external web service calls in certain uses cases.&lt;/li&gt;
&lt;li&gt;Fixes issues with instrumentation wrappers which caused failure when queuing Celery tasks from within a web application using django-celery.&lt;/li&gt;
&lt;li&gt;When using the ErrorTrace context manager to capture details of exceptions within a certain context, None can now be passed for the transaction and an assertion failure will not be raised. This avoids the need to check explicitly to see if a web request is being monitored and avoid using ErrorTrace where there isn&apos;t.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 16 Oct 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.44.0.36]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNDQuMC4zNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-244036</link><pubDate>Wed, 11 Feb 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent includes a major update to how we capture and represent metrics for both SQL databases and NoSQL datastores. Metrics for both types of products will now be displayed in a unified &quot;Databases&quot; tab in the APM UI, and these metrics will also be associated with the specific product being used. In addition, we have enabled support for having key transactions on other transactions, such as background tasks.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Unified view for SQL database and NoSQL datastore products.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The response time charts in the application overview page will now include NoSQL datastores such as Memcached, Redis and MongoDB and also the product name of existing SQL databases such as MySQL, Postgres, Oracle etc.&lt;/p&gt;
&lt;p&gt;We also introduced a new &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/monitoring/database-slow-query-dashboard&quot;&gt;unified view&lt;/a&gt; within the APM UI for visualizing time spent in queries made against SQL databases and NoSQL datastore products.&lt;/p&gt;
&lt;p&gt;For existing SQL databases, in addition to the existing breakdown of SQL statements and operations, the queries are now also associated with the database product being used.&lt;/p&gt;
&lt;p&gt;For NoSQL datastores such as Memcached, Redis and MongoDB, we have now added information about operations performed against those products, similar to what is being done for SQL databases.&lt;/p&gt;
&lt;p&gt;Because this introduces a notable change to how SQL database metrics are collected, it is important that you upgrade the Python agent version on all hosts. If you are unable to transition to the latest agent version on all hosts at the same time, you can still access old and new metric data for SQL databases, but the information will be split across two separate views.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Key transactions for other transactions.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In addition to being able to create key transactions for web transactions, it is now possible to create &lt;a href=&quot;https://docs.newrelic.com/docs/apm/selected-transactions/key-transactions/key-transactions-tracking-important-transactions-or-events&quot;&gt;key transactions&lt;/a&gt; for other transactions, such as background tasks executed by Celery.&lt;/p&gt;
&lt;p&gt;Key transactions enable the setting of a per transaction Apdex and alerts, as well as the ability to run &lt;a href=&quot;https://docs.newrelic.com/docs/apm/selected-transactions/x-ray-sessions/x-ray-sessions-traces-thread-profiles-key-transactions&quot;&gt;X-Ray sessions&lt;/a&gt;, including transaction specific thread profiling.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;No SQL datastore instrumentation.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To complement our new unified view for SQL database and NoSQL datastore products in the APM UI, we have upgraded our existing instrumentation for Redis and MongoDB. Previously, these only provided a function breakdown in transaction summaries and sample transaction traces, but now they will report into the unified view for database and datastore products under their respective product categories.&lt;/p&gt;
&lt;p&gt;Existing instrumentation for Memcached clients have similarly been updated, as well as new support for the &lt;code&gt;pymemcache&lt;/code&gt; module being added.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 11 Feb 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.46.0.37]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNDYuMC4zNw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-246037</link><pubDate>Wed, 04 Mar 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a minor bug fix release, including changes which may help to reduce the incidence of spurious warnings about being able to communicate with our service.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bugs Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved management of the network connection to our service&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the agent registered itself with our data collector, it wasn&apos;t closing the socket connection immediately and instead it was holding it open for up to a minute when the first batch of data would be reported. If the socket connection was being closed remotely during that time, a &lt;code&gt;BadStatusLine&lt;/code&gt; exception would be seen in the logs when the attempt was made to upload data.&lt;/li&gt;
&lt;li&gt;When the agent received an internal restart request from our data collector as the result of a server side configuration change, the socket connection wasn&apos;t being closed explicitly. In the case of CPython it would still be cleaned up and closed immediately due to reference counting, but under PyPy when it was closed was dependent on when PyPy garbage collection occurred. This could mean that the socket descriptor could stay in use for a while.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Compatibility modules for transitioning from Python 2 to Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When compatibility modules for Python 2/3 migration such as &lt;code&gt;pies2overrides&lt;/code&gt; and &lt;code&gt;future&lt;/code&gt; were installed in a Python 2 installation, they were installing modules which mimic modules which would normally only ever exist in a Python 3 installation. The presence of these modules were confusing the agent&apos;s instrumentation mechanisms. The result of this was that use of &lt;code&gt;http.client&lt;/code&gt; from Python 3 in a Python 2 application would fail.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Failures when making calls to external web services&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If a HTTP client module was supplied &lt;code&gt;None&lt;/code&gt; as the value for the URL being requested, this would cause an exception when the agent was recording the data for that transaction.&lt;/li&gt;
&lt;li&gt;Use of the &lt;code&gt;ExternalTrace&lt;/code&gt; context manager class directly, for recording external web services calls, would fail if there was no active transaction. This could occur in the time before the agent has successfully been able to register with our data collector.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Setting of response content length when using Django&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Django middleware installed by the agent to perform insertion of RUM monitoring code into responses, would always set the &lt;code&gt;Content-Length&lt;/code&gt; even if it was not previously set. This could cause issues where a frontend had been set up with an expectation that &lt;code&gt;Content-Length&lt;/code&gt; headers would never exist.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 04 Mar 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.48.0.38]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNDguMC4zOA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-248038</link><pubDate>Wed, 25 Mar 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for Elasticsearch as a new datastore product and a more granular breakdown of various SQL operations in the “Databases” tab in the APM UI. In addition, the stack traces captured by the agent are now being trimmed to remove any code snippets.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved SQL Breakdown&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This agent release adds the ability to see the breakdown of time spent in SQL statements such as CREATE, DROP, ALTER, SET, CALL, EXEC, EXECUTE, COMMIT and ROLLBACK. Execution of stored procedures through the callproc() or CALL statements will provide further breakdown based on the name of the stored procedure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Elasticsearch Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation support for the official Elasticsearch client module and the separate pyelasticsearch module have been added. Time spent in calls made to Elasticsearch will be listed in both the main overview chart, as well as in the Databases tab in the UI. Previously, calls to Elasticsearch would have been shown as time spent in external web service calls.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove code snippets in stack traces&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Stack traces captured for errors and slow SQL queries will no longer include code snippets. This change is to prevent the possibility of capturing sensitive data embedded within the code. It reduces the overhead in capturing stack trace information, and also avoids a potential problem caused when the code on disk has changed in the time since the process was started.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugs Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that messages sent to the data collector containing parts which were already compressed and encoded, were not being compressed a second time at the HTTP request level causing additional overhead.&lt;/li&gt;
&lt;li&gt;Guard against a potential agent error where an invalid URL was being passed to an instrumented external web service client.&lt;/li&gt;
&lt;li&gt;Motor (an asynchronous MongoDB library) incorrectly returns a non string object when the agent tries to access the &lt;code&gt;__name__&lt;/code&gt; attribute on Motor objects. This caused the agent to fail when calculating the name for an object, since we rely on this value being a string as specified by the Python object model definition. The agent now overrides the incorrect behavior of Motor to ensure that we can still generate names of objects correctly.&lt;/li&gt;
&lt;li&gt;When using Python 3 and audit logging was enabled, if messages being sent to our data collector were large enough that they were being compressed at the HTTP request level, the audit logging code would fail due to a bytes/Unicode mismatch.&lt;/li&gt;
&lt;li&gt;Instrumentation for the decr() method of umemcache client for Memcached was incorrectly calling the stats() method.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 25 Mar 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.50.0.39]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTAuMC4zOQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-250039</link><pubDate>Mon, 06 Apr 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for Django 1.8.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Support for Django 1.8.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features Changed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The list of modules loaded by the application will no longer include version numbers. In certain cases, attempting to determine the version numbers of packages can potentially generate excessive CPU overhead, so it has been preemptively disabled to prevent any such occurrence.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugs Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When using the psycopg2 Postgres database adapter, if the &lt;code&gt;pscyopg2.extras.register_json()&lt;/code&gt; function was used, then instrumentation for the psycopg2 module would fail. Now, &lt;code&gt;register_json()&lt;/code&gt; is instrumented correctly.&lt;/li&gt;
&lt;li&gt;If a Django class based view was registered as the view handler in &lt;strong&gt;urls.py&lt;/strong&gt;, the transaction was named after the class name, and not the method of the class based view which handled the request. Now, the transaction is named after the method.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 06 Apr 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.52.0.40]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTIuMC40MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-252040</link><pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds the ability to customize the hostname displayed in the APM UI, as well as updating the solrpy and pysolr instrumentation so that Solr metrics will now appear in the Databases tab in the UI.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Customize hostname displayed in APM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A new configuration setting has been added: &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/installation-configuration/python-agent-configuration#process_host-display_name&quot;&gt;&lt;code&gt;process_host.display_name&lt;/code&gt;&lt;/a&gt;. When set in the &lt;code&gt;newrelic.ini&lt;/code&gt; configuration file, the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/add-rename-remove-hosts#display_name&quot;&gt;display name will be used in the APM UI&lt;/a&gt;, in place of the hostname that the agent automatically captures. In addition, the display name can be set using the &lt;code&gt;NEW_RELIC_PROCESS_HOST_DISPLAY_NAME&lt;/code&gt; environment variable.&lt;/p&gt;
&lt;h3&gt;Features Changed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update solrpy and pysolr instrumention&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Previously, solrpy and pysolr instrumentation reported metrics in the &lt;code&gt;Solr&lt;/code&gt; namespace. Now, to align them with our recent changes to SQL and NoSQL instrumentation, solrpy and pysolr have been updated to report metrics in the &lt;code&gt;Datastore&lt;/code&gt; namespace, which means that time spent in calls to Solr will be listed in both the main overview chart, as well as in the Databases tab in the UI.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 11 Jun 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.54.0.41]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTQuMC40MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-254041</link><pubDate>Wed, 29 Jul 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds the ability to strip exception messages from error traces, in order to prevent the inadvertent capture of sensitive information.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Allowing Exception Messages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because an exception message can contain sensitive information, the agent now provides the ability to strip exception messages before sending error traces to APM. Exception messages will be stripped automatically in &lt;a href=&quot;https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security&quot;&gt;high-security mode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For exception messages you know to be safe, you can add them to an allow list so that those messages are passed unaltered to APM. Two new configuration settings control this feature: &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/installation-configuration/python-agent-configuration#strip_exception_messages_enabled&quot;&gt;&lt;code&gt;strip_exception_messages.enabled&lt;/code&gt;&lt;/a&gt; and &lt;code&gt;strip_exception_messages.whitelist&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;capture_request_params&lt;/code&gt; API disabled for high-security mode&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When operating in high-security mode, the agent should not capture query string parameters. However, prior to this release, it was possible to call &lt;code&gt;newrelic.agent.capture_request_params(flag=True)&lt;/code&gt;, even if the agent was in high-security mode, and the agent would capture and report query string parameters. Now, the &lt;code&gt;capture_request_params&lt;/code&gt; API call does not override the &lt;code&gt;capture_params&lt;/code&gt; setting when the agent is in high-security mode, so query parameters are not captured.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 29 Jul 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.58.0.43]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTguMC40Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-258043</link><pubDate>Mon, 16 Nov 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent reports error events to Insights and captures enhanced error data to support the new Advanced Error Analytics feature in APM.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Error Events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Python agent now sends &lt;a href=&quot;https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights&quot;&gt;TransactionError&lt;/a&gt; events for Advanced Error Analytics, which power the new APM Errors functionality (currently in Beta). This allows users to create charts that facet and filter their error data by attributes, as well as explore their error events in Insights. For details, see the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/events/view-apm-errors-error-traces&quot;&gt;APM Errors documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Changed Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Additional Attributes collected&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The agent now collects &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/python-agent-attributes#attributes&quot;&gt;additional attributes&lt;/a&gt; for web transactions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP request headers: &lt;code&gt;Host&lt;/code&gt; and &lt;code&gt;Accept&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;HTTP response header :&lt;code&gt;Content-Length&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improved unicode support for exception messages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unicode exception messages will still be preserved, even if &lt;code&gt;sys.setdefaultencoding()&lt;/code&gt; has been called to change the default encoding.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 16 Nov 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.56.0.42]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTYuMC40Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-256042</link><pubDate>Wed, 30 Sep 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds much more flexibility around what attributes are sent to New Relic, and where they are displayed.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Flexible capturing of attributes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Attributes are key-value pairs that contain additional information to be added to an event or transaction. These key-value pairs can be viewed within transaction traces in New Relic APM, traced errors in New Relic APM, transaction events in Insights, and page views in Insights.&lt;/p&gt;
&lt;p&gt;A number of new configuration settings have been introduced to allow you to customize exactly which attributes will be sent to each of these destinations.&lt;/p&gt;
&lt;p&gt;For details, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/python-agent-attributes&quot;&gt;Python agent attributes&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Deprecated Settings&lt;/h3&gt;
&lt;p&gt;Several configuration settings have been deprecated. The most commonly used of the deprecated settings are &lt;code&gt;capture_params&lt;/code&gt; and &lt;code&gt;ignored_params&lt;/code&gt;. It is still possible to achieve the same functionality as the old settings by using the new &lt;code&gt;attributes.include&lt;/code&gt; and &lt;code&gt;attributes.exclude&lt;/code&gt; settings. For examples, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/python-attribute-examples#ex_req_params&quot;&gt;Python agent attribute examples&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A complete list of deprecated settings can be found in &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/enabling-disabling-attributes-python#deprecated&quot;&gt;deprecated configuration settings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While the usage of deprecated settings is still supported, we recommend upgrading your configuration to use the new settings as soon as possible.&lt;/p&gt;
&lt;h3&gt;Changed Feature&lt;/h3&gt;
&lt;p&gt;Previously, it was possible to save a list, dict, or tuple as an attribute value that could be displayed in transaction and error traces. However, these same attributes could not be displayed in Insights events. Now, all attributes are handled in a consistent manner, which means that all attribute values must be one of the following types:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Python 2: str, unicode, int, long, float, bool
Python 3: str, bytes, int, float, bool
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All values which are not one of these types are automatically converted by calling &lt;code&gt;str(value)&lt;/code&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 30 Sep 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.58.1.44]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTguMS40NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-258144</link><pubDate>Tue, 17 Nov 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hotfix release to address a problem where the package failed to install under certain circumstances.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;README.rst&lt;/code&gt; file contained non-ASCII characters, which could result in a &lt;code&gt;UnicodeDecodeError&lt;/code&gt; during installation. Those characters have been removed.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 17 Nov 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.60.0.46]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNjAuMC40Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-260046</link><pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent enables the ability to add Custom Insights Events through a new &lt;code&gt;record_custom_event()&lt;/code&gt; API.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Custom Events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prior to this release, the Python agent had the capability to record two types of Insights events automatically: &lt;code&gt;Transaction&lt;/code&gt; and &lt;code&gt;TransactionError&lt;/code&gt; events. In addition, custom attributes could be added to those events. Now, with the addition of the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/customization-extension/python-transaction-api#record_custom_event&quot;&gt;&lt;code&gt;record_custom_event()&lt;/code&gt;&lt;/a&gt; API, it is possible to define your own custom event types, enabling greater flexibility about what types of events you can view and query in Insights.&lt;/p&gt;
&lt;p&gt;For details, see the Insights documentation on &lt;a href=&quot;https://docs.newrelic.com/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents&quot;&gt;Inserting Custom Events&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Changed Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Attributes renamed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two attributes have been renamed, in order to be consistent with the naming convention of other New Relic agents. The affected attributes are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;response.headers.contentLength&lt;/code&gt; (was &lt;code&gt;response.contentLength&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;response.headers.contentType&lt;/code&gt; (was &lt;code&gt;response.contentType&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 14 Dec 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.58.2.45]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNTguMi40NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-258245</link><pubDate>Wed, 25 Nov 2015 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hotfix release to address a problem where the agent could fail to validate the SSL certificate of the New Relic collector in some environments.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;p&gt;If the Python agent was used in an environment where the &lt;code&gt;certifi&lt;/code&gt; package was installed, the Python agent would use the &lt;code&gt;certifi&lt;/code&gt; CA certificates bundle to validate the certificate of the New Relic collector. However, the latest release of &lt;code&gt;certifi&lt;/code&gt; (November 20, 2015) removed some older CA certificates with 1024-bit keys.&lt;/p&gt;
&lt;p&gt;The SSL certificate for the New Relic collector is cross-signed with both a 1024-bit certificate and a 2048-bit certificate, but in some circumstances, the stronger root certificate was not used for validation. When the 1024-bit certificate was no longer included in the &lt;code&gt;certifi&lt;/code&gt; bundle, SSL validation would fail. Affected customers would see warnings in their agent log stating &quot;Data collector is not contactable&quot; due to an &lt;code&gt;SSLError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To address this issue, the agent no longer uses the &lt;code&gt;certifi&lt;/code&gt; CA certificates bundle, nor the certificates bundled with &lt;code&gt;requests&lt;/code&gt;. Instead, it only uses the CA bundle included with the agent to validate the New Relic collector certificate.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 25 Nov 2015 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.6.0.5]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNi4wLjU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2605</link><pubDate>Sat, 02 Nov 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent contains support for web applications and worker processes using &apos;gearman&apos; for background task execution. The agent also switches to using the &apos;json&apos; package from the standard library instead of a separate &apos;simplejson&apos; package. This should result in potential reductions in base level memory usage by the agent and a reduction of CPU overhead for some environments.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation now provided for the &lt;a href=&quot;https://pypi.python.org/pypi/gearman/&quot;&gt;gearman&lt;/a&gt; package. The support covers use of both the gearman client and worker interfaces. In the case of workers, each task executed by the worker will be recorded as a background task and be displayed as such in the New Relic UI.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;ignore_errors&lt;/code&gt; argument to &lt;code&gt;newrelic.agent.record_exception()&lt;/code&gt; can now be a callable in addition to being able to pass a sequence. When it is a callable, the callback will be called with the three arguments &lt;code&gt;exc&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt; and &lt;code&gt;tb&lt;/code&gt;, being the same values as returned by &lt;code&gt;sys.exc_info()&lt;/code&gt;. The callback should return &lt;code&gt;True&lt;/code&gt; if the exception is to be ignored. &lt;code&gt;False&lt;/code&gt; if the exception should never be ignored regardless of any other checks, and &lt;code&gt;None&lt;/code&gt; if subsequent checks and inbuilt rules should determine if the exception should be ignored. A callback would normally return either &lt;code&gt;True&lt;/code&gt; or &lt;code&gt;None&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The bundled &apos;simplejson&apos; package has now been removed and is no longer used. This was previously used due to the requirement to support Python 2.5, for which support was removed in version 2.0.0 of the agent. Instead of simplejson, the &apos;json&apos; package contained in the Python standard library is now used instead. This should see the base level memory usage of the agent drop as a result. Further, in environments where a C compiler was not available and the C extension modules could not be compiled, there should now be a minimal reduction in the CPU overhead when the agent is uploading data to our backend. This is because the optimised C extension in the json package will always be available as part of the Python standard library and will always be able to be used.&lt;/li&gt;
&lt;li&gt;If a WSGI application was returning an iterable such as a generator, and an exception was raised when a specific part of the response content was yielded from the generator, the details of the exceptions were not being recorded.&lt;/li&gt;
&lt;li&gt;In a multithreaded web application where deferred module imports were being performed in secondary threads, agent registration could fail the first time due to concurrent changes made by the secondary threads to &lt;code&gt;sys.modules&lt;/code&gt;. Registration would succeed on a subsequent attempt. This bug was only occurring in Python 2 and was introduced in version 2.0.0 of the agent when Python 3 support was added.&lt;/li&gt;
&lt;li&gt;Custom parameters which were explicitly supplied to &lt;code&gt;newrelic.agent.record_exception()&lt;/code&gt; were being ignored and were not appearing in the error details page in the UI. Instead, only custom parameters added using &lt;code&gt;newrelic.agent.add_custom_parameters()&lt;/code&gt; against the web transaction or background task itself were being shown. This bug was introduced in version 1.13.0 of the agent when support for cross application tracing was added.&lt;/li&gt;
&lt;li&gt;The port number used in the URL for a web external call, was not being retained when the URL was added as a parameter against the web external node for transaction traces. The port would therefore not be displayed when drilling down into the details of a web external node in a transaction trace.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;newrelic-admin validate-config&lt;/code&gt; command will now work for enterprise high-security mode accounts, provided of course that no setting is otherwise specified in the agent configuration file which is in conflict with that mode. That is, features such as SSL would still need to be enabled by the &lt;code&gt;ssl&lt;/code&gt; setting and the &lt;code&gt;capture_params&lt;/code&gt; setting indicating whether URL query string parameters should be captured, also set to &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;When using CherryPy, in addition to the explicit exception type &apos;NotFound&apos; being ignored as an error, raising of a &apos;HTTPError&apos; exception where the status is 404 will also be ignored. Similarly, instances of the &apos;HTTPError&apos; exception will be ignored as an error when they are for a HTTP error in the 30X range.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Sat, 02 Nov 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.64.0.48]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNjQuMC40OA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-264048</link><pubDate>Wed, 20 Apr 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a bug fix release which improves our introductory support for instrumenting Tornado 4 applications. Full details about the status of our Tornado 4 support can be found on our &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/hosting-mechanisms/introductory-tornado-4-support&quot;&gt;Introductory Tornado 4 support&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New attributes captured for Tornado 4 applications&lt;/p&gt;
&lt;p&gt;The following attributes are now captured for requests made to Tornado 4 applications:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;request.headers.accept&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;request.headers.host&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;port&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Potentially too many metrics created for &lt;code&gt;tornado.httpclient&lt;/code&gt; function traces&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;tornado.httpclient&lt;/code&gt; instrumentation for Tornado 4 applications could cause a &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues&quot;&gt;&quot;metric grouping issue&quot;&lt;/a&gt; in the function traces it created, if it was used to make requests to a large number of unique URLs. To address this issue, the URL is no longer included in the name of the function trace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Transactions in Tornado 4 applications could be created with invalid agent settings&lt;/p&gt;
&lt;p&gt;In the prior release, if a transaction started before the agent had completed registration with the collector, the transaction could have invalid settings, which would result in various errors in the agent log, including an &lt;code&gt;AttributeError&lt;/code&gt; when an external call was made during the transaction. These errors only happened at application startup until registration was complete. With this release, transactions cannot start with invalid settings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;httplib2&lt;/code&gt; instrumentation did not process the cross application tracing headers in the response&lt;/p&gt;
&lt;p&gt;Failing to process the response headers resulted in the inability to &lt;a href=&quot;https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/viewing-cross-application-traces&quot;&gt;link to cross application tracing details in the Transaction Trace Details view&lt;/a&gt;, as well as missing &lt;code&gt;ExternalTransaction&lt;/code&gt; and &lt;code&gt;ExternalApp&lt;/code&gt; metrics. Now, the &lt;code&gt;httplib2&lt;/code&gt; instrumentation in the agent processes the cross application tracing headers correctly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Known Tornado 4 Limitations Addressed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Explain plans for queries made with psycopg2&apos;s &quot;async mode&quot; are disabled automatically&lt;/p&gt;
&lt;p&gt;Currently, the Python agent does not support explain plans for queries made in psycopg2&apos;s &quot;async mode.&quot; In the prior release, it was necessary to add the configuration setting &lt;code&gt;transaction_tracer.explain_enabled = false&lt;/code&gt; to disable explain plans, or else errors would occur during data harvest, potentially causing loss of data. With this release, the agent disables explain plans automatically when async mode is detected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added support for synthetics transaction traces&lt;/p&gt;
&lt;p&gt;Tornado 4 applications will now recognize incoming requests from synthetics and &lt;a href=&quot;https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/using-monitors/collect-synthetic-transaction-traces&quot;&gt;generate transaction traces for Synthetic requests&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Status of Tornado 4 Support&lt;/h3&gt;
&lt;p&gt;A current list of known limitations can be found on our &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/hosting-mechanisms/introductory-tornado-4-support#h2-Known-limitations&quot;&gt;Introductory Tornado 4 support&lt;/a&gt; page. No new known limitations have been added since our introductory release (v2.62.0.47). In the next few releases, we plan to continue addressing these issues.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 20 Apr 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.62.0.47]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNjIuMC40Nw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-262047</link><pubDate>Wed, 30 Mar 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds introductory support for instrumenting Tornado 4 applications.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Introductory Support for Tornado 4. (See below for details.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Django Template Tags for Browser Monitoring Fixed for Django 1.9&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For manual insertion of the browser monitoring javascript for page load timing, the Python agent offers two Django template tags: &lt;code&gt;newrelic_browser_timing_header&lt;/code&gt; and &lt;code&gt;newrelic_browser_timing_footer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Starting in &lt;a href=&quot;https://docs.djangoproject.com/en/1.9/releases/1.9/#simple-tag-now-wraps-tag-output-in-conditional-escape&quot;&gt;Django version 1.9&lt;/a&gt;, the output of &lt;code&gt;simple_tag&lt;/code&gt; is now escaped, which results in the browser monitoring javascript being included as escaped text in the HTML output. To fix this issue, the agent now uses &lt;code&gt;django.utils.safestring:mark_safe()&lt;/code&gt; to prevent automatic escaping for these two template tags.&lt;/p&gt;
&lt;h3&gt;Introductory Support for Tornado 4&lt;/h3&gt;
&lt;p&gt;New Relic is pleased to announce introductory support for Tornado 4. While not all features are supported at this point, providing it at an early stage allows interested customers to preview our Tornado 4 support, and provide feedback on what works well and what doesn&apos;t.&lt;/p&gt;
&lt;div&gt;&lt;p&gt;We strongly advise running the introductory Tornado 4 instrumentation in a testing or staging environment before considering using it in a production environment.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;For detailed information about the introductory Tornado 4 support, including Supported Features, Design Decisions, and Known Limitations, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/hosting-mechanisms/introductory-tornado-4-support&quot;&gt;Introductory Tornado 4 support&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Status of Tornado 4 Support&lt;/h3&gt;
&lt;p&gt;The following is a list of known limitations for our Tornado 4 support as it exists in the current version of the agent. In the next few releases, we plan to address these issues.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If you use &lt;code&gt;psycopg2&lt;/code&gt; in aynchronous mode, you must disable explain plans in the Python agent, or else the agent will throw an error when it attempts to run an explain plan query. Add this setting to your &lt;code&gt;newrelic.ini&lt;/code&gt; configuration file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;transaction_tracer.explain_enabled = false
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Metric names should be more consistent. For a method of a class, the metric name should contain both the name of the class and the method, but sometimes, the metric name will be missing the class name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The nesting of segments in a Transaction Trace should be improved. Right now, transaction traces give a good indication of the order that callbacks run on the IOLoop, but they do not group together callbacks that belong to the same coroutine, nor do they show how callbacks relate to each other.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Transaction Traces mislabel time spent in &quot;Application code&quot;. Because the Tornado 4 instrumentation traces all callbacks that run on the IOLoop, nearly everything that happens in a transaction is recorded. Very little is uninstrumented &quot;Application code&quot;. When you see &quot;Application code&quot; time in a transaction trace, that usually means that the IOLoop was either busy running callbacks belonging to another transaction, or was waiting and not doing any work. This will be made clearer in a future release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the current version of the agent, the Total Time for a transaction will always equal the duration of the transaction. In future versions, we may begin measuring the time spent waiting for asynchronous External Traces and Datastore Traces to return results, which will increase the Total Time for a transaction, making it possible to have a Total Time greater than the duration of the transaction.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When using &lt;code&gt;tornado.httpclient&lt;/code&gt;, no Cross Application Tracing headers are added to the outgoing requests. (This is true for both &lt;code&gt;HTTPClient&lt;/code&gt; and &lt;code&gt;AsyncHTTPClient&lt;/code&gt;.) That means that the application that the &lt;code&gt;httpclient&lt;/code&gt; connects to will not show up in any of the following: trace maps, transaction maps, and service maps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Asynchronous External Traces only trace the initial HTTP connection. They do not trace the time for the response to come back.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you monitor your Tornado 4 application with synthetic monitoring, the Python agent will not capture transaction traces for synthetic checks, so you will be unable to connect your synthetic results to APM transaction traces.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Measuring thread utilization is disabled for Tornado applications.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exceptions thrown in &lt;code&gt;RequestHandler.initialize()&lt;/code&gt; are not recorded.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use of Tornado&apos;s built-in multi-process mode to start multiple processes and have them all share the same port is untested and unsupported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use of &lt;code&gt;tornado.wsgi.WSGIAdapter&lt;/code&gt; and &lt;code&gt;tornado.wsgi.WSGIContainer&lt;/code&gt; is untested and unsupported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use of &lt;code&gt;tornado.platform.asyncio&lt;/code&gt; to bridge between &lt;code&gt;asyncio&lt;/code&gt; and Tornado IOLoop is untested and unsupported. Currently, the agent only supports the use of the &lt;code&gt;tornado.ioloop.IOLoop&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use of the &lt;code&gt;async&lt;/code&gt; and &lt;code&gt;await&lt;/code&gt; keywords is untested and unsupported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integration with &lt;code&gt;Twisted&lt;/code&gt; is untested and unsupported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 30 Mar 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.66.0.49]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNjYuMC40OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-266049</link><pubDate>Thu, 26 May 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a bug fix release that addresses several outstanding issues. In addition, the agent&apos;s instrumentation for the Pyramid web framework was updated to handle changes introduced in version 1.7 of Pyramid.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent, see &lt;a href=&quot;https://docs.newrelic.com/docs/python/status-of-python-agent&quot;&gt;Status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for Pyramid 1.7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In version 1.7 of the Pyramid web framework, the &lt;code&gt;ViewDeriver&lt;/code&gt; class was removed and replaced with a custom view pipeline, composed with view derivers. This required a change to where the agent applied it&apos;s instrumentation, since we were previously instrumenting the &lt;code&gt;ViewDeriver&lt;/code&gt; class.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Gevent and Python 3.4+&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running the agent with &lt;code&gt;gevent&lt;/code&gt; in Python 3.4+, the agent would throw an &lt;code&gt;AttributeError&lt;/code&gt; when accessing the &lt;code&gt;_sleep&lt;/code&gt; attribute in the &lt;code&gt;threading&lt;/code&gt; module, which was removed in Python 3.4. The agent now handles this properly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Possible missing application exceptions in APM Error Analytics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the &lt;code&gt;record_exception()&lt;/code&gt; API, it is possible to record an exception against the application, but outside of a transaction. If there was a time window in which no transaction exceptions were recorded, but only application exceptions were recorded, then no exceptions would be displayed when viewing that time window in APM Error Analytics. With this release, application exceptions show up as expected, whether or not transaction exceptions were also recorded.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CherryPyWSGIServer and keyword arguments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the agent would fail to instrument &lt;code&gt;CherryPyWSGIServer&lt;/code&gt; correctly when it was initialized using keyword arguments. That is now handled correctly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Missing attributes in Transaction Events&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-260046&quot;&gt;version 2.60.0.46&lt;/a&gt; of the agent, two response header attributes were renamed, but they were not added to Transaction Events as they should have been.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;response.headers.contentLength&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;response.headers.contentType&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These attributes are now included in Transaction Events.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Changed Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Capture port for all HTTP requests to External Services&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prior to this release, the agent would capture the port for HTTP requests to external services for only some of the HTTP libraries that the agent instruments. Notably, the port was missing when using these libraries directly: &lt;code&gt;httplib&lt;/code&gt;, &lt;code&gt;httplib2&lt;/code&gt;, and &lt;code&gt;urllib3&lt;/code&gt;. The agent now captures the port for these libraries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 26 May 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.68.0.50]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNjguMC41MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-268050</link><pubDate>Tue, 19 Jul 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a bug fix release that addresses several recently reported issues.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;WebSocket requests could cause application errors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When an application is using &lt;a href=&quot;https://pypi.python.org/pypi/gevent-websocket/&quot;&gt;gevent-websocket&lt;/a&gt; to serve a mixture of WSGI and WebSocket endpoints, it is possible for WebSocket requests to interfere with the instrumentation of non-WebSocket requests, and cause application errors. While a &lt;a href=&quot;https://bitbucket.org/noppo/gevent-websocket/commits/0df192940acd288e8a8f6d2dd30329a3381c90f1&quot;&gt;fix&lt;/a&gt; for this has been added to the &apos;gevent-websocket` main branch, that fix has not been released to PyPI yet. To address the problem now, the Python agent explicitly ignores WebSocket requests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Disabling browser monitoring inadvertently disabled other features&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Disabling browser monitoring had the unintended effect of disabling certain other Response-related features of the agent. Specifically, the &lt;code&gt;response.status&lt;/code&gt; attribute was not recorded, and the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing&quot;&gt;Cross Application Tracing&lt;/a&gt; headers were not added to the HTTP headers of the outgoing response. With this release, those features now work when using the configuration setting of &lt;code&gt;browser.monitoring.enabled = False&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Calling a Celery task within another task could cause a RuntimeError&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent would throw a &lt;code&gt;RuntimeError(&apos;transaction already active&apos;)&lt;/code&gt; when instrumenting a Celery task that performed the following combination of actions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Utilized the agent API to end the transaction early (&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/customization-extension/python-transaction-api#end_of_transaction&quot;&gt;&lt;code&gt;end_of_transaction&lt;/code&gt;&lt;/a&gt;), or to ignore the transaction altogether (&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/customization-extension/python-transaction-api#ignore_transaction&quot;&gt;&lt;code&gt;ignore_transaction&lt;/code&gt;&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;After ending or ignoring the transaction, called another Celery task that would run synchronously.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This scenario, which most commonly occurs when taking advantage of &lt;a href=&quot;http://docs.celeryproject.org/en/latest/userguide/canvas.html&quot;&gt;Celery Workflows&lt;/a&gt; to compose multiple tasks together, will no longer result in a &lt;code&gt;RuntimeError&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 19 Jul 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.70.0.51]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzAuMC41MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-270051</link><pubDate>Tue, 06 Sep 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for the improved Django middleware introduced in Django v1.10, and also adds instrumentation for the &lt;code&gt;boto3&lt;/code&gt; and &lt;code&gt;awscli&lt;/code&gt; packages.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Django 1.10 Middleware Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As described in &lt;a href=&quot;https://github.com/django/deps/blob/master/final/0005-improved-middleware.rst&quot;&gt;Django Enhancement Proposal 5&lt;/a&gt; and in the &lt;a href=&quot;https://docs.djangoproject.com/en/1.10/topics/http/middleware/&quot;&gt;Django v1.10 middleware documentation&lt;/a&gt;, Django introduced a new style of middleware in version 1.10. Previously, Django allowed you to define certain methods on middleware classes: &lt;code&gt;process_request()&lt;/code&gt; methods would run before the view handler was invoked, and &lt;code&gt;process_response()&lt;/code&gt; methods would run after the response was generated. Accordingly, the Python agent would instrument these as separate, self-contained methods, and in the Transaction Trace Details view, they would be displayed at the same level as the view handler in the segments hierarchy.&lt;/p&gt;
&lt;p&gt;With the improved version in Django v1.10, the middleware classes form a &quot;chain&quot;, and each middleware calls the next middleware, until it reaches the end of the chain and calls the actual view. This means that new-style middleware acts as a wrapper, and each one is nested inside the previous one. As a result, in the Transaction Trace Details view, each middleware will be nested inside the previous one, and the actual view handler will be displayed nested inside the innermost middleware class. Furthermore, the duration of each middleware segment will include the duration of the middleware nested inside it.&lt;/p&gt;
&lt;p&gt;Because Django v1.10 is backwards-compatible with the old-style middleware, the agent also supports instrumenting old-style middleware in Django v1.10&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Boto3 and AWS CLI Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With this release, API calls to Amazon Web Services endpoints made with the &lt;code&gt;boto3&lt;/code&gt; and &lt;code&gt;awscli&lt;/code&gt; packages will be recorded as &lt;code&gt;External Traces&lt;/code&gt; and will be visible in the &lt;code&gt;External Services&lt;/code&gt; tab in APM. This is achieved by instrumenting the &lt;code&gt;botocore&lt;/code&gt; library, which both &lt;code&gt;boto3&lt;/code&gt; and &lt;code&gt;awscli&lt;/code&gt; utilize.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Proxy Scheme Output of &lt;code&gt;network-config&lt;/code&gt; Command&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prior to this release, the &lt;code&gt;newrelic-admin network-config&lt;/code&gt; command would output the incorrect proxy scheme. That is now fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Debug Console Works with Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;newrelic-admin debug-console&lt;/code&gt; is now compatible with Python 3.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 06 Sep 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.72.0.52]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzIuMC41Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-272052</link><pubDate>Tue, 18 Oct 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent adds support for reporting &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues&quot;&gt;datastore instance information&lt;/a&gt; for the &lt;code&gt;psycopg2&lt;/code&gt; Postgresql driver.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Feature&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datastore instance information for psycopg2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For queries made with the &lt;code&gt;psycopg2&lt;/code&gt; Postgresql driver, the Python agent will collect the host and port of the database server, as well as the database name. This data will be displayed in transaction traces and in slow query traces in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 18 Oct 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.72.1.53]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzIuMS41Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-272153</link><pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hotfix release to address a problem introduced in our last release (v2.72.0.52) where users of the &lt;code&gt;psycopg2&lt;/code&gt; Postgresql database adapter could see extra Datastore entries in the Breakdown Table on the Transactions page in APM.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove extra Datastore segments from the Transactions Breakdown Table&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Due to the extra Datastore segments in the Breakdown Table on the Transactions page in APM, the &quot;% Time&quot; column would add up to greater than 100%. This problem has now been fixed. Users of &lt;code&gt;psycopg2&lt;/code&gt; who are using v2.72.0.52 of the Python agent are encouraged to upgrade to this latest version.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 25 Oct 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.76.0.55]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzYuMC41NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-276055</link><pubDate>Wed, 14 Dec 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for reporting datastore instance information for the &lt;a href=&quot;https://pypi.python.org/pypi/python-memcached&quot;&gt;python-memcached&lt;/a&gt; library. It also addresses a couple of Python 3 issues related to naming metrics and transactions.&lt;/p&gt;
&lt;p&gt;Over the past few releases, support has been added to the agent for collecting datastore instance information for a number of drivers. See a &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues#python-compatibility&quot;&gt;complete list of supported packages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datastore instance information for python-memcached&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For most memcached operations made using the &lt;a href=&quot;https://pypi.python.org/pypi/python-memcached&quot;&gt;python-memcached&lt;/a&gt; package, the Python agent will collect the host and port of the memcached server, as well as the memcached database index number. This data will be displayed in transaction traces and in slow query traces in APM.&lt;/p&gt;
&lt;p&gt;Supported operations include: &lt;code&gt;add&lt;/code&gt;, &lt;code&gt;append&lt;/code&gt;, &lt;code&gt;cas&lt;/code&gt;, &lt;code&gt;decr&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;, &lt;code&gt;gets&lt;/code&gt;, &lt;code&gt;incr&lt;/code&gt;, &lt;code&gt;prepend&lt;/code&gt;, &lt;code&gt;replace&lt;/code&gt;, &lt;code&gt;set&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Currently, the Python agent does not collect instance information for operations that interact with multiple memcached instances. These include: &lt;code&gt;delete_multi&lt;/code&gt;, &lt;code&gt;flush_all&lt;/code&gt;, &lt;code&gt;get_multi&lt;/code&gt;, &lt;code&gt;get_slabs&lt;/code&gt;, &lt;code&gt;get_stats&lt;/code&gt;, &lt;code&gt;set_multi&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Names for subclass methods in Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, when using Python 3, if a method was defined on a base class, but was called as a method on an instance of a subclass, the agent would generate a metric name or transaction name for that method using the base class. It would also use the module name of the base class in the metric or transaction name.&lt;/p&gt;
&lt;p&gt;With this release, the metric name or transaction name will use the class name of the subclass, as well as the module name of the subclass. This is consistent with how the naming works for Python 2.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Names for Flask pluggable views in Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When monitoring Python 3 Flask applications, the agent would create metric and transaction names for Flask pluggable (or, class-based) views using the name of the &lt;code&gt;View.as_view()&lt;/code&gt; classmethod, making it impossible to distinguish between different views in APM. Now, the metric and transaction name uses the name that is passed into &lt;code&gt;View.as_view()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, a view defined as &lt;code&gt;view_func=ShowUsersView.as_view(&apos;show_users&apos;)&lt;/code&gt; would use &lt;code&gt;show_users&lt;/code&gt; as the view name. This is consistent with how the naming works for Python 2.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Redis client with custom connection pool&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a custom connection pool was used with the &lt;a href=&quot;https://pypi.python.org/pypi/redis&quot;&gt;redis&lt;/a&gt; client, the agent could throw an &lt;code&gt;AttributeError&lt;/code&gt; when attempting to gather datastore instance information. One library known to define a custom connection pool that encountered this issue is &lt;a href=&quot;https://pypi.python.org/pypi/rb&quot;&gt;Redis Blaster&lt;/a&gt;. With this release, the agent will no longer throw an error for custom connection pools. In addition, the agent will now be able to gather datastore instance information for some operations, even when using a custom connection pool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Developer Mode error message during &quot;fake&quot; harvest&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the configuration setting of &lt;code&gt;developer_mode = True&lt;/code&gt;, the agent does not transmit any data to New Relic. Instead, it performs a &quot;fake harvest&quot;. In some cases, it was possible for the agent to log an &lt;code&gt;AssertionError&lt;/code&gt; during the &quot;fake harvest&quot;, but this issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 14 Dec 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.74.0.54]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzQuMC41NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-274054</link><pubDate>Mon, 14 Nov 2016 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for reporting &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/python-instance-level-database-information&quot;&gt;datastore instance information&lt;/a&gt; for both the redis and MySQLdb drivers.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datastore instance information for redis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For redis operations made using the &lt;a href=&quot;https://pypi.python.org/pypi/redis&quot;&gt;redis-py&lt;/a&gt; package, the Python agent will collect the host and port of the redis server, as well as the redis database index number. This data will be displayed in transaction traces and in slow query traces in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datastore instance information for MySQLdb&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For queries made with the &lt;a href=&quot;https://pypi.python.org/pypi/MySQL-python/&quot;&gt;MySQLdb&lt;/a&gt; driver, the Python agent will collect the host and port of the database server, as well as the database name. This data will be displayed in transaction traces and in slow query traces in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 14 Nov 2016 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.78.0.57]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuNzguMC41Nw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-278057</link><pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for reporting datastore instance information for the &lt;a href=&quot;https://pypi.python.org/pypi/elasticsearch&quot;&gt;elasticsearch&lt;/a&gt; library.&lt;/p&gt;
&lt;p&gt;Over the past few releases, support has been added to the agent for collecting datastore instance information for a number of drivers. See a &lt;a href=&quot;https://docs.newrelic.com/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues#python-compatibility&quot;&gt;complete list of supported packages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datastore instance information for elasticsearch&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For operations made using the official &lt;a href=&quot;https://pypi.python.org/pypi/elasticsearch&quot;&gt;Elasticsearch client&lt;/a&gt;, the Python agent will collect the host and port of the elasticsearch server. This data will be displayed in transaction traces and in slow query traces in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fix&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cornice 2.3.0 TypeError&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the latest version of &lt;a href=&quot;https://pypi.python.org/pypi/cornice&quot;&gt;Cornice&lt;/a&gt;,the Python agent would raise a &lt;code&gt;TypeError&lt;/code&gt; exception due to not handling the changed signature of &lt;code&gt;cornice.Service.decorate_view()&lt;/code&gt;. Earlier versions of Cornice were not affected, and with this release, the Python agent no longer raises an error for version 2.3.0.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 04 Jan 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.80.0.60]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODAuMC42MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-280060</link><pubDate>Thu, 23 Feb 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent enhances our &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/hosting-mechanisms/introductory-tornado-4-support&quot;&gt;introductory support for Tornado 4&lt;/a&gt;, most notably by adding support for &lt;code&gt;tornado.curl_httpclient&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 4 curl_httpclient support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the agent&apos;s Tornado 4 instrumentation only supported the default &lt;code&gt;tornado.simple_httpclient&lt;/code&gt;. With this release, support has been added for &lt;code&gt;tornado.curl_httpclient&lt;/code&gt; as well.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 4 ZeroMQ IOLoop support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;ZMQIOLoop&lt;/code&gt; in place of the default Tornado &lt;code&gt;IOLoop&lt;/code&gt; is now supported for Tornado 4 applications.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved transaction names for Django REST Framework&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the Python agent with Django REST Framework and Python 3, function-based views wrapped with the &lt;code&gt;rest_framework.decorators.api_view&lt;/code&gt; decorator would result in transactions with names based on the decorator (&lt;code&gt;WrappedAPIView.handler&lt;/code&gt;) rather than names based on the original view function. (This did not affect applications running with Python 2.)&lt;/p&gt;
&lt;p&gt;With this release, the transaction names for these wrapped views are now based on the name of the original view function in both Python 2 and Python 3.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fix&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;End transactions correctly with Tornado 4 @asynchronous decorator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the agent records a transaction for a Tornado 4 &lt;code&gt;RequestHandler&lt;/code&gt; method that is decorated with the &lt;code&gt;@tornado.web.asynchronous&lt;/code&gt; decorator, the transaction should remain open until &lt;code&gt;RequestHandler.finish()&lt;/code&gt; is called. Prior to this release, there were some circumstances where the agent closed the transaction prematurely, resulting in transaction durations that were too short. This has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 23 Feb 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.80.1.61]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODAuMS42MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-280161</link><pubDate>Mon, 27 Feb 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent is a hotfix release to address a problem with the Tornado 4 instrumentation for &lt;code&gt;curl_httpclient&lt;/code&gt; introduced in our last release (v2.80.0.60). Under the circumstances described below, calling &lt;code&gt;CurlAsyncHTTPClient.fetch_impl()&lt;/code&gt; could result in an agent error.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Bug Fix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix CurlAsyncHTTPClient.fetch_impl() instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If &lt;code&gt;fetch_impl()&lt;/code&gt; was called by passing the &lt;code&gt;request&lt;/code&gt; argument positionally, but passing &lt;code&gt;callback&lt;/code&gt; as a keyword argument, then the agent would throw an error. In practice, this only affected customers who implemented a custom version of &lt;code&gt;fetch_impl()&lt;/code&gt;, but for those affected customers, this is now fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 27 Feb 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.82.0.62]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODIuMC42Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-282062</link><pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent improves our introductory support for Tornado 4 applications by adding &lt;a href=&quot;https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing&quot;&gt;Cross Application Tracing&lt;/a&gt; for web transactions that are sent to a Tornado 4 application.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 4 applications will now appear in Service Maps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tornado 4 &lt;a href=&quot;https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing&quot;&gt;Cross Application Tracing&lt;/a&gt; is now supported for inbound web transactions. In addition to Service Maps, the calling application&apos;s APM will now have links to the Tornado 4 application it called in the External Services tab and in Transaction Traces.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Record exceptions outside of view handlers in Django 1.10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Unhandled exceptions that occurred outside of a view handler in Django 1.10 were not reported. In addition to middleware exceptions, these unhandled exceptions can be generated when a view handler returns a TemplateResponse and rendering that template would result in an exception.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Consistent WSGI/Application and WSGI/Response segments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prior to this release, the agent would group segments under &lt;code&gt;WSGI/Application&lt;/code&gt; and &lt;code&gt;WSGI/Response&lt;/code&gt; differently, depending on whether or not &lt;a href=&quot;https://newrelic.com/browser-monitoring&quot;&gt;browser monitoring&lt;/a&gt; was enabled. This has now been made consistent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved New Relic WSGI middleware behavior&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The New Relic agent is now resilient when called by non-conforming middleware. Transactions will continue to be reported normally when the New Relic agent is called by WSGI middleware that does not call the close() method as described in the &lt;a href=&quot;https://www.python.org/dev/peps/pep-0333&quot;&gt;PEP 333&lt;/a&gt; specification.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 15 Mar 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.8.0.7]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOC4wLjc=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-2807</link><pubDate>Fri, 13 Dec 2013 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/installation/update-new-relic-agent&quot;&gt;Update the agent&lt;/a&gt;. For more information, see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/maintenance/new-relic-agent-plugin-end-life-policy&quot;&gt;End-of-life policy&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;This release of the Python agent marks the official introduction of support for pypy. Instrumentation has also been updated to address issues arising from the release of Celery 3.1.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from our &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a list of known issues with the Python agent see our online help article on the &lt;a href=&quot;https://newrelic.com/docs/python/status-of-python-agent&quot;&gt;status of the Python agent&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;New Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The agent has worked with and has already been used by customers with pypy for some time, but we have not officially acknowledged that we support pypy. We have now integrated pypy into our test procedures and now officially support this implementation of the Python language.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes/Improvements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation for Celery has been updated to accommodate changes in Celery 3.1. The changes in Celery 3.1 resulted in no metrics being reported in prior versions of the agent.&lt;/li&gt;
&lt;li&gt;When collecting data on external web service calls, the agent now drops port 80/443 from the name of the host when used with the standard http/https protocol schemes. This ensures that a URL with or without the ports are seen as the same service in the external web services page in the UI.&lt;/li&gt;
&lt;li&gt;When using newrelic.agent.initialize() explicitly, if no arguments are provided, the values for the config file and environment arguments will now be read from the NEW_RELIC_CONFIG_FILE and NEW_RELIC_ENVIRONMENT arguments if specified.&lt;/li&gt;
&lt;li&gt;Flask instrumentation was not correctly mapping URLs related to a HTTP 404 response to a known framework or application handler function. Instead the web transaction was named after the URL, which could result in metric grouping issues if an application was hit with a large number of URLs which couldn&apos;t be mapped by the application. Such requests will now be mapped to flask.app:Flask.handle_http_exception.&lt;/li&gt;
&lt;li&gt;Pyramid instrumentation should no longer report as errors instances of exceptions derived from HTTPRedirection, raised to generate a HTTP redirect response.&lt;/li&gt;
&lt;li&gt;Improvements to the newrelic-admin wrapper script and agent bootstrapping procedure to better deal with a local sitecustomize.py file. Changes will also better handle the case where the newrelic-admin wrapper script was used around a Python script using a different Python installation than that which the newrelic package was installed in, avoiding possible errors when the wrapped script was run, due to the mismatch.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 13 Dec 2013 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.82.1.63]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODIuMS42Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-282163</link><pubDate>Mon, 17 Apr 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix for our introductory support for Tornado 4 applications.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ending Tornado 4 transactions inside of a traced function results in an internal agent error&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ending a Tornado 4 web transaction within a traced function previously resulted in the generation of an agent traceback. The agent now completes tracing the function before ending the transaction, resulting in the correct reporting of these transactions to New Relic.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 17 Apr 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.84.0.64]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODQuMC42NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-284064</link><pubDate>Tue, 25 Apr 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes and improvements to the precision of the duration data recorded for transaction traces.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Transaction trace precision&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release improves the precision of transaction traces. Duration of functions in a transaction trace are now recorded at sub-millisecond precision.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Custom classmethod traces may incorrectly return the parent class&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wrapping classmethods in classes that are subclassed could cause the subclassed classmethod to be improperly bound to the parent class. This would result in the classmethod returning an instance of the parent class when the method was called on a child class.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Handle incomplete Tornado coroutine traces&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tracing a Tornado coroutine that never completed and was later garbage collected, could result in an application hang. This has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 25 Apr 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.86.0.65]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODYuMC42NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286065</link><pubDate>Wed, 03 May 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes improvements to our introductory support for Tornado 4 applications as well as bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 4 Outbound Cross Application Tracing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tornado 4 &lt;a href=&quot;https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing&quot;&gt;Cross Application Tracing&lt;/a&gt; is now supported for outbound web transactions. In addition to Service Maps, Tornado 4 transaction traces will now contain links to the application it called. With this update, Cross Application Tracing is now fully supported for Tornado 4 applications.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Django 1.10+ browser monitoring with new-style gzip middleware&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Browser monitoring was not automatically inserted when using new style Django 1.10+ gzip middleware. Browser monitoring code is now inserted as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using motor versions 1.X generated instrumentation errors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Motor 1.0 removed the MotorReplicaSetClient class which resulted in the New Relic Python Agent generating an instrumentation error when attempting to access that class. The instrumentation has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 03 May 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.86.1.66]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODYuMS42Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286166</link><pubDate>Wed, 17 May 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;div&gt;&lt;p&gt;This release has been superseded. Please use version &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286268&quot;&gt;2.86.2.68&lt;/a&gt; or higher.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;This release of the Python agent includes various bug fixes as described below.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Handle exceptions generated by Tornado 4 AsyncHTTPClient during fetch&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exceptions generated by a call to the Tornado 4 AsyncHTTPClient resulted in an agent instrumentation error. Exceptions generated by AsyncHTTPClient are now recorded and properly handled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using gevent/eventlet on Python 3.6 resulted in a RecursionError&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.6 introduced a &lt;a href=&quot;https://github.com/python/cpython/commit/328067c468f82e4ec1b5c510a4e84509e010f296&quot;&gt;change&lt;/a&gt; to the ssl library. This change can result in a &lt;a href=&quot;https://bugs.python.org/issue29149&quot;&gt;recursion error&lt;/a&gt; when the New Relic agent imports ssl prior to eventlet/gevent patching the ssl library (as is the case with use of the newrelic-admin script). This recursion error has been mitigated when using newrelic-admin to start applications.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 17 May 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.86.3.70]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODYuMy43MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286370</link><pubDate>Fri, 26 May 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes various bug fixes as described below.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Handle exceptions generated by &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/hosting-mechanisms/introductory-tornado-4-support&quot;&gt;Tornado 4&lt;/a&gt; AsyncHTTPClient during fetch&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exceptions generated by a call to the AsyncHTTPClient resulted in an agent instrumentation error. Exceptions generated by AsyncHTTPClient are now recorded and properly handled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using gevent/eventlet on Python 3.6 resulted in a RecursionError&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.6 introduced a &lt;a href=&quot;https://github.com/python/cpython/commit/328067c468f82e4ec1b5c510a4e84509e010f296&quot;&gt;change&lt;/a&gt; to the ssl library. This change can result in a &lt;a href=&quot;https://bugs.python.org/issue29149&quot;&gt;recursion error&lt;/a&gt; when the New Relic agent imports ssl prior to eventlet/gevent patching the ssl library (as is the case with use of the newrelic-admin script). This recursion error has been fully mitigated.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 26 May 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.86.2.68]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODYuMi42OA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286268</link><pubDate>Tue, 23 May 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release is the same as &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286065&quot;&gt;2.86.0.65&lt;/a&gt; except it has been re-published to pypi due to an issue with &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-286166&quot;&gt;2.86.1.66&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 23 May 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.90.0.75]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOTAuMC43NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-290075</link><pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes and improvements to the builtin pika instrumentation.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Feature&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Naming of Pika Message Transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release improves the naming of message transactions . Message consumer transactions are now split based on the name of the consume callback.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved metadata collection for cloud providers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now collects additional metadata when running in AWS, GCP, Azure, and PCF. This information is used to provide an enhanced experience when the agent is deployed on those platforms.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CherryPy WSGI Server automatic instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release fixes a bug where &lt;code&gt;cherrypy.wsgiserver.CherryPyWSGIServer&lt;/code&gt; was not being instrumented. This bugfix impacts CherryPy versions v6.1.0 to v8.9.1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 31 Jul 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.88.0.72]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODguMC43Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-288072</link><pubDate>Thu, 06 Jul 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds built-in &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/use-rabbitmq-message-queues&quot;&gt;instrumentation&lt;/a&gt; for the &lt;a href=&quot;https://pypi.python.org/pypi/pika&quot;&gt;pika RabbitMQ library&lt;/a&gt;, a message broker API which can be used to add custom instrumentation for additional message brokers, and various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pika Instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The RabbitMQ pika library is now automatically instrumented. The agent will report data for messages sent and received by an application. Data on messages is available in both APM and Insights. Applications connected through a RabbitMQ exchange will now also be visible on Service Maps as part of Cross Application Tracing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Message Broker API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A Message Broker API is now available for use in custom instrumentation. The Message Broker API will send data to &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/use-rabbitmq-message-queues&quot;&gt;APM&lt;/a&gt; and Insights (through message.routingKey and message.queueName attributes) for message broker related operations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado 4.5 Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python Agent&apos;s out-of-the-box Tornado 4 instrumentation now supports Tornado version 4.5.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado AsyncIO Loop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In addition to the Tornado PollIOLoop, the AsyncIO loop is now supported as part of our Tornado instrumentation. When Tornado is configured to use the AsyncIO loop, data will now be sent to New Relic. Note that AsyncIO is not yet generally supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SQL comments beginning with a &quot;--&quot; resulted in an improperly parsed query&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When executing SQL queries with comments that used the &quot;--&quot; comment syntax, the database operation and table was not properly parsed resulting in queries being absent from the Databases tab. Queries with &quot;--&quot; comments should now show up in the Database tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AttributeError generated when using Tornado 4 HTTPRequest objects in an external web call&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the Tornado 4 HTTPRequest object as an argument to HTTPClient.fetch, it was possible to generate an AttributeError. The web call now completes as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Slow network connections may result in lost data&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When, due to a slow network, a 408 error is returned from New Relic data was not retransmitted. Data is now retransmitted when a 408 is received.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 06 Jul 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.94.0.79]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOTQuMC43OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-294079</link><pubDate>Tue, 19 Sep 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for aiohttp client.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation for aiohttp client&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Outbound HTTP requests through the aiohttp library are now recorded. aiohttp Cross Application Tracing is now supported for outbound requests. In addition to Service Maps, applications accessed through the aiohttp client will now appear in transaction traces.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash when using psycopg2 v2.7 composable queries&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The psycopg2 library introduced a module to generate SQL dynamically (psycopg2.sql) in version 2.7. Passing a Composable type object (psycopg2.sql.Composable) to execute or executemany resulted in an application crash. The agent now correctly handles psycopg2 Composable objects.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 19 Sep 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.96.0.80]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOTYuMC44MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-296080</link><pubDate>Mon, 16 Oct 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for aiohttp framework, adds support for displaying Heroku dyno names, and various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation for aiohttp framework&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Data is now automatically collected for applications using the aiohttp framework. Data for aiohttp applications will appear in both APM and Insights. Additionally, cross application tracing is supported for incoming requests for aiohttp applications. In addition to service maps, aiohttp applications will now show the calling application in transaction traces.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for displaying Heroku dyno names&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Heroku-friendly logic is now applied to how dyno names are displayed. This includes being able to collapse dyno hostnames based on prefix.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash for gunicorn gaiohttp driver&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using gunicorn&apos;s gaiohttp worker with New Relic Browser monitoring enabled may have resulted in an application crash. This crash has been fixed and the gaiohttp worker is now fully supported with the New Relic Python Agent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash for pika versions 0.9.x and earlier&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the agent with pika versions 0.9.x and earlier could have resulted in an application crash. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 16 Oct 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.98.0.81]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOTguMC44MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-298081</link><pubDate>Thu, 30 Nov 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds improvements to django instrumentation, improvements to django rest framework instrumentation, and various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enabled reporting of handled exceptions in Django REST Framework&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exceptions handled by django rest framework are now reported if the resulting response code is not ignored (see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#error-ignore-status-codes&quot;&gt;ignore_status_codes&lt;/a&gt; for details).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for the error_collector.ignore_status_codes setting in Django&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ignoring exceptions in Django was previously limited to the error_collector.ignore_errors configuration option. Ignoring exceptions by response status code is now supported for Django through the use of the error_collector.ignore_status_codes configuration option.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Servicing aiohttp websocket requests results in an application crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Servicing a websocket request in an aiohttp application may have resulted in an application crash when using the New Relic python agent. The application will now operate as expected when handling a websocket request.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ignore incomplete aiohttp transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In aiohttp, connections can be terminated prior to the HTTP response being generated and sent. In those cases, the request handler may be cancelled. These transactions are no longer reported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix HTTP status reporting for Tornado transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;HTTP status was not properly added to Tornado transaction events and transaction traces. HTTP status is now automatically added to Tornado transaction events in Insights and transaction traces in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix reporting of concurrent external requests in Tornado&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;External requests that execute in parallel in a tornado application may not have been recorded. This issue has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 30 Nov 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.88.1.73]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuODguMS43Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-288173</link><pubDate>Wed, 12 Jul 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes for the &lt;a href=&quot;https://pypi.python.org/pypi/pika&quot;&gt;pika RabbitMQ library&lt;/a&gt; &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/use-rabbitmq-message-queues&quot;&gt;instrumentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release/&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using pika to make RPC-style calls from Tornado could result in an application crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When making a remote procedure call from a tornado web application using the pika RabbitMQ library&apos;s Tornado connection, it is possible for the tornado web application to crash. Pika Tornado connections no longer result in an application crash.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AttributeError generated from an unregistered application starting a MessageTransaction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Applications which consume message transactions and do not call &lt;code&gt;register_application&lt;/code&gt; can raise an AttributeError resulting in an application crash. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 12 Jul 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v2.92.0.78]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTIuOTIuMC43OA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-292078</link><pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for monitoring of outbound gRPC requests and adds an API for cross application tracing of custom non-HTTP transports. For details on APIs for cross application tracing see the cross application tracing document.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the Python Package Index  or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add API for cross application tracing of non-HTTP external services&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;A new API is now exposed for implementing cross application tracing in custom instrumentation of non-HTTP transport libraries. For usage of this API see the cross application tracing document. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation for gRPC client calls&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Outbound gRPC requests will now show up in APM under the External Services tab and in transaction traces. &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixes erroneous recording of TastyPie &lt;code&gt;NotFound&lt;/code&gt; exceptions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; When a TastyPie API view raised a NotFound exception resulting in a 404 response, the agent may have erroneously recorded the exception. This has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 06 Sep 2017 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v3.0.0.89]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTMuMC4wLjg5</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-30089</link><pubDate>Wed, 14 Mar 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent removes previously deprecated APIs, makes SSL communication with New Relic mandatory, and updates support for aiohttp middleware.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removed previously deprecated APIs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following APIs have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;transaction (use current_transaction)&lt;/li&gt;
&lt;li&gt;name_transaction (use set_transaction_name)&lt;/li&gt;
&lt;li&gt;Application.record_metric (use Application.record_custom_metric)&lt;/li&gt;
&lt;li&gt;Application.record_metrics (use Application.record_custom_metrics)&lt;/li&gt;
&lt;li&gt;Transaction.notice_error (use Transaction.record_exception)&lt;/li&gt;
&lt;li&gt;Transaction.record_metric (use Transaction.record_custom_metric)&lt;/li&gt;
&lt;li&gt;Transaction.name_transaction (use Transaction.set_transaction_name)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecate Transaction.add_user_attribute&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Transaction.add_user_attribute has been deprecated in favor of Transaction.add_custom_parameter. Transaction.add_user_attribute will be removed in a future release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecate Transaction.add_user_attributes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Transaction.add_user_attributes has been deprecated in favor of Transaction.add_custom_parameters. Transaction.add_user_attributes will be removed in a future release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecate wrap_callable&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;wrap_callable has been deprecated in favor of FunctionWrapper. wrap_callable will be removed in a future release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove data-source admin command&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The platform API (used by newrelic-admin data-source) has been removed. Please use &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/supported-features/python-custom-metrics#registering-a-data-source&quot;&gt;data sources&lt;/a&gt; in place of the platform API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;SSL&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;SSL connections to New Relic are now mandatory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prior to this version, using an SSL connection to New Relic was the default behavior. SSL connections are now enforced (not overrideable).&lt;/p&gt;
&lt;h2&gt;AIOHTTP Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add automatic tracing of AIOHTTP 3 middleware&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In addition to the old-style middleware previously supported, the AIOHTTP 3 style middleware is now automatically traced as part of the AIOHTTP instrumentation package.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 14 Mar 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v3.2.0.91]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTMuMi4wLjkx</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-32091</link><pubDate>Wed, 04 Apr 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/python-agent-attributes&quot;&gt;request.uri attribute&lt;/a&gt; on transaction events in insights, adds built-in cheroot instrumentation, adds support for recording flask-restful/flask-restplus exceptions, and contains bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add request.uri attribute to transaction and error events&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Python agent will now report request.uri as an attribute on transaction events and error events. To disable this feature, add request.uri to the attributes.exclude list in the newrelic.ini configuration file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Record Flask RESTful and Flask RestPlus exceptions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since &lt;a href=&quot;https://pypi.python.org/pypi/Flask-RESTful&quot;&gt;Flask RESTful&lt;/a&gt; and &lt;a href=&quot;https://pypi.python.org/pypi/flask-restplus&quot;&gt;Flask RestPlus&lt;/a&gt; handle all errors that are raised in their handlers, these errors were not being captured by the normal Flask instrumentation in the Python agent. Exception handling has now been added for these two components.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation hooks for the Cheroot WSGI server&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Any customers using &lt;a href=&quot;https://pypi.python.org/pypi/Cheroot/6.0.0&quot;&gt;Cheroot&lt;/a&gt; with an unsupported application framework will now see data reported in New Relic APM.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix CherryPy ignore by status code for exceptions using reason phrases&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CherryPy accepts string values for HTTPError status (reason phrases). When creating HTTPError exceptions in this way, responses were not properly ignored by status code. Responses generated by HTTPError exceptions using reason phrases are now properly ignored.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using send_file with Flask Compress middleware may have caused an application crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using browser monitoring auto instrumentation on an application using Flask Compress, the use of the Flask send_file helper to send html files resulted in an application crash. This issue has now been resolved.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix incorrect parenting for traces of coroutines scheduled with asyncio gather/ensure_future&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Coroutines scheduled with asyncio gather/ensure_future may have been reported as being a child of the wrong function. This issue has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 04 Apr 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v3.2.1.93]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTMuMi4xLjkz</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-32193</link><pubDate>Wed, 16 May 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent contains various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Do not run explain plans for psycopg2 connections using the &lt;code&gt;async_&lt;/code&gt; kwarg&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As &quot;async&quot; is now a keyword in Python 3.7, psycopg2 now allows &quot;async_&quot; as an alias for its &quot;async&quot; kwarg for psycopg2.connect as of psycopg2 v2.7.4. Previously, explain plans were attempted for these connections and a traceback would be seen in the logs. This has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix traceback when using callbacks as partials in pika consumers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When passing a callback that is a functools partial to pika channel consumers, a traceback occurred in some instances. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;cx_Oracle database calls that use SessionPool objects were not recorded&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the cx_Oracle SessionPool interace, database transactions made through the acquired pool connection may not have been reported. Database transactions that using connections generated by SessionPool are now reported as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SQL targets for call statements may contain a period&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For a SQL command like &lt;code&gt;CALL foo.bar(:baz)&lt;/code&gt;, APM would show metrics under the target name &lt;code&gt;foo&lt;/code&gt; instead of the full name &lt;code&gt;foo.bar&lt;/code&gt;. This has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 16 May 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v3.2.2.94]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTMuMi4yLjk0</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-32294</link><pubDate>Mon, 11 Jun 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent contains various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved handling of celery max-tasks-per-child&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Data recorded by the Python Agent may not have been reported when celery was operated with the max-tasks-per-child setting. All data is now reported independent of the max tasks per child setting.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improve support for PyMongo v3.x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PyMongo v3 added many new methods on the &lt;code&gt;pymongo.Collection&lt;/code&gt; object that did not exist in v2. These methods have now been instrumented. Calls to these methods will now appear in APM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Scheduling tasks that run after a transaction ends causes an error&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Coroutines scheduled to execute after a transaction ends using create_task or ensure_future may have caused the runtime instrumentation error and subsequent crash:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The transaction already completed meaning a child called complete trace after the trace had been finalized.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Coroutines that execute beyond the end of a transaction will no longer cause an error.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 11 Jun 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.10.0.112]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTAuMC4xMTI=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4100112</link><pubDate>Thu, 10 Jan 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for excluding attributes from span events and transaction trace segments, adds a new api called add_custom_parameters, and includes various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add ability to exclude attributes from span events and transaction trace segments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release adds support to exclude attributes (such as &lt;code&gt;http.url&lt;/code&gt;) from span events (via the &lt;code&gt;span_events.include&lt;/code&gt;/&lt;code&gt;span_events.exclude&lt;/code&gt; options) and from transaction segments (via the &lt;code&gt;transaction_segments.include&lt;/code&gt;/&lt;code&gt;transaction_segments.exclude&lt;/code&gt; option).&lt;/p&gt;
&lt;p&gt;As with other attribute destinations, these new options will inherit values from the top-level &lt;code&gt;attributes.include&lt;/code&gt;/&lt;code&gt;attributes.exclude&lt;/code&gt; settings. See the documentation for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add public add_custom_parameters API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The method add_custom_parameters on Transaction is now exposed through newrelic.agent.add_custom_parameters&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Transaction counts were not reported for aiohttp&apos;s built-in error pages&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When a built-in error route was reached in aiohttp (such as a 404 due to a missing route), transactions were not recorded. As a result, the transaction counts may have been artificially low. aiohttp system route traffic will now be reported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;aiohttp cross application tracing linking to non-Python applications may have been omitted if using multidict&amp;#x3C;3.0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For aiohttp users using multidict versions less than 3.0, cross application tracing HTTP headers may have been generated in a way that was incompatible with non-Python applications. Headers are now generated in a format compatible with all New Relic agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;aiohttp 3.5.x versions generated agent instrumentation errors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent previously failed to instrument aiohttp applications running versions 3.5.0 and greater. The agent now supports aiohttp versions up to 3.5.1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 10 Jan 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v3.4.0.95]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTMuNC4wLjk1</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-34095</link><pubDate>Thu, 12 Jul 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Python 3.7 and contains various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support Python 3.7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The New Relic Python Agent now supports Python 3.7.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent raises a KeyError: &apos;NEW_RELIC_ADMIN_COMMAND&apos; exception causing a crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Under certain conditions, using the newrelic-admin wrapper script could cause an application to crash shortly after startup with a KeyError exception. The cause of the crash has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent raises an AttributeError on Python 3 when using WSGI overrides with multiple app names&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using WSGI environ overrides to specify multiple app names as described in the docs &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app&quot;&gt;https://docs.newrelic.com/docs/agents/manage-apm-agents/app-naming/use-m...&lt;/a&gt; the agent will raise an AttributeError. This error has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent raises an AttributeError exception under rare conditions when halting a trace&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Under certain rare conditions, the agent might raise an exception when trying to trace an external call in a transaction that has been forcibly halted. The cause of the exception has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Agent raises a RuntimeError exception under particular conditions when using the Tornado r3 instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When attempting to yield many times from a wrapped tornado.gen.coroutine when using Tornado&apos;s r3 instrumentation, a RuntimeError due to hitting the maximum recursion limit can occur. The cause of this exception has been patched.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 12 Jul 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.0.0.99]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMC4wLjk5</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-40099</link><pubDate>Mon, 23 Jul 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent removes previously deprecated APIs, and removes support for Python 2.6 and Python 3.3.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removed previously deprecated APIs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following APIs have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transaction.add_user_attribute (use Transaction.add_custom_parameter)&lt;/li&gt;
&lt;li&gt;Transaction.add_user_attributes (use Transaction.add_custom_parameters)&lt;/li&gt;
&lt;li&gt;wrap_callable (use FunctionWrapper)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removed support for Python 2.6 and Python 3.3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 2.6 and Python 3.3 are no longer supported. Please consider upgrading your application to a supported version of Python in order to continue to receive updates to the Python Agent.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 23 Jul 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.14.0.115]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTQuMC4xMTU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4140115</link><pubDate>Wed, 13 Feb 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for native coroutines and generators with the background task API and adds support for Kubernetes detection.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;@background_task can now be used with coroutines&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The background_task decorator API can now be used with native coroutines and generators.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@background_task(name=&apos;my_coroutine&apos;)
 async def my_coroutine():
   await asyncio.sleep(0.1)
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for collection of Kubernetes metadata&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now collect environment variables prefixed by &lt;code&gt;NEW_RELIC_METADATA_&lt;/code&gt; as additional metadata. Some of this metadata may be added to Transaction events to provide context between your Kubernetes cluster and your services. For details on the benefits (currently in beta) see &lt;a href=&quot;https://blog.newrelic.com/engineering/monitoring-application-performance-in-kubernetes&quot;&gt;this blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent now also collects the &lt;code&gt;KUBERNETES_SERVICE_HOST&lt;/code&gt; environment variable to detect when the application is running on Kubernetes. The data is used to link the application to the host machine when using the New Relic infrastructure product.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using time trace decorators allowed coroutines to become Iterables and generators to become awaitables&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using time trace decorators native coroutines were converted to iterables. Additionally generators were converted to awaitables. The behavior of generators, native coroutines, and awaitable generators is now unchanged when using time trace decorators.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 13 Feb 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.12.0.113]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTIuMC4xMTM=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4120113</link><pubDate>Tue, 22 Jan 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent extends support of Amazon&apos;s &lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/index.html&quot;&gt;boto3&lt;/a&gt; library and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AWS operation and request ID will now be reported in transaction traces and spans when using boto3 and botocore.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now report &lt;code&gt;aws.requestId&lt;/code&gt; and &lt;code&gt;aws.operation&lt;/code&gt; for all calls to AWS made using botocore and boto3.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DynamoDB calls are now reported under the Databases tab.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now record DynamoDB query performance in the Databases tab in APM in addition to table name for the following calls:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;put_item&lt;/li&gt;
&lt;li&gt;get_item&lt;/li&gt;
&lt;li&gt;update_item&lt;/li&gt;
&lt;li&gt;delete_item&lt;/li&gt;
&lt;li&gt;create_table&lt;/li&gt;
&lt;li&gt;delete_table&lt;/li&gt;
&lt;li&gt;query&lt;/li&gt;
&lt;li&gt;scan&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Certain SQS calls will now report additional data for spans and transaction traces.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now record the queue name in spans and transaction traces for the following SQS calls:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;send_message&lt;/li&gt;
&lt;li&gt;send_message_batch&lt;/li&gt;
&lt;li&gt;receive_message&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SNS publish will now report additional data for spans and transaction traces.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The SNS topic, target, or the string literal PhoneNumber will be reported to New Relic inside of spans and transaction traces.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The full URL path will now be recorded on span events and transaction traces when using boto3 or botocore.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now record the full URL path for API calls made to AWS through the boto3 / botocore libraries. The path will be available through span events and transaction traces.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using newrelic-admin to start a GunicornWebWorker with an aiohttp application factory resulted in an application crash.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent would fail to start if using the newrelic-admin command to start an aiohttp application factory with GunicornWebWorker. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 22 Jan 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.16.0.116]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTYuMC4xMTY=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4160116</link><pubDate>Mon, 25 Mar 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for native coroutines and generators with a new web_transaction API, as well as bugfixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add a new web_transaction API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This method is now exposed both as a public API through &lt;code&gt;newrelic.agent.api.wrap_web_transaction&lt;/code&gt;, and as a decorator with &lt;code&gt;newrelic.agent.api.web_transaction&lt;/code&gt;. It can be used to instrument non-WSGI web transactions. For usage of this API see &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/webtransaction&quot;&gt;https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/webt...&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The presence of unicode values in a SQL query on Python 2 may cause an application crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent was not properly handling unicode values when recording SQL queries in Python 2. As a result, the presence of unicode values in SQL queries in Python 2 applications may have resulted in an application crash. Unicode values in Python 2 SQL queries are now properly handled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The Python Agent may have improperly biased the random sampling of distributed traces&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Distributed traces are randomly sampled across services. The agent is responsible for propagating the state of its sampling decision to other services. In propagating that decision, an improper sampling bias may have been introduced in downstream services.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The agent will no longer report the command arguments used to start newrelic-admin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent previously reported the startup command and arguments when using &lt;code&gt;newrelic-admin run-program&lt;/code&gt; and &lt;code&gt;newrelic-admin run-python&lt;/code&gt;. The command and arguments are no longer sent to New Relic. This data may continue to be logged to the agent log files when debug level logs are enabled.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 25 Mar 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.18.0.118]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTguMC4xMTg=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4180118</link><pubDate>Wed, 17 Apr 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds improvements to the gRPC instrumentation package and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved gRPC support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Support for measuring inbound gRPC requests has now been added. Inbound gRPC requests will now show as web transactions in APM. Additionally, distributed tracing is now supported as part of the gRPC instrumentation package.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update pika instrumentation to support the 1.x releases&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the agent with pika versions 1.x and up, the agent may have caused an application crash. The agent now correctly collects data on newer versions of pika.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The startup_timeout setting may not have been honored in a multithreaded application&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When startup_timeout is set to a number greater than 0, the servicing of transactions is blocked until the agent has fully activated. In multithreaded applications, only the first thread would block due to improper locking. The agent will now block on all threads.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 17 Apr 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.16.1.117]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMTYuMS4xMTc=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4161117</link><pubDate>Fri, 29 Mar 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a memory leak that occurs on Python 2 when monitoring WSGI applications.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix memory leak on Python 2 WSGI applications&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the 4.16.0 agent on Python 2 to monitor WSGI applications, the agent would cause memory to be allocated on each request. On Python 2, this memory was never deallocated due to a reference cycle. This has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 29 Mar 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.20.0.120]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMjAuMC4xMjA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4200120</link><pubDate>Wed, 22 May 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes and adds new API methods to retrieve the current trace ID and current span ID.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added a new API to retrieve the current trace ID&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Retrieving the current trace ID can now be accomplished with a call to &lt;code&gt;newrelic.agent.current_trace_id()&lt;/code&gt;. This method will return the id of the current trace, or None if no transaction is in progress.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added a new API to retrieve the current span ID&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Retrieving the current span ID can now be accomplished with a call to &lt;code&gt;newrelic.agent.current_span_id()&lt;/code&gt;. This method will return the id of the current span, or None if no span is in progress.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Exclusive time incorrectly displayed when using concurrent asyncio&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The New Relic UI may have shown times equaling greater than 100 percent of the total time when executing concurrent tasks in asyncio. The exclusive times reported by the agent will now be correctly displayed in APM and insights.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 22 May 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.2.0.100]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMi4wLjEwMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-420100</link><pubDate>Tue, 31 Jul 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent introduces distributed tracing, adds improvement to our Pyramid instrumentation, adds support for custom CA bundles, and contains bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Distributed tracing support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Distributed tracing lets you see the path that a request takes as it travels through your distributed system. By showing the distributed activity through a unified view, you can troubleshoot and understand a complex system better than ever before.&lt;/p&gt;
&lt;p&gt;Distributed tracing is available with an APM Pro or equivalent subscription. To see a complete distributed trace, you need to enable the feature on a set of neighboring services. Enabling distributed tracing changes the behavior of some New Relic features, so carefully consult the &lt;a href=&quot;https://docs.newrelic.com/docs/transition-guide-distributed-tracing&quot;&gt;transition guide&lt;/a&gt; before you enable this feature.&lt;/p&gt;
&lt;p&gt;To enable distributed tracing, add &lt;code&gt;distributed_tracing.enabled = true&lt;/code&gt; to your newrelic.ini file or use the environment variable &lt;code&gt;NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for tracing Pyramid tweens&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.pylonsproject.org/projects/pyramid/en/latest/glossary.html#term-tween&quot;&gt;Pyramid tweens&lt;/a&gt; are now automatically timed and added to the transaction detail view. The time spent in a Pyramid tween will be displayed in the transaction breakdown table and in the trace details of a transaction trace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Provide configuration option for custom CA bundle&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Customers can now use the &lt;code&gt;ca_bundle_path&lt;/code&gt; configuration option or set the &lt;code&gt;NEW_RELIC_CA_BUNDLE_PATH&lt;/code&gt; environment variable to set the path to a local CA bundle. This CA bundle will be used to validate the SSL certificate presented by New Relic&apos;s data collection service.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Custom Insights event data attached to transactions in excess of 100 events were omitted&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent may have failed to send custom event data (record_custom_event) to insights when recorded as part of a Transaction containing over 100 custom events. This issue has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 31 Jul 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.20.1.121]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuMjAuMS4xMjE=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-4201121</link><pubDate>Mon, 24 Jun 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes, deprecations, and improved naming behavior for gRPC.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Feature Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved gRPC support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The external and transaction pages now show the gRPC method being called in addition to the host and port.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ability to disable sending db.statement as part of traces&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When db.statement is added to either attributes.exclude or transaction_segments.attributes.exclude, the value will now no longer be sent to New Relic as part of transaction traces or spans.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;TransactionContext API is now deprecated&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The TransactionContext API will be removed in a future release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tornado instrumentation + feature flag deprecation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The existing introductory support for Tornado and feature flags will be removed from a future release. Versions 6.x and newer will be the only versions of Tornado supported in future releases. See &lt;a href=&quot;https://discuss.newrelic.com/t/python-tornado-support/75613&quot;&gt;this discussion&lt;/a&gt; on the New Relic forums for more details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed a crash when using uvicorn workers with gunicorn&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running ASGI applications with gunicorn, the agent would attempt to instrument the application as a WSGI application, resulting in a crash. The agent will no longer attempt to instrument gunicorn applications that are coroutines.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove logging of license keys&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent logged license keys when data failed to send to New Relic. The agent will no longer log license keys to the agent logs under any circumstance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix operation of distributed tracing and cross application tracing when httplib connections are reused&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When making multiple requests via a single connection with httplib, httplib2, or urllib3, the proper headers will be added to each outgoing request. As a result, cross application tracing and distributed tracing will now operate as expected when reusing connection objects.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 24 Jun 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.4.0.103]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuNC4wLjEwMw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-440103</link><pubDate>Tue, 11 Sep 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent introduces instrumentation for Sanic, and contains bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation for Sanic framework&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Data is now automatically collected for applications using the Sanic framework. Data for Sanic applications will appear in both APM and Insights. Additionally, cross application tracing and distributed tracing is supported for incoming requests for Sanic applications. In addition to service maps, Sanic applications will now show the calling application in transaction traces. See the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/getting-started/instrumented-python-packages&quot;&gt;instrumented packages page&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Explain plans were not generated when using psycopg2 named cursors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using named cursors in psycopg2, the agent attempted to generate an explain plan using the same named cursor. This resulted in a syntax error when the query was issued to the database. When using the default connection and cursor factories, the agent will now execute the explain query using only unnamed cursors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Convert bytes-like SQL statements to strings before obfuscating&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a bytes-like object is used instead of a string when making a SQL call, a traceback was seen in the logs with &lt;code&gt;TypeError: cannot use a string pattern on a bytes-like object&lt;/code&gt;. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Save settings to MessageTrace objects&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If an external call using an instrumented http external library (for example &lt;code&gt;requests&lt;/code&gt;) was used within a &lt;code&gt;MessageTrace&lt;/code&gt;, a traceback was seen in the logs with &lt;code&gt;AttributeError: &apos;MessageTrace&apos; object has no attribute &apos;settings&apos;&lt;/code&gt;. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 11 Sep 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.4.1.104]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuNC4xLjEwNA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-441104</link><pubDate>Mon, 24 Sep 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent contains bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The creation of sampled events sometimes raised an exception in Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When more events (Transaction, Transaction Error, Custom, or Span) were created than allowed per harvest period in Python 3, sometimes a &lt;code&gt;TypeError: &apos;&amp;#x3C;&apos; not supported between instances of &apos;dict&apos; and &apos;dict&apos;&lt;/code&gt; was raised. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 24 Sep 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.6.0.106]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuNi4wLjEwNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-460106</link><pubDate>Mon, 12 Nov 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes changes to the agent to enable monitoring of Lambda functions, improves the built-in Sanic instrumentation, and includes various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monitoring of Lambda functions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release includes changes to the agent to enable monitoring of Lambda functions. If you are interested in learning more or previewing New Relic Lambda monitoring please email &lt;a href=&quot;mailto:lambda_preview@newrelic.com&quot;&gt;lambda_preview@newrelic.com&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improve naming of Sanic HTTPMethodView view handlers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sanic views that were defined using the HTTPMethodView class were previously all named &lt;code&gt;HTTPMethodView.as_view.&amp;#x3C;locals&gt;.view&lt;/code&gt; regardless of the actual class in use. The agent will now name transactions after the actual view handler class.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix ignored error reporting in CherryPy instrumention&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When missing query parameters, unexpected query parameters, unexpected positional arguments, or duplicate arguments were present in the CherryPy framework, a TypeError exception was recorded even when an ignored response status code (such as a 404) was generated. An error is no longer recorded when it results in the generation of an ignored status code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Excluding &lt;code&gt;request.uri&lt;/code&gt; from transaction trace attributes hides it in the UI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When &lt;code&gt;request.uri&lt;/code&gt; is added to either &lt;code&gt;attributes.exclude&lt;/code&gt; or &lt;code&gt;transaction_tracer.attributes.exclude&lt;/code&gt;, the value will now no longer be sent to New Relic.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ability to disable sending &lt;code&gt;request.uri&lt;/code&gt; as part of error traces&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When &lt;code&gt;request.uri&lt;/code&gt; is added to either &lt;code&gt;attributes.exclude&lt;/code&gt; or &lt;code&gt;error_collector.attributes.exclude&lt;/code&gt;, the value will now no longer be sent to New Relic.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix tracing of functions returning generators&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When tracing generators whose parent traces have ended an error was seen in the logs &quot;Transaction ended but current_node is not Sentinel.&quot; This has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 12 Nov 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.0.0.124]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMC4wLjEyNA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-500124</link><pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent introduces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Event loop diagnostics feature&lt;/li&gt;
&lt;li&gt;Tornado instrumentation for versions 6 or higher&lt;/li&gt;
&lt;li&gt;Improved context manager API functionality and interfaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also drops support for Python 3.4.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Event loop diagnostics&lt;/h2&gt;
&lt;p&gt;Introducing event loop diagnostics for asyncio! The Python agent can now surface information about transactions that block the event loop. The agent will be able to generate information about transactions that have waited a significant amount of time to acquire control of the event loop.&lt;/p&gt;
&lt;p&gt;Event loop diagnostic information will be available in both APM and via NRQL query.&lt;/p&gt;
&lt;p&gt;Event loop metrics will appear in the transaction &lt;strong&gt;Breakdown table&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;block-image image&quot;&gt;&lt;img src=&quot;https:/docs.newrelic.com/images/python-event-loop-breakdown-table.webp&quot; alt=&quot;Image of breakdown UI page&quot;&gt;&lt;/div&gt;
&lt;p&gt;Time spent waiting on other transactions will be shown in the transaction &lt;em&gt;Trace details&lt;/em&gt; page, as shown here:&lt;/p&gt;
&lt;div class=&quot;block-image image&quot;&gt;&lt;img src=&quot;https:/docs.newrelic.com/images/python-event-loop-trace-details.webp&quot; alt=&quot;Image of breakdown UI page&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;code&gt;eventLoopTime&lt;/code&gt; and &lt;code&gt;eventLoopWait&lt;/code&gt; attributes will be available via NRQL query. An example query might be:&lt;br&gt;
&lt;code&gt;SELECT count(*) as &apos;count&apos;, average(eventLoopTime) as &apos;loopTime&apos;, average(eventLoopWait) as &apos;loopWait&apos; FROM Transaction facet name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In New Relic Insights, this might show a result like this:&lt;/p&gt;
&lt;div class=&quot;block-image image&quot;&gt;&lt;img src=&quot;https:/docs.newrelic.com/images/python-event-loop-insights-table.webp&quot; alt=&quot;Image of breakdown UI page&quot;&gt;&lt;/div&gt;
&lt;p&gt;Diagnostics will be available by default through our existing aiohttp, sanic, and Tornado instrumentation. Diagnostic information will also be available for coroutines that use our background_task and web_transaction decorator APIs.&lt;/p&gt;
&lt;h2&gt;Tornado 6 Instrumentation&lt;/h2&gt;
&lt;p&gt;Instrumentation for Tornado framework version 6.x is supported without any feature flags. Support for versions earlier than Tornado 6.x has been dropped. The Tornado web server, framework, and http client are instrumented and information will show up in both APM and insights.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Using the &lt;code&gt;tornado.gen.coroutine&lt;/code&gt; with instrumentation is not supported. Any usage of &lt;code&gt;tornado.gen.coroutine&lt;/code&gt; should be replaced with an asyncio coroutine.&lt;/p&gt;
&lt;h3&gt;Before&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;class MainHandler(tornado.web.RequestHandler):
    @tornado.gen.coroutine
    def get(self):

        yield gen.sleep(0.2)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;After&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;class MainHandler(tornado.web.RequestHandler):
    @asyncio.coroutine
    def get(self):

        yield from gen.sleep(0.2)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Improved APIs for time trace context managers&lt;/h2&gt;
&lt;p&gt;Context managers (such as FunctionTrace, ExternalTrace, DatastoreTrace) may now be used from within asyncio coroutines! Additionally, the transaction argument is no longer used for any context manager API. In order to transition to the new API, &lt;strong&gt;the transaction argument must be removed&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Before&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;transaction = newrelic.agent.current_transaction()
with newrelic.agent.FunctionTrace(transaction, &quot;my_trace&quot;):
  pass
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;After&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;with newrelic.agent.FunctionTrace(&quot;my_trace&quot;):
  pass
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Updated WebTransaction context manager&lt;/h3&gt;
&lt;p&gt;The WebTransaction context manager is no longer WSGI dependent. The context manager takes generic HTTP arguments, which you can use to build web transactions that appear in the APM product. For more information, see our &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/api-guides/guide-using-python-agent-api&quot;&gt;API documentation&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 06 Aug 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v4.8.0.110]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTQuOC4wLjExMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-480110</link><pubDate>Mon, 03 Dec 2018 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Falcon framework, and includes various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Falcon web framework&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release adds support for the Falcon web framework. Data will now be automatically collected for applications using Falcon framework. The data will appear in both APM and Insights and will include performance details as well as information on application errors.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&quot;newrelic-admin record_deploy&quot; now functions with proxies.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;newrelic-admin&lt;/code&gt; record&lt;em&gt;deploy command previously did not function when a proxy was defined by the newrelic.ini configuration file or the `NEW_RELIC_PROXY&lt;/em&gt;*` environment variables. This bug has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cross Application Tracing HTTP response headers were inserted on a 304 response&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When cross application tracing is enabled and the agent received a HTTP request from an application utilizing cross application tracing, the agent may have inserted additional response headers on a 304 HTTP response. The agent will no longer insert headers on a 304 response.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 03 Dec 2018 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.0.2.126]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMC4yLjEyNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-502126</link><pubDate>Mon, 12 Aug 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes for feedparser and django-piston.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed a crash when using feedparser&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running with the feedparser library the agent would crash on attempting to parse an RSS feed. This issue has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed a crash when using django-piston&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running with the django-piston library the agent would crash on attempting to service a request. This issue has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 12 Aug 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.0.1.125]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMC4xLjEyNQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-501125</link><pubDate>Fri, 09 Aug 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix for the mako library instrumentation.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed a crash when using the Mako template library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running with the Mako template library the agent would crash on attempting to render a template. This issue has now been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 09 Aug 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.10.0.138]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTAuMC4xMzg=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5100138</link><pubDate>Mon, 09 Mar 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes an update to the API for recording exceptions, default request attributes, optional function trace attributes, and bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;newrelic.agent.record_exception now adds attributes to spans&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The public API method &lt;code&gt;newrelic.agent.record_exception&lt;/code&gt; now attaches exception details to the currently executing span. Spans with error details are now highlighted red in the distributed tracing UI. Also, the attributes &lt;code&gt;error.class&lt;/code&gt; and &lt;code&gt;error.message&lt;/code&gt; are added to the span. If multiple errors are recorded for a single span, only the final error&apos;s attributes will be added to the span.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Note: Exceptions recorded on spans may be double counted in the distributed tracing UI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New default web request attributes.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The previously optional attributes &lt;code&gt;request.headers.accept&lt;/code&gt;, &lt;code&gt;request.headers.host&lt;/code&gt;, and &lt;code&gt;request.headers.userAgent&lt;/code&gt; are now included by default on all web transactions. These attributes can be excluded through &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/enabling-disabling-attributes-python&quot;&gt;agent configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;peer.address and peer.hostname can now be excluded from spans through configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;peer.address and peer.hostname may be excluded from span events through &lt;code&gt;attribute.exclude&lt;/code&gt; options in the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/attributes/enabling-disabling-attributes-python&quot;&gt;agent configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix issue which could potentially lead to missing event data&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the agent was shutting down, event harvest may have been skipped causing any events captured in the final 5 seconds of application execution to be discarded. This has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Runtime instrumentation error messages for calling &lt;code&gt;__exit__&lt;/code&gt; before &lt;code&gt;__enter__&lt;/code&gt; were erroneously logged&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Under certain conditions, the agent may have logged an error message for transaction &lt;code&gt;__exit__&lt;/code&gt; being called before trace &lt;code&gt;__enter__&lt;/code&gt;. This error message is now printed only if the error condition is true.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Known issues and workarounds&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Python agents to this agent release.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 09 Mar 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.12.0.140]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTIuMC4xNDA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5120140</link><pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes support for a new product called Infinite Tracing, and it also has some bug fixes&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Feature&lt;/h2&gt;
&lt;p&gt;This release adds support for &lt;a href=&quot;https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/enable-configure/enable-distributed-tracing&quot;&gt;Infinite Tracing&lt;/a&gt;. Infinite Tracing observes 100% of your distributed traces and provides visualizations for the most actionable data. With Infinite Tracing, you get examples of errors and long-running traces so you can better diagnose and troubleshoot your systems.&lt;/p&gt;
&lt;p&gt;Configure your agent to send traces to a trace observer in New Relic Edge. View distributed traces through New Relic’s UI. There is no need to install a collector on your network.&lt;/p&gt;
&lt;p&gt;Infinite Tracing is currently available on a sign-up basis. If you would like to participate, please contact your sales representative.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix record transaction failure in async applications&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the agent attempted to record information as part of event loop diagnostics, an AttributeError may have occurred during the record transaction phase causing data to not be recorded for that transaction. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 13 Apr 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.12.1.141]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTIuMS4xNDE=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5121141</link><pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AIOHTTP http client urls displayed as &lt;code&gt;unknown.url&lt;/code&gt; when using YARL URLs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When passing a YARL url object to the aiohttp client, the agent did not properly parse this URL, resulting in unknown.url being displayed in the UI. The URL is now parsed correctly in both the YARL url case and the string url case.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data may not be recorded when tornado&apos;s &lt;code&gt;RequestHandler.finish&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;RequestHandler.finish&lt;/code&gt; in tornado caused the transaction to exit before all traces (inserted by automatic instrumentation) were complete, resulting in missing data. All traces now exit when &lt;code&gt;RequestHandler.finish&lt;/code&gt; is called.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;asyncio.ensure_future&lt;/code&gt; / &lt;code&gt;asyncio.create_task&lt;/code&gt; is unable to spawn new transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Calling &lt;code&gt;asyncio.create_task&lt;/code&gt; / &lt;code&gt;asyncio.ensure_future&lt;/code&gt; was unable to spawn a new transaction if these methods were called from within an existing transaction. New transactions can now be created when &lt;code&gt;ensure_future&lt;/code&gt;/&lt;code&gt;create_task&lt;/code&gt; is called from within an existing transaction and no traces have been started on the spawned task.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;py3: A runtime instrumentation error may have occurred when transactions were finalized&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When transactions became garbage (if the reference to the transaction was lost as part of a circular reference for example), a runtime instrumentation error may have been logged. The error conditions have been relaxed to allow for certain states within the agent when a transaction becomes garbage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Application crash when starting a transaction when one is already active&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Starting a transaction via the context manager APIs when a transaction is already active no longer causes an application crash. An error is logged when this case is detected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Creating a message transaction with distributed tracing enabled may have resulted in a crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent crashed with an &lt;code&gt;AttributeError&lt;/code&gt; when using message transactions with distributed tracing enabled when headers were not provided. This error has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 04 May 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.14.0.142]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTQuMC4xNDI=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5140142</link><pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes improvements to distributed tracing, and bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new span attribute transaction.name&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A new attribute, &lt;code&gt;transaction.name&lt;/code&gt;, has been added to the root span.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Transaction attributes are added to the root span&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Transaction attributes, including response attributes, are now added to the root span.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Custom attributes are added to the root span&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The public API methods &lt;code&gt;newrelic.agent.add_custom_param&lt;/code&gt; and &lt;code&gt;newrelic.agent.add_custom_params&lt;/code&gt; now add the specified custom attribute to the root span in addition to the transaction. If the maximum number of custom attributes is reached, span-level custom attributes take precedence over transaction-level custom attributes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Error attributes added to each span/segment&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Error attributes &lt;code&gt;error.class&lt;/code&gt; and &lt;code&gt;error.message&lt;/code&gt; to all spans that exit without handling an exception.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;asyncio: application crash when a transaction that started on a completed parent task exits&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When a transaction that started on a completed parent task exited, an exception was raised. This error has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Error attributes are no longer added if the error collector is disabled&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If the error collector is disabled via error_collector.enabled, error attributes &lt;code&gt;error.class&lt;/code&gt; and &lt;code&gt;error.message&lt;/code&gt; are not added to the currently executing span.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Security Updates&lt;/h2&gt;
&lt;p&gt;Note that changes were made that add attributes to the root span. Transaction-level attribute filtering via the transaction.attribute.exclude configuration setting will not filter the attribute(s) for the root span. Those attributes may unexpectedly start to appear on the root span.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 02 Jun 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.14.1.144]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTQuMS4xNDQ=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5141144</link><pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;When using newrelic-admin run-program on Python 2.7 applications failed to start&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the newrelic-admin run-program on Python 2.7 with the 5.14.0 agent resulted in an application crash. Applications now start as expected on Python 2.7.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 18 Jun 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.16.0.145]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTYuMC4xNDU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5160145</link><pubDate>Mon, 10 Aug 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent changes the internal http client from requests to urllib3, updates logging, and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The NewRelicContextFormatter now records extras&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the &lt;code&gt;NewRelicContextFormatter&lt;/code&gt; log formatter, extras are now automatically captured and recorded in the New Relic agent logs product.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The agent now internally uses urllib3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The python agent previously used requests as its http client. The agent now uses urllib3 internally for HTTP communication with New Relic data ingest services.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix gRPC application crash when credentials are supplied&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the credentials argument, the agent&apos;s built in gRPC instrumentation caused an application crash. This crash has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Tornado framework crashes when finish is called from a different task&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When finish is called from a different task, applications using the Tornado framework may crash. This crash has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 10 Aug 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.16.1.146]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTYuMS4xNDY=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5161146</link><pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent introduces manylinux wheels and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data was erroneously discarded when an HTTP protocol error occurred&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When an unexpected HTTP error occurred (such as a timeout), data was erroneously discarded. Data is now downsampled and retransmitted when an HTTP protocol error occurs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Error when installing with an incompatible setuptools_scm version&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The version requirements were not correctly set for the setuptools_scm build time requirement, which may have resulted in an error at installation. The version requirements for setuptools_scm are now set appropriately.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 17 Aug 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.16.2.147]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTYuMi4xNDc=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5162147</link><pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix invalid payloads generated when using serverless mode&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using serverless mode on the Python Agent versions v5.16.0 and v5.16.1, invalid serverless/lambda payloads were generated. The agent now generates the proper payloads in serverless mode.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 24 Aug 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.18.0.148]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMTguMC4xNDg=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5180148</link><pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds new ASGI apis and upgrades wrapt.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds support for ASGI applications via built in APIs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASGI applications can now be timed via middleware-like API calls. Browser monitoring JS is automatically injected into HTML pages by the ASGI browser monitoring middleware for instrumented applications. See the asgi_application docs for details on API usage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upgrades wrapt to 1.12.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This version of the agent ships with wrapt 1.12.1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 31 Aug 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.20.1.150]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMjAuMS4xNTA=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5201150</link><pubDate>Tue, 06 Oct 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Python 3.9 and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Duplicate warnings were logged repeatedly when using the agent with Python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent internally suppressed any warnings generated when data was sent via HTTP to New Relic in a way that caused the warning filters to mutate. This caused the cache of already printed warnings to be cleared, resulting in duplicate warnings after every data harvest. The agent no longer mutates the process warning filters on a background thread, resulting in consistent warning behavior.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AttributeError when passing an inactive transaction into ExternalTrace.generate_request_headers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When passing an inactive transaction into ExternalTrace.generate_request_headers, an AttributeError was generated. This agent version contains additional validation for the transaction argument in ExternalTrace.generate_request_headers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The infinite tracing host configuration value did not have sufficient validation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When passing a URL or other invalid host to the infinite tracing host configuration, the agent accepted this value unchecked to use in the host parameter for later connections via grpc. The agent now validates this configuration and attempts to correct for invalid hosts if it is able to detect the host. If a host is not detected, the agent automatically falls back to infinite tracing disabled and logs an error.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 06 Oct 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.2.0.127]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMi4wLjEyNw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-520127</link><pubDate>Tue, 01 Oct 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix for tornado and support for recording deployment markers in the EU region as well as specifying a deploy timestamp.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for Real Time Streaming&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Event data is now sent to New Relic every five seconds, instead of every minute. As a result, transaction, error, and custom events will now be available in New Relic and Insights dashboards in near real time. For more information on how to view your events with a five-second refresh, see the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/real-time-streaming&quot;&gt;real time streaming documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Note that the overall limits on how many events can be sent per minute have not changed. Also, span events, metrics, and trace data is unaffected, and will still be sent every minute.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added timestamp and EU region support for recording deployment markers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using the newrelic-admin record-deploy script an optional timestamp can be provided to specify when the deployment marker should be created. Furthermore support for accounts in the EU region have been added in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed a crash in tornado versions &gt;= 6.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tornado 6.1 internals changed in a way that may have caused the agent&apos;s built-in instrumentation to fail. The instrumentation has been updated to alleviate this issue.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 01 Oct 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.2.1.129]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMi4xLjEyOQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-521129</link><pubDate>Wed, 09 Oct 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash when using future-based interfaces on Tornado&apos;s http client&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tornado&apos;s http client returns a future when fetch is called. Prior to this release, the agent caused a coroutine object to be returned rather than a future, causing a potential crash when application code assumed a future would be returned. A future will now be returned from http client fetch as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash when running a coroutine created in another transaction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running a coroutine outside of the transaction that created it, the agent may have crashed if a separate transaction was active.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 09 Oct 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.22.0.151]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMjIuMC4xNTE=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5220151</link><pubDate>Thu, 22 Oct 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for &lt;a href=&quot;https://www.starlette.io/&quot;&gt;Starlette&lt;/a&gt; and &lt;a href=&quot;https://fastapi.tiangolo.com/&quot;&gt;FastAPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Python 3.5 has been deprecated&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.5 has reached &lt;a href=&quot;https://www.python.org/dev/peps/pep-0478/#release-schedule&quot;&gt;end of life&lt;/a&gt; and support will be dropped in a future release. Using the agent with Python 3.5 will generate a deprecation warning. Updating Python versions is recommended.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds Starlette framework instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Starlette applications will now be automatically instrumented. Transaction data will be collected and recorded for application routes, background tasks, exception handlers, and installed middleware. Exception logging has also been added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds FastAPI framework instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;FASTAPI applications will also now be automatically instrumented. See above for instrumentation details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix deprecation warning for find_loader in python 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the agent no longer generates a deprecation warning for find_loader. The call to find_loader has been replaced with find_spec.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 22 Oct 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.20.0.149]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMjAuMC4xNDk=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5200149</link><pubDate>Mon, 21 Sep 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for &lt;a href=&quot;https://www.uvicorn.org/&quot;&gt;uvicorn&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/asyncpg/&quot;&gt;asyncpg&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds uvicorn instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASGI applications are now automatically wrapped when using the uvicorn ASGI server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds asyncpg instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Support has been added for recording database transactions when using asyncpg database client module for PostgresSQL.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds db.operation attribute&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A new attribute, db.operation, was introduced for datastore traces. This value is recorded only when db.statement is not reported, and represents an operation triggered by methods other than running a DB statement.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 21 Sep 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.2.2.130]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMi4yLjEzMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-522130</link><pubDate>Wed, 06 Nov 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix thread utilization data on agent versions v5.x.x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thread utilization data was not reported for agents v5.x.x, resulting in missing data on the capacity analysis page. The agent will now report thread utilization data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix untraced database calls when using pymysql context manager assignments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using context managers to create and assign a cursor in pymysql, database calls on that cursor object were not traced. Database calls in pymysql are now properly traced.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 06 Nov 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.22.1.152]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMjIuMS4xNTI=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5221152</link><pubDate>Wed, 28 Oct 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent updates transaction naming for &lt;a href=&quot;https://www.starlette.io/&quot;&gt;Starlette&lt;/a&gt; and &lt;a href=&quot;https://fastapi.tiangolo.com/&quot;&gt;FastAPI&lt;/a&gt;, and includes bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Updated transaction naming for middleware in Starlette and FastAPI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The transaction naming hierarchy has been updated for Starlette and FastAPI applications. The web transaction name is named after the route handler, or after middleware if an exception is raised in the middleware.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RuntimeError for imports occurring on a background thread&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A RunTimeError was being raised in the event of imports occurring on a background thread during iteration over sys.modules. This issue has been resolved in this agent version.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fixed region aware license key default host setting&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This agent version contains a fix for setting the default host value based on the license key for EU license keys. Setting the host manually will still override the default host value set by the license key.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 28 Oct 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.2.3.131]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMi4zLjEzMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-523131</link><pubDate>Wed, 13 Nov 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes support for Python 3.8 and restores the original record-deploy command interface.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added Support for Python 3.8&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.8 support has been added in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Restore newrelic-admin record-deploy command interface&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The newrelic-admin command was previously updated to require an application id via the command line. The requirement has been removed, restoring the original record-deploy CLI arguments.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 13 Nov 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.4.0.132]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuNC4wLjEzMg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-540132</link><pubDate>Tue, 26 Nov 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes the logs in context feature and bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Logs In Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The logs in context feature is now supported by the PythonaAgent. For more information, see the &lt;a href=&quot;https://docs.newrelic.com/docs/logs/new-relic-logs/enable-logs-context/enable-logs-context-python&quot;&gt;Python logs-in-context page&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The plugin list in the environment page may have been inaccurately reported&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using absolute imports in Python 2, the agent may have reported relative imports that were attempted but unsuccessful. Python 3 is not impacted. Modules are now reported correctly in Python 2.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 26 Nov 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.24.0.153]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuMjQuMC4xNTM=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5240153</link><pubDate>Tue, 22 Dec 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes minor bug fixes.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix incorrect wrapper in &lt;a href=&quot;https://grpc.io/docs/&quot;&gt;grpc&lt;/a&gt; instrumentation.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;_MultiThreadedRendezvous._next&lt;/code&gt; was wrapped with the instrumentation designed for &lt;code&gt;_MultiThreadedRendezvous.result&lt;/code&gt;. This issue has been resolved as of this agent version.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 22 Dec 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.4.1.134]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuNC4xLjEzNA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-541134</link><pubDate>Thu, 19 Dec 2019 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix for reporting inaccurate metric values.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Metrics may be reported with an incorrect throughput after communication failure with New Relic&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For agent versions 5.2.0 through 5.4.0, metric throughput may have been reported inaccurately after experiencing network / communication failures with New Relic. The throughput reported for all metrics after this failure may have been abnormally high.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 19 Dec 2019 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.6.0.135]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuNi4wLjEzNQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-560135</link><pubDate>Mon, 03 Feb 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes an implementation for w3c trace context, support for uvloop, and various bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New APIs for creating / accepting distributed trace headers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This version of the agent deprecates &lt;code&gt;newrelic.agent.create_distributed_trace_payload&lt;/code&gt; and &lt;code&gt;newrelic.agent.accept_distributed_trace_payload&lt;/code&gt; in favor of &lt;code&gt;newrelic.agent.insert_distributed_trace_headers&lt;/code&gt; and &lt;code&gt;newrelic.agent.accept_distributed_trace_headers&lt;/code&gt;. See the Python agent API documentation for details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for W3C Trace Context, with easy upgrade from New Relic Trace Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Distributed Tracing now supports W3C Trace Context headers for HTTP and gRPC protocols when distributed tracing is enabled. Our implementation can accept and emit both W3C trace header format and New Relic trace header format. This simplifies agent upgrades, allowing trace context to be propagated between services with older and newer releases of New Relic agents. W3C trace header format will always be accepted and emitted. New Relic trace header format will be accepted, and you can optionally disable emission of the New Relic trace header format.&lt;/p&gt;
&lt;p&gt;When distributed tracing is enabled with &lt;code&gt;distributed_tracing.enabled = true&lt;/code&gt;, the Python agent will now accept W3C&apos;s &lt;code&gt;traceparent&lt;/code&gt; and &lt;code&gt;tracestate&lt;/code&gt; headers when calling &lt;code&gt;accept_distributed_trace_headers&lt;/code&gt;. When calling &lt;code&gt;insert_distributed_trace_headers&lt;/code&gt;, the Python agent will include the W3C headers along with the New Relic distributed tracing header, unless the New Relic trace header format is disabled using &lt;code&gt;distributed_tracing.exclude_newrelic_header = true&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Also, see the &quot;Known Issues and Workarounds&quot; section of these Release notes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for uvloop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Transaction context may not have been propagated when using uvloop. This could have resulted in incomplete traces or instrumentation failures when using uvloop. uvloop is now supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash when using aiohttp_cors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Customers using the agent with aiohttp_cors may have experienced a crash when the aiohttp_cors framework was used in conjunction with aiohttp class based views. This crash has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix grpc v1.26 instrumentation errors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Customers using grpc v1.26 and above may have experienced an error message in the New Relic agent logs indicating there was an instrumentation error. Additionally, some data may have been missing when this error was encountered. This issue has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Known Issues and Workarounds&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Python agents to this agent release.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 03 Feb 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.0.0.154]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuMC4wLjE1NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-600154</link><pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for &lt;a href=&quot;https://www.python-httpx.org/&quot;&gt;httpx&lt;/a&gt;, removes support for Python 3.5, and includes performance enhancements.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removed support for Python 3.5&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.5 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.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added httpx instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;External web service requests made with the httpx client module will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added Django ASGI instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Django&apos;s ASGI mode will now be supported through automatic instrumentation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved startup performance&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The loading of urllib3 is now delayed and happens on a background thread which improves overall initialization time.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Non-ASCII HTTP referers crash fix&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Crashes had occurred when non-ASCII HTTP referers were passed to ASGI applications. This crash no longer occurs as of this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 21 Jan 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v5.8.0.136]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTUuOC4wLjEzNg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-580136</link><pubDate>Mon, 24 Feb 2020 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a new API for adding custom attributes on span events, improvements to external type spans, deprecations, and bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new api newrelic.agent.add_custom_span_attribute&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There is now a public API method allowing users to add custom attributes directly to spans.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;External spans now contain HTTP response code&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;External HTTP spans will now contain a new attribute &lt;code&gt;http.statusCode&lt;/code&gt; with the http response code for each external call made. This attribute will be added when using any supported HTTP client.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LambdaHandlerWrapper and lambda_handler APIs are deprecated&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Lambda API functionality has been moved to a separate package called &lt;a href=&quot;https://pypi.org/project/newrelic-lambda/&quot;&gt;newrelic-lambda&lt;/a&gt;. All future lambda implementations should use the new package for lambda monitoring.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix application crash when using a non-WSGI framework with synthetics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When synthetic monitors were used with an application utilizing a non-WSGI web framework (such as aiohttp), a crash could have occurred if an outbound HTTP request was attempted from within the transaction. This crash has now been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The Python agent generates an invalid nr tracestate entry&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Under certain random conditions, the agent may have generated an invalid New Relic w3c tracestate entry, resulting in potentially missing parts of traces. This invalid tracestate entry would not impact propagation of tracestate values from other vendors.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Known issues and workarounds&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Python agents to this agent release.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Mon, 24 Feb 2020 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.4.0.157]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNC4wLjE1Nw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60400157</link><pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent deprecates the old &lt;code&gt;record_exception&lt;/code&gt; API, replaces the &lt;code&gt;error_collector.ignore_errors&lt;/code&gt; setting, adds a new &lt;code&gt;notice_error&lt;/code&gt; API, adds &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#expected&quot;&gt;expected errors&lt;/a&gt; functionality, improves the NewRelicContextFormatter, and fixes multiple bugs including a few potential crashes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecated &lt;code&gt;record_exception&lt;/code&gt; API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;record_exception&lt;/code&gt; has been superseded by the new &lt;code&gt;notice_error&lt;/code&gt; API. The old API will forward exceptions to &lt;code&gt;notice_error&lt;/code&gt; with a deprecation warning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecated &lt;code&gt;error_collector.ignore_errors&lt;/code&gt; setting&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;error_collector.ignore_errors&lt;/code&gt; has been replaced with &lt;code&gt;error_collector.ignore_classes&lt;/code&gt; to match other agents. Please update your config files to use the new setting. The old setting will continue to function with a deprecation warning.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added new &lt;code&gt;notice_error&lt;/code&gt; API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This new API falls much more in line with &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#error-collection&quot;&gt;other language agents&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It also includes &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#expected&quot;&gt;expected errors&lt;/a&gt; functionality and a status code parameter.&lt;/p&gt;
&lt;p&gt;To see all changes, view the &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/noticeerror-python-agent-api/&quot;&gt;documentation&lt;/a&gt; for this API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Added new expected errors feature&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This feature implements &lt;a href=&quot;https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#expected&quot;&gt;expected errors&lt;/a&gt; as documented here. To enable them, use the following new settings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration/#error-expected&quot;&gt;&lt;code&gt;error_collector.expected_classes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration/#error-expected-status-codes&quot;&gt;&lt;code&gt;error_collector.expected_status_codes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved NewRelicContextFormatter&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adds new &lt;code&gt;log_record_to_dict&lt;/code&gt; function to separate logic for JSON serialization and converting to a dictionary, enabling custom formatters to access the data more easily.&lt;/p&gt;
&lt;p&gt;Custom attributes now attempt JSON serialization by default and fallback to strings, meaning dictionaries and other serializable types are now supported.&lt;/p&gt;
&lt;p&gt;Thank you to &lt;a href=&quot;https://github.com/chrislawlor&quot;&gt;@chrislawlor&lt;/a&gt; and &lt;a href=&quot;https://github.com/qvik-olli&quot;&gt;@qvik-olli&lt;/a&gt; for your contributions!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;error_collector.ignore_status_codes&lt;/code&gt; is now configurable in server-side configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously this setting was only available in the config file, but is now available via server-side configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Infinite tracing crash fix&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Crashes had occurred in infinite tracing following the inclusion of some startup timeout changes in v6.0.0. These changes have been rolled back.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RuntimeInstrumentationError crash removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Crashes occurred when a &lt;code&gt;RuntimeInstrumentationError&lt;/code&gt; was reached, indicating a potential problem with existing instrumentation. The exception is now caught and replaced with error level log messages to avoid crashing applications.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SQLite instrumentation consumes generator objects passed to &lt;code&gt;executemany&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A generator passed to &lt;code&gt;Connection.executemany&lt;/code&gt; would unexpectedly be consumed by our instrumentation. This has been corrected and generators are now properly supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Known Issues&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Flask v2.0.0 support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Flask released a new major version recently that we do not yet support, but expect to in the near future.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sanic support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sanic has released large changes to the framework recently that have broken some of our instrumentation on certain versions, and can crash the agent on others. We expect to correct these issues in the near future.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 25 May 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.0.1.155]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuMC4xLjE1NQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-601155</link><pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix for &lt;a href=&quot;https://www.python-httpx.org/&quot;&gt;httpx&lt;/a&gt; instrumentation.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;httpx process response attribute error&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In httpx instrumentation, an attribute error was occurring during processing of the HTTP response. This issue was resolved in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 21 Jan 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.4.1.158]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNC4xLjE1OA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60401158</link><pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0&quot;&gt;Flask v2&lt;/a&gt;, improves logging for HTTP exceptions, and includes a bug fix.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Flask v2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will automatically instrument error handlers, nested blueprints, and async views.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improve logging for 410 status codes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now logs the content of a data collector response which specifies the reason for a disconnect for 410 status codes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reintroduce non-PID specific memory metrics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In agent version v6.2.0.156, memory metrics were modified to add the PID to each metric name. This release reintroduces non-PID specific memory metrics.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 04 Jun 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.4.2.159]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNC4yLjE1OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60402159</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent updates Sanic instrumentation to support all available versions.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Sanic instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent has updated support for all Sanic versions, with testing done on all versions &gt;=18.12.0. Additionally, blueprint middleware is now supported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Pyramid transaction naming&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, transaction names from exception views overrode route names. We&apos;ve reversed this priority to be more in line with other instrumentation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix inspect.formatargspec deprecation warning&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A deprecation warning concerning &lt;code&gt;inspect.formatargspec&lt;/code&gt; has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix HTTPX crash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Initializing the agent after creating an HTTPX client could cause a crash in HTTPX. This has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 22 Jun 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.4.3.160]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNC4zLjE2MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60403160</link><pubDate>Wed, 23 Jun 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes a bug fix related to middleware and background tasks in Starlette/ FastAPI.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Starlette/ FastAPI transaction naming and classification&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Starlette/ FastAPI routes that contained middleware and background tasks were being incorrectly classified as non-web transactions and named after the background task rather than the route. This has been corrected in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 23 Jun 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.4.4.161]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNC40LjE2MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60404161</link><pubDate>Tue, 06 Jul 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds wildcarding to instrumentation config and fixes a crash in the memory metric sampler.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add wildcard matching to instrumentation via config file&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now supports wildcards for classes and functions when instrumenting via config file. &lt;strong&gt;Note: this does not include module paths.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash in memory sampling on BSD kernels&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A crash in the memory metric sampler was possible when using kernels besides MacOS and Linux. This has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 06 Jul 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.6.0.162]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuNi4wLjE2Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-6060162</link><pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds new GraphQL instrumentation support for the &lt;a href=&quot;https://graphene-python.org/&quot;&gt;Graphene&lt;/a&gt; library and Graphene schemas created in Starlette/ FastAPI.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Graphene&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Graphene applications will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Graphene schemas in Starlette/FastAPI with use of an AsyncioExecutor&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Starlette/ FastAPI applications using GraphQL in conjunction with an &lt;a href=&quot;https://www.starlette.io/graphql/#sync-or-async-executors&quot;&gt;AsyncioExecutor&lt;/a&gt; will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 29 Jul 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.8.0.163]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuOC4wLjE2Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60800163</link><pubDate>Wed, 04 Aug 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds ARM64 wheels and fixes a crash in unsupported GraphQL versions.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add wheel support for ARM64 (a.k.a. AArch 64, ARMv8)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now provides prebuilt wheels for ARM64 for Python versions &gt;=3.6. This requires a version of pip&gt;=19.3.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash in unsupported GraphQL versions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A crash in GraphQL could occur when using an older version not supported by our instrumentation (ie. &lt;code&gt;graphql-core&amp;#x3C;2.1&lt;/code&gt;). This has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 04 Aug 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.10.0.165]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuMTAuMC4xNjU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-61000165</link><pubDate>Thu, 16 Sep 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds new instrumentation for the GraphQL frameworks Strawberry and Ariadne, updates to Graphene and Starlette GraphQL instrumentation, a change to logging configuration, and includes bug fixes.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new instrumentation for Strawberry&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GraphQL applications built using Strawberry will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new instrumentation for Ariadne&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GraphQL applications built using Ariadne will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new and changed metrics for Graphene applications&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Metrics specifying the framework details for Graphene have been added, and GraphQL metrics now include Graphene as a product field.&lt;/p&gt;
&lt;p&gt;(eg. &lt;code&gt;GraphQL/operation/Graphene/query/&amp;#x3C;query_name&gt;/&amp;#x3C;query_path&gt;&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improve tracing in Starlette GraphQL applications&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GraphQL applications using Starlette now support all executor classes. Previously, only async executor classes were supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New Relic agent logs no longer propagate to the root logger by default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, logs using the &lt;code&gt;logging&lt;/code&gt; module sent to the &lt;code&gt;newrelic&lt;/code&gt; logger would propagate to the root logger, potentially causing duplicate logs to appear or be sent to New Relic. This has been changed to no longer propagate to the root logger by default.&lt;/p&gt;
&lt;p&gt;To reverse this behavior, in your application you can run &lt;code&gt;logging.getLogger(&quot;newrelic&quot;).propagate = True&lt;/code&gt; at any point after initializing the agent. If you use the &lt;code&gt;newrelic-admin&lt;/code&gt; wrapper, this can be done at any time inside your application.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;TimeTrace.&lt;/strong&gt;str&lt;strong&gt; recursion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A case of infinite recursion with &lt;code&gt;TimeTrace.__str__&lt;/code&gt; has been corrected in this release. Calling &lt;code&gt;str()&lt;/code&gt;, &lt;code&gt;repr()&lt;/code&gt; or &lt;code&gt;print()&lt;/code&gt; on a &lt;code&gt;TimeTrace&lt;/code&gt; object or subclass instance will now display helpful debugging information about it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 16 Sep 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.8.1.164]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuOC4xLjE2NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-6081164</link><pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent updates the log file location in the default &lt;code&gt;newrelic.ini&lt;/code&gt; file, and includes multiple bug fixes.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, or it can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update log_file location in default &lt;code&gt;newrelic.ini&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;newrelic.ini&lt;/code&gt; generated using &lt;code&gt;newrelic-admin generate-config&lt;/code&gt; has been updated to set the default &lt;code&gt;log_file&lt;/code&gt; location to &lt;code&gt;stdout&lt;/code&gt; for improved initial visibility. This setting can still be customized to log to &lt;code&gt;stderr&lt;/code&gt; or a user-specified file as well.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Handle &lt;code&gt;cherryPy.HTTPRedirects&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cherrypy.HttpRedirects&lt;/code&gt; were incorrectly being reported as errors. This has now been corrected thanks to a contribution from &lt;a href=&quot;https://github.com/bdeeney&quot;&gt;@bdeeney&lt;/a&gt;!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Address &lt;code&gt;DeprecationWarning&lt;/code&gt; for invalid escape sequence&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A deprecation warning concerning unrecognized escape sequences in Python 3.6 (and higher) has been fixed. Thank you &lt;a href=&quot;https://github.com/urianchang&quot;&gt;@urianchang&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 24 Aug 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v6.2.0.156]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTYuMi4wLjE1Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-620156</link><pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent includes new garbage collection runtime metrics as well as improved metrics for CPU and memory usage. This release also includes bug fixes for Uvicorn instrumentation and FIPS compliant systems.&lt;/p&gt;
&lt;p&gt;The agent can be installed using easy_install/pip/distribute via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or can be downloaded directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adds garbage collection runtime metrics.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Records statistics as metrics after garbage collection sweeps. This feature is disabled by default and can be enabled and configured with &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration&quot;&gt;these settings&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improved Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved CPU metric sampling.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adds separate metrics for user time, system time, and total time as well as utilization as a percentage for each.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved memory metric sampling.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adds memory utilization as a percentage, and adds PID to metrics to allow faceting in NRQL queries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Increased custom attribute limit from 64 to 128.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The custom attribute limit affects user added attributes on spans, events, and transactions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixed a TypeError with Uvicorn and unix sockets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed a crash when using a FIPS compliant system with Cross Agent Tracing enabled.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 25 Feb 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.0.0.166]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMC4wLjE2Ng==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70000166</link><pubDate>Wed, 22 Sep 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent enables Distributed Tracing by default, deprecates Cross Application Tracing.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reservoir sizes now configurable using settings and environment variables&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Reservoir sizes for span events, transaction events, error events, and custom events are now configurable via environment variables. These reservoirs limit both the maximum number of events that can be sent as well as local memory usage.&lt;/p&gt;
&lt;p&gt;The agent reservoir can be expanded to accommodate more spans in case more traces are needed or there are dropped spans. The default setting for &lt;code&gt;event_harvest_config.harvest_limits.span_event_data&lt;/code&gt; has been increased from 1000 to 2000 for better performance. This variable can be increased up to a size of 10,000.&lt;/p&gt;
&lt;p&gt;These settings previously existed via config file but were undocumented. For details, see the new &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#event-harvest-config&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cross Application Tracing is now deprecated, and disabled by default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Distributed Tracing is replacing Cross Application Tracing as the default means of tracing between services. Cross Application Tracing will soon be removed entirely with a future release.&lt;/p&gt;
&lt;p&gt;The default setting for &lt;code&gt;cross_application_tracer.enabled&lt;/code&gt; is now False, disabling Cross Application Tracing.&lt;/p&gt;
&lt;p&gt;To continue using it temporarily while transitioning to Distributed Tracing, enable it with &lt;code&gt;cross_application_tracer.enabled = True&lt;/code&gt; and &lt;code&gt;distributed_tracing.enabled = False&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Distributed Tracing is enabled by default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The default setting for &lt;code&gt;distributed_tracing.enabled&lt;/code&gt; is now True, enabling Distributed Tracing by default.&lt;/p&gt;
&lt;p&gt;To disable Distributed Tracing, please set the &lt;code&gt;distributed_tracing.enabled&lt;/code&gt; setting to False.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 22 Sep 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.2.3.170]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMi4zLjE3MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70203170</link><pubDate>Thu, 04 Nov 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes an issue with FastAPI instrumentation, as well as restricts gRPC to compatible versions.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix FastAPI context propagation error&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A runtime instrumentation error stemming from context propagation in FastAPI has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix gRPC incompatibilities&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The version of gRPC has been pinned until compatiblity can be ensured with newer versions.&lt;/p&gt;
&lt;p&gt;gRPC recently enabled retries by default on channel connections, potentially causing a storm of requests and open threads to starve the host of resources, as well as strain our trace observers. This pin should alleviate these issues until retries can be properly configured.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 04 Nov 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.2.0.167]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMi4wLjE2Nw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70200167</link><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds supported builds for Python 3.10 and fixes bugs.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add Python 3.10 wheels&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wheels for Python 3.10 are now available and supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upgrade internal urllib3 to v1.26.7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The internal copy of urllib3 has been upgraded to v1.26.7 to address Python 3.10 issues and deprecation warnings.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ensure errors are ignored by server-side config&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously it was possible on transaction exit to have an error fail to be ignored when the settings were supplied via server-side config. This has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deprecation warnings for imp module removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;imp&lt;/code&gt; module has been deprecated for some time, and has been issuing warnings. This module has been replaced with &lt;code&gt;importlib&lt;/code&gt; when available.&lt;/p&gt;
&lt;p&gt;Older versions of Python may still require the use of &lt;code&gt;imp&lt;/code&gt;, but no deprecation warnings should be emitted.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 12 Oct 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.2.1.168]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMi4xLjE2OA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70201168</link><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds a patch to correctly build wheels for Python 3.10.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix wheels for Python 3.10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An incorrect version of &lt;code&gt;cibuildwheel&lt;/code&gt; failed to create Python 3.10 wheels. This has been fixed and wheels should now be available.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 12 Oct 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.2.2.169]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMi4yLjE2OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70202169</link><pubDate>Fri, 15 Oct 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes an issue with urllib recursion as well as an import error caused by non-ASCII characters in comments&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix urllib3 recursion regression&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Urllib3 recursion regression issue that was seen in Gevent has been fixed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix import error caused by non-ASCII character in comments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An import error caused by non-ASCII characters has been fixed to the correct quotation formatting&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 15 Oct 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.2.4.171]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMi40LjE3MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70204171</link><pubDate>Thu, 11 Nov 2021 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes an issue with infinite tracing&apos;s usage of gRPC allowing subchannels to retry, and fixes failing database traces.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix gRPC retry logic&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously gRPC subchannels left open by infinite tracing could cause network congestion and strain our trace observers. This issue has been corrected. As such, specific versions of gRPC are no longer required.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash in database trace&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A crash in database traces resulting from nullified settings (seen rarely in Django) has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 11 Nov 2021 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.6.0.173]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuNi4wLjE3Mw==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70600173</link><pubDate>Fri, 25 Feb 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Aredis, upgrades to the AWS metadata endpoint to IMDSv2, and fixes attribute errors with the garbage collector sampler.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add support for Aredis&lt;/strong&gt;
The agent will now automatically instrument and send metrics for applications using the StrictRedis client from Aredis.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Upgrades to the AWS Metadata Endpoint&lt;/strong&gt;
Upgrades the AWS metadata endpoint to IMDSv2.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Garbage Collection Sampler Attribute Errors&lt;/strong&gt;
A crash caused by an attribute error on the garbage collector sampler has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Safeguards Against Lost Data with Infinite Tracing&lt;/strong&gt;
Fixed race condition between agent and gRPC that resulted in loss of data on agent reconnect.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Fri, 25 Feb 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.4.0.172]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuNC4wLjE3Mg==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70400172</link><pubDate>Thu, 20 Jan 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for Django v4, Redis v4, GraphQL v3.2, as well as fixes to the memory sample exception, Graphene framework, and import hook warnings for Python 3.10.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Django v4&lt;/strong&gt;
The agent will now automatically instrument and send metrics for applications using Django v4.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Redis v4&lt;/strong&gt;
The agent will now automatically instrument and send metrics for applications using Redis v4.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for graphql-core v3.2.0&lt;/strong&gt;
The agent will support the latest version of GraphQL.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix Graphene framework details&lt;/strong&gt;
Data on graphene framework details was missing on newer versions, this has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix memory sample exception&lt;/strong&gt;
This fixes the crash in memory sampler on non-supported systems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix import hook warnings for Python 3.10&lt;/strong&gt;
An &lt;code&gt;ImportWarning&lt;/code&gt; that was emitted when importing the agent in Python 3.10 has been corrected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 20 Jan 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.8.0.174]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuOC4wLjE3NA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-70800174</link><pubDate>Thu, 31 Mar 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for GraphQL Server, adds a log handler which forwards logs to the New Relic API, and increases functionality to &lt;code&gt;notice_error&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for GraphQL Server&lt;/strong&gt;
The agent will now automatically instrument and send metrics for applications using the GraphQL Server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add a Log Handler&lt;/strong&gt;
The agent is now able to forward logs to the New Relic API.  Thank you to &lt;a href=&quot;https://github.com/iamr0b0tx&quot;&gt;iamr0b0tx&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;More Robust &lt;code&gt;should_ignore_error&lt;/code&gt; calls&lt;/strong&gt;
Pass references to settings where possible to &lt;code&gt;should_ignore_error&lt;/code&gt; and makes custom &lt;code&gt;_nr_ignored&lt;/code&gt; logic more defined and incorporated into &lt;code&gt;notice_error&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 31 Mar 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.10.0.175]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMTAuMC4xNzU=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-71000175</link><pubDate>Wed, 06 Apr 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds CodeStream integration support which includes code level metrics.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add integration with CodeStream&lt;/strong&gt;
Now Introducing Code-Level Metrics! Golden Signals visible in your IDE through New Relic CodeStream.
Learn more &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/supported-features/python-codestream-integration&quot;&gt;here&lt;/a&gt;. For any issues or direct feedback, please reach out to &lt;a href=&quot;mailto:support@codestream.com&quot;&gt;support@codestream.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 06 Apr 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.14.0.177]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMTQuMC4xNzc=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-71400177</link><pubDate>Mon, 27 Jun 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for aioredis, enhances support for redis and aredis, and fixes a deprecation.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for aioredis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent will now automatically instrument and send metrics for applications using the Redis and StrictRedis clients for aioredis.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enhance support for redis and aredis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now instruments a more extensive list of commands for redis and aredis clients. This includes commands under the search, graph, time series, json, sentinel, and bf modules.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix &lt;code&gt;threading.currentThread&lt;/code&gt; deprecation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;threading.currentThread&lt;/code&gt; was &lt;a href=&quot;https://docs.python.org/3.12/whatsnew/3.10.html#deprecated&quot;&gt;deprecated in Python 3.10&lt;/a&gt; and has been replaced with &lt;code&gt;threading.current_thread&lt;/code&gt;. Thank you &lt;a href=&quot;https://github.com/hugovk&quot;&gt;hugovk&lt;/a&gt; for your contribution to the agent!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-500124/&quot;&gt;5.0.0.124&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 27 Jun 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.16.0.178]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMTYuMC4xNzg=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-71600178</link><pubDate>Thu, 21 Jul 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent enables log forwarding to New Relic by default. It also addresses a bug related to compressed bytes calculations and adds a new top level data usage supportability metric to the agent.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add APM logs in context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Automatic application log forwarding is now enabled by default. This version of the agent will automatically send enriched application logs to New Relic. To learn more about about this feature, see the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/get-started-logs-context/&quot;&gt;APM logs in context documentation&lt;/a&gt;. For additional configuration options, see the &lt;a href=&quot;https://docs.newrelic.com/docs/logs/logs-context/configure-logs-context-python/&quot;&gt;Python logs in context documentation&lt;/a&gt;. To learn about how to toggle log ingestion on or off by account, see our documentation to &lt;a href=&quot;https://docs.newrelic.com/docs/logs/logs-context/disable-automatic-logging&quot;&gt;disable automatic logging&lt;/a&gt; via the UI or API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add top level aggregated data usage supportability metric&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent now reports a top level data usage supportability metric: &lt;code&gt;Supportability/Python/Collector/Output/Bytes&lt;/code&gt;. This aggregates all uncompressed bytes across all agent methods sent to New Relic.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Change data usage supportability metric name&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the agent reported data usage supportability metrics in the format &lt;code&gt;Supportability/Python/Collector/Output/Bytes/&amp;#x3C;agent_method&gt;&lt;/code&gt;. This has been changed to be in the format &lt;code&gt;Supportability/Python/Collector/&amp;#x3C;agent_method&gt;/Output/Bytes&lt;/code&gt; to align with the agent specification.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix data usage supportability metric compression payload calculation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, the agent was reporting the compressed bytes for the &lt;code&gt;Supportability/Python/Collector/Output/Bytes&lt;/code&gt; metric group and uncompressed bytes for the &lt;code&gt;Supportability/Python/Collector/ZLIB/Bytes&lt;/code&gt; metric group. This was incorrect and has been fixed in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-500124/&quot;&gt;5.0.0.124&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 21 Jul 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v7.12.0.176]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTcuMTIuMC4xNzY=</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-71200176</link><pubDate>Thu, 09 Jun 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds APM logs in context. Additionally this release fixes issues in Starlette and gRPC version compatibility, renames whitelist settings, and removes unwanted error logs.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add APM logs in context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A quick way to view logs no matter where you are in the platform.&lt;/p&gt;
&lt;p&gt;To learn more, see the documentation about &lt;a href=&quot;https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/get-started-logs-context&quot;&gt;APM logs in context&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for logging metrics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Logging metrics show the rate of log messages by severity in the logs chart in the APM &lt;strong&gt;Summary&lt;/strong&gt; view. This is enabled by default in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for forwarding application logs to New Relic&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This automatically sends application logs that have been enriched to power APM logs in context. This is disabled by default in this release. This will be on by default in a future release. For more information, see our documentation about &lt;a href=&quot;https://docs.newrelic.com/docs/logs/logs-context/configure-logs-context-python&quot;&gt;logs in context for Python&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for enriching application logs written to disk or standard out&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This can be used with another log forwarder to power APM logs in context if in-agent log forwarding is not desired. We recommend enabling either log forwarding or local log decorating, but not both features. This is disabled by default in this release.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Rename Whitelist Setting to Allowlist&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The setting &lt;code&gt;strip_exception_messages.whitelist&lt;/code&gt; has been renamed to the more modern name &lt;code&gt;strip_exception_messages.allowlist&lt;/code&gt;. The original setting will continue to function but issue a deprecation warning.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix incompatibility with gRPC v4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously a crash was possible in the agent when gRPC v4 was installed when not using the infinite tracing feature. This has been corrected and the agent can safely be used with gRPC v4.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Starlette v0.19.1+ instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A crash in CustomRoutes in Starlette v0.19.1 has been addressed and fixed.&lt;/li&gt;
&lt;li&gt;Starlette v0.20.1 reorganized important files which were then uninstrumented. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix unhelpful error messages appearing outside of debug logs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Error messages related to context propagation have been demoted to debug logs to avoid unwanted and unhelpful messages appearing in logs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 09 Jun 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.2.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMi4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80201</link><pubDate>Mon, 10 Oct 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent provides numerous bug fixes, including several community contributions, provides updates to Sanic instrumentation, Protobuf v4 compatiblity, and updates internal packages for Python 3.11 support.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Version numbering change&lt;/h2&gt;
&lt;p&gt;The version number of the agent did not previously follow &lt;a href=&quot;https://semver.org/&quot;&gt;Semantic Versioning&lt;/a&gt; properly. This has been changed. Going forward build numbers have been removed from the version number, and version increments will follow semantic versioning fully. No retroactive changes will be made to previous version numbers.&lt;/p&gt;
&lt;h2&gt;Instrumentation updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Sanic middleware support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sanic recently changed their APIs surrounding middleware, and instrumentation has been updated to support it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Package updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update wrapt to v1.14.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The internal copy of the wrapt library used by the agent has been updated to v1.14.1 for Python 3.11 compatibility.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Protobuf v4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent is now fully compatible with Protobuf v4 when using Infinite Tracing. Backwards compatibility with Protobuf v3 has been preserved.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a RuntimeError in the trace cache when using the coroutine profiler&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A RuntimeError occurred if traces were started or stopped while the coroutine profiler was sampling the active traces. This should no longer be possible.&lt;/p&gt;
&lt;p&gt;Thank you &lt;a href=&quot;https://github.com/lovmat&quot;&gt;@lovmat&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix an issue with case sensitivity in record-deploy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously application names were incorrectly being treated as case-sensitive when running &lt;code&gt;newrelic-admin record-deploy&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Thank you &lt;a href=&quot;https://github.com/michalborkowski96&quot;&gt;@michalborkowski96&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix an issue with newer installers failing to install the agent&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Due to the inclusion of both &lt;code&gt;scripts&lt;/code&gt; and &lt;code&gt;entry_points&lt;/code&gt; configuration options, the agent would fail to install with newer installers. This has been corrected and newer PEP compliant installers should have no trouble installing the agent.&lt;/p&gt;
&lt;p&gt;Thank you &lt;a href=&quot;https://github.com/admp-fh&quot;&gt;@admp-fh&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix instrumentation for aioredis interfering with transactions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The agent does not currently support transactions for Redis clients, and previous instrumentation broke transaction functionality in AioRedis. This has been fixed to provide no instrumentation within transactions at this time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash when completing various kinds of traces inside a stopped transaction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously certain types of traces could throw exceptions and fail to complete when inside stopped transactions. This has been corrected and should no longer be possible.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a bug where instrumentation caused certain arguments to confluent-kafka producers to stop working&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously callback and on_delivery arguments were passed through improperly leading to them not working as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-522130&quot;&gt;5.2.2.130&lt;/a&gt;. More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 10 Oct 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.1.0.180]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMS4wLjE4MA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80100180</link><pubDate>Mon, 12 Sep 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds automatic instrumentation for Hypercorn, and includes bug fixes for Sanic v21.9+, memory sampler reporting, and database traces.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add Hypercorn instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation has been added for &lt;a href=&quot;https://github.com/pgjones/hypercorn/&quot;&gt;Hypercorn&lt;/a&gt;, an ASGI web server.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix instrumentation for Sanic v21.9+&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation for newer versions of Sanic (&gt;=21.9) have either not reported data or crashed due to an incompatibility with Sanic&apos;s internal metaprogramming.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix incorrect PID reported by memory sampler&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The PID reported by the memory sampler when sampling processes was incorrectly attributed to the process the agent was initialized from.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix issue with database traces causing crashes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In rare instances a database trace could result in a setting not being found, causing a crash.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-520127/&quot;&gt;5.2.0.127&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 12 Sep 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.0.0.179]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMC4wLjE3OQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80000179</link><pubDate>Mon, 15 Aug 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent removes support for Python 3.6. It also includes new instrumentation for Daphne, reporting installed module versions, and a fix for a bug affecting Loguru file paths.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removed support for Python 3.6&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Python 3.6 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.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add Daphne instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation has been added for &lt;a href=&quot;https://github.com/django/daphne&quot;&gt;Daphne&lt;/a&gt;, a Django project ASGI web server and the recommended server for &lt;a href=&quot;https://channels.readthedocs.io/en/stable/deploying.html&quot;&gt;Django Channels&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add module version reporting&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Installed python packages now have their versions reported and are visible in the Environment tab for your application in New Relic One.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a bug in file path detection for Loguru&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wrappers from the agent interfered with Loguru file path detection for templating messages. This has been corrected on all versions. Thank you to &lt;a href=&quot;https://github.com/rafaelclp&quot;&gt;@rafaelclp&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-502126/&quot;&gt;5.0.2.126&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 15 Aug 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.2.0.181]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMi4wLjE4MQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80200181</link><pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds automatic instrumentation for Kafka Python as well as Confluent Kafka.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add kafka-python instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation has been added for &lt;a href=&quot;https://github.com/dpkp/kafka-python&quot;&gt;Kafka Python&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add confluent-kafka instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instrumentation has been added for &lt;a href=&quot;https://github.com/confluentinc/confluent-kafka-python&quot;&gt;Confluent Kafka&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/supported-features/python-message-queues/&quot;&gt;Message Queue documentation&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-520127/&quot;&gt;5.2.0.127&lt;/a&gt;.  More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 27 Sep 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.3.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMy4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80300</link><pubDate>Mon, 24 Oct 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds Python 3.11 support, deprecates the add_custom_parameter(s) API, adds usage metrics for multiple libraries, and includes bug fixes.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the New Relic &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;add_custom_parameter(s) API is now deprecated&lt;/strong&gt;
The add_custom_parameter(s) API has been renamed to add_custom_attribute(s). A deprecation warning will be emitted when calling add_custom_parameter() from this agent version and higher.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Python 3.11&lt;/strong&gt;
The agent now supports applications running in Python 3.11.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add usage metrics for Kafka clients, Daphne, and Hypercorn&lt;/strong&gt;
The agent now emits a messagebroker metric for Kafka clients and a dispatcher metric for Daphne and Hypercorn. This metric is similar to the framework metric already being emitted for all web frameworks supported by the agent.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Flask view support for Code Level Metrics&lt;/strong&gt;
The agent was previously reporting the class name for the code.function attribute in the case of Flask method dispatching. This has been corrected to report the instrumented function name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix aioredis version crash&lt;/strong&gt;
A fix has been implemented to address a crash in aioredis in cases where the agent was initialized before importing aioredis on aioredis&gt;=2.0.1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-522130&quot;&gt;5.2.2.130&lt;/a&gt;. More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 24 Oct 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.4.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguNC4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80400</link><pubDate>Wed, 26 Oct 2022 00:00:00 +0000</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;keeping your agent up to date&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-522130&quot;&gt;5.2.2.130&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent increases the custom event limit and includes a bug fix.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Increase custom event limit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This agent version increases the default limit of custom events from 1,200 events per minute to 3,600 events per minute. In the scenario that custom events were being limited, this change will allow more custom events to be sent to New Relic. There is also a new configurable maximum limit of 100,000 events per minute. To change the limits, see the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration/#harvest-limits-custom-event-data&quot;&gt;docs for event_harvest&lt;/a&gt;. To learn more about the change and how to determine if custom events are being dropped, see our &lt;a href=&quot;https://discuss.newrelic.com/t/send-more-custom-events-with-the-latest-apm-agents/190497&quot;&gt;Explorers Hub post&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix NewRelicContextFormatter attribute error&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A bug was introduced in v8.3.0 that caused an AttributeError when using the NewRelicContextFormatter. This has been corrected in this release version.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 26 Oct 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.6.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguNi4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80600</link><pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for elasticsearch 8, redis.asyncio, and exposes apdexPerfZone.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for eleasicsearch 8&lt;/strong&gt;
Add instrumentation support for elasticsearch version 8.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for redis v4.4.1 and v4.4.2&lt;/strong&gt;
Add support for new methods in the latest versions of redis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for redis.asyncio&lt;/strong&gt;
aioredis is included to redis-py since version 4.2.0rc1 as redis.asyncio. Support this
new location.
Thank you &lt;a href=&quot;https://github.com/pauk-slon&quot;&gt;@pauk-slon&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add apdexPerfZone to web transaction event attribute intrinsics&lt;/strong&gt;
Expose nr.apdexPerfZone as apdexPerfZone in Web transaction event attribute intrinsics.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-541134&quot;&gt;5.6.0.135&lt;/a&gt;. More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 09 Feb 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.5.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguNS4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80500</link><pubDate>Wed, 07 Dec 2022 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds the &lt;code&gt;record_log_event&lt;/code&gt; API and includes some bug fixes.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for redis v4.3.5 and v4.4.0 methods&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;New methods added in redis v4.3.5 and v4.4.0 will now be automatically instrumented.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add record_log_event API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This records a &lt;a href=&quot;https://docs.newrelic.com/docs/logs/logs-context/configure-logs-context-python&quot;&gt;log event&lt;/a&gt; that can be viewed and queried in the New Relic UI. See &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/recordlogevent-python-agent-api&quot;&gt;record_log_event&lt;/a&gt; for details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix RuntimeError: dictionary changed size during iteration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Properly guard &lt;code&gt;trace_cache&lt;/code&gt; from &lt;code&gt;RuntimeErrors&lt;/code&gt; raised due to concurrent iteration and size changes of the &lt;code&gt;TraceCache&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix confluent-kafka producer arguments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Fixes a bug where topic provided as a keyword argument can crash Confluent Kafka producers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Patch sentry SDK to correct ASGI v2/v3 detection&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Patches sentry-sdk to fix a bug that causes incorrect ASGI application version detection with our wrapt function wrappers. To fix this, we now instrument the &lt;code&gt;_looks_like_asgi3()&lt;/code&gt; function to bind out the wrapped app in sentry in order to unwrap it to be able to detect the proper ASGI version.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix missing information issue with Celery workers when using MAX_TASKS_PER_CHILD&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A bug was introduced in v7.8.0.174 when Celery was run with the &lt;code&gt;--loglevel=INFO&lt;/code&gt; flag to not report any data after the original worker processes shut down. This has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix support for dynamically generated types in Code Level Metrics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A bug in code level metrics attribute extraction prevented attributes from being applied to types created using the &lt;a href=&quot;https://docs.python.org/3/library/functions.html?highlight=type#type&quot;&gt;3 argument type constructor&lt;/a&gt;. This has been fixed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix external node properties initialization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A bug caused by uninitialized external node properties when making web requests has been fixed. Thank you &lt;a href=&quot;https://github.com/kmorey&quot;&gt;@kmorey&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-541134&quot;&gt;5.4.1.134&lt;/a&gt;. More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 07 Dec 2022 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.7.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguNy4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80700</link><pubDate>Thu, 16 Feb 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for batching and compression.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support batching and compression of infinite tracing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adds configuration options &lt;code&gt;infinite_tracing.compression&lt;/code&gt; and &lt;code&gt;infinite_tracing.batching&lt;/code&gt; and sets both to on by default.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-580136&quot;&gt;5.8.0.136&lt;/a&gt;. Find more information in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 16 Feb 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.7.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguNy4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80701</link><pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for a new config option to capture GraphQL introspection query transactions.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for a new config option to capture GraphQL introspection query transactions.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Added new config setting instrumentation.graphql.capture_introspection_queries and corresponding environment variable NEW_RELIC_INSTRUMENTATION_GRAPHQL_CAPTURE_INTROSPECTION_QUERIES to control capturing of GraphQL introspection transactions. Defaults to false which retains previous behavior of ignoring transactions with introspection queries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix introspection query recognition for GraphQL.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Fix introspection query recognition for GraphQL to allow introspection fields to be queried alongside real fields in traces.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5120140&quot;&gt;5.12.0.140&lt;/a&gt;. Find more information in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 20 Mar 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.8.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguOC4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80801</link><pubDate>Mon, 26 Jun 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a bug in package reporting and adds support for redis 4.6.0 and loguru 0.7.0.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for redis 4.6.0&lt;/strong&gt;
Adds instrumentation support for new &lt;code&gt;waitaof&lt;/code&gt; method.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for loguru 0.7.0&lt;/strong&gt;
Adds support for loguru v0.7.0.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix reporting of locally scoped packages&lt;/strong&gt;
Previously, locally scoped Python packages (such as those installed into user scope) were not reported on agent connect. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 26 Jun 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.9.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguOS4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80900</link><pubDate>Thu, 27 Jul 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;RedisCluster&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add support for RedisCluster&lt;/strong&gt;
Adds instrumentation support for &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;RedisCluster&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Resilient Environment Settings&lt;/strong&gt;
Fixed a crash when using &lt;a href=&quot;https://pypi.org/project/generalimport/&quot;&gt;generalimport&lt;/a&gt; with the agent.  Thanks for the contribution, &lt;a href=&quot;https://github.com/aaeabdo&quot;&gt;aaeabdo&lt;/a&gt;!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove deprecated &lt;code&gt;drop_transaction&lt;/code&gt; calls from agent&lt;/strong&gt;
The &lt;code&gt;drop_transaction&lt;/code&gt; function had been removed from the agent but references to it still existed, so this version of the agent removes any remaining calls.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix logic in serverless distributed tracing to work by default&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 27 Jul 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.8.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguOC4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-80800</link><pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for two new errors inbox features: error fingerprinting and user tracking. It also includes bug fixes.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New Errors Inbox features&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;User tracking&lt;/strong&gt;: You can now see the number of users impacted by an error group. Identify the end user with the set_user_id method.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error fingerprinting&lt;/strong&gt;: Are your error occurrences grouped poorly? Set your own error fingerprint via a callback function.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Guard GraphQL settings lookup&lt;/strong&gt;
In v8.7.1, a bug was introduced in GraphQL instrumentation when not running within a transaction. This crash has been addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Redis instance information&lt;/strong&gt;
Redis v4.5.2 included a change that broke detection for socket based redis instance information. The agent now correctly detects socket paths again.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is &lt;a href=&quot;https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-5120140/&quot;&gt;5.12.0.140&lt;/a&gt;. More information can be found in the &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL Policy Page&lt;/a&gt;.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 30 Mar 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.10.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMTAuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-81000</link><pubDate>Thu, 10 Aug 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent drops support for Redis v3 and below and adds support for &lt;a href=&quot;https://pypi.org/project/google-cloud-firestore/&quot;&gt;Google Cloud Firestore&lt;/a&gt;, async &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt;, and fixes a crash that occurs when wrapping generators.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Drop support for Redis v3 and below&lt;/strong&gt;
As of v8.10.0, &lt;a href=&quot;https://pypi.org/project/redis/3.5.3/&quot;&gt;Redis&lt;/a&gt; v3 and below are outside New Relic&apos;s supportability window and therefore no longer supported. Because Redis v4 and above no longer support Python 2.7, this means Python 2.7 support has been dropped from Redis as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Firestore&lt;/strong&gt;
Adds instrumentation support for &lt;a href=&quot;https://pypi.org/project/google-cloud-firestore/&quot;&gt;Google Cloud Firestore&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support to Redis Async&lt;/strong&gt;
Adds instrumentation support for Redis&apos; async features.  Thanks, &lt;a href=&quot;https://github.com/ahmedhr&quot;&gt;ahmedhr&lt;/a&gt; and &lt;a href=&quot;https://github.com/bc291&quot;&gt;bc291&lt;/a&gt; for your contribution!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automatic wrapping for async generators&lt;/strong&gt;
Existing tracing decorator APIs now support async generators out of the box.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fixed a crash when consecutive calls to &lt;code&gt;throw()&lt;/code&gt; on wrapped generators&lt;/strong&gt;
Previously consecutive calls to &lt;code&gt;throw()&lt;/code&gt; would raise an exception rather than inject the exception into the wrapped generator.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 10 Aug 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.10.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMTAuMQ==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-81001</link><pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes an issue with MetricNormalizationRules, fixes a DeprecationWarning in package version detection, and adds support for new commands introduced in &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis v5&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add support for new commands introduced in Redis v5&lt;/strong&gt;
Adds full instrumentation support for &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis v5&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash in MetricNormalizationRules&lt;/strong&gt;
Fixed a crash when using client side MetricNormalizationRules to ignore metrics (set through NerdGraph and available under a feature flag). The metrics should now be properly ignored.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix DeprecationWarning in package version detection for Python 3.10+&lt;/strong&gt;
Fixed a DeprecationWarning emitted by package version detection used internally for Python 3.10+. When importlib.metadata is available, prefer using it to avoid checking deprecated &lt;strong&gt;version&lt;/strong&gt; attributes on modules. (Thanks @renanivo for the contribution!)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 17 Aug 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v8.11.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTguMTEuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-81100</link><pubDate>Wed, 23 Aug 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt; and some bug fixes.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add support for structlog&lt;/strong&gt;
Adds instrumentation support for &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix certificate fallback logic&lt;/strong&gt;
Fixed the fallback logic for the certificate bundle such that it only uses the builtin bundle when both the cafile AND capath are None.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix missing database metric&lt;/strong&gt;
Fixed an issue where certain databases were not recording the &lt;code&gt;Datastore/instance/&amp;#x3C;db&gt;/&amp;#x3C;host&gt;/&amp;#x3C;port&gt;&lt;/code&gt; metric and so the database was not showing up in the service map.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 23 Aug 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.0.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMC4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90000</link><pubDate>Mon, 28 Aug 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for async &lt;a href=&quot;https://pypi.org/project/graphql-core/3.2.3/&quot;&gt;graphql-core&lt;/a&gt; and drops support for graphql-core 2.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Framework Support&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Drop support for &lt;a href=&quot;https://pypi.org/project/graphql-core/2.3.2/&quot;&gt;graphql-core 2&lt;/a&gt;&lt;/strong&gt;
Remove support for graphql-core 2.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add support for async &lt;a href=&quot;https://pypi.org/project/graphql-core/3.2.3/&quot;&gt;graphql-core&lt;/a&gt;&lt;/strong&gt;
Add support for async graphql-core 3.0 and above.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 28 Aug 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.1.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMS4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90100</link><pubDate>Mon, 25 Sep 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for &lt;a href=&quot;https://pypi.org/project/scikit-learn/&quot;&gt;sklearn&lt;/a&gt; and &lt;code&gt;redis.asyncio&lt;/code&gt; connections.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/scikit-learn/&quot;&gt;sklearn&lt;/a&gt;&lt;/strong&gt;
The Python agent now supports monitoring for machine learning models created with sklearn. Check out &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/supported-features/python-mlops/&quot;&gt;our documentation&lt;/a&gt; for details on how to view and query for your prediction events and ML related metrics directly in the New Relic user interface. Machine learning instrumentation will be disabled by default in this release. To enable it, visit our &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration/#ml-settings&quot;&gt;configuration page&lt;/a&gt; for further information.
This release also introduces two new APIs to support customization of machine learning monitoring: &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/wrapmlmodel-python-agent-api/&quot;&gt;wrap_mlmodel&lt;/a&gt; and &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/recordmlevent-python-agent-api/&quot;&gt;record_ml_event&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add instrumentation for &lt;code&gt;redis.asyncio.Connection&lt;/code&gt;&lt;/strong&gt;
Add instrumentation support for connections initiated from the &lt;code&gt;redis.asyncio&lt;/code&gt; module&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 25 Sep 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.1.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMS4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90101</link><pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes generator instrumentation issue with Redis and adds caching to package versions to address some performance issues.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add caching to &lt;code&gt;get_package_version&lt;/code&gt; to address performance issues&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix generator and async generator instrumentation issue in &lt;code&gt;Redis.asyncio&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 19 Oct 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.1.2]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMS4y</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90102</link><pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a regression in package version performance that was introduced in 8.10.1.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix package version performance regression&lt;/strong&gt;
Addressed issue that was introduced in 8.10.1 where there is increased CPU usage and time on startup and when using certain libraries at runtime.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 13 Nov 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.4.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuNC4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90400</link><pubDate>Mon, 08 Jan 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for nonced content security policies for browser agent injection, adds new wheels for Python 3.12 and musl Linux systems such as Alpine, deprecates the ObjectWrapper and &lt;code&gt;get_browser_timing_footer&lt;/code&gt; APIs, fixes a crash with Kafka instrumentation when using distributed tracing, and removes a case sensitive header check in &lt;code&gt;ASGIBrowserMiddleware&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Deprecated &lt;code&gt;newrelic.agent.ObjectWrapper&lt;/code&gt; API&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removes custom &lt;code&gt;newrelic.agent.ObjectWrapper&lt;/code&gt; implementation and instead creates a pass through to &lt;code&gt;wrapt.FunctionWrapper&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deprecated &lt;code&gt;get_browser_timing_footer&lt;/code&gt; API&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously &lt;code&gt;get_browser_timing_footer&lt;/code&gt; was an API that would be used to supply information to the browser agent loaded by &lt;code&gt;get_browser_timing_header&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This step is now included in &lt;code&gt;get_browser_timing_header&lt;/code&gt;, making &lt;code&gt;get_browser_timing_footer&lt;/code&gt; obsolete. This function now returns an empty string to avoid breaking existing applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Added nonced content security policies (CSPs) for browser agent injection&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The browser agent injection API &lt;code&gt;get_browser_timing_header&lt;/code&gt; has a new parameter &lt;code&gt;nonce&lt;/code&gt; that takes a cryptographic nonce for use with content security policies. The nonce will be automatically inserted into the generated HTML.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added additional wheel options for Python 3.12 and musl Linux&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added pre-built binary wheel support for Python 3.12 as well as alternative wheels for musl-based Linux operating systems (such as Alpine).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added &lt;code&gt;newrelic.agent.CallableObjectProxy&lt;/code&gt; to public APIs&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously &lt;code&gt;CallableObjectProxy&lt;/code&gt; was never exposed for general use with custom instrumentation, but was present in internal modules used by the agent.&lt;/li&gt;
&lt;li&gt;This API has been added to &lt;code&gt;newrelic.agent.CallableObjectProxy&lt;/code&gt; for general use.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixed a crash with &lt;a href=&quot;https://pypi.org/project/kafka-python/&quot;&gt;kafka-python&lt;/a&gt; and &lt;a href=&quot;https://pypi.org/project/confluent-kafka/&quot;&gt;confluent-kafka&lt;/a&gt; when using distributed tracing&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously Kafka instrumentation packages would sometimes fail to generate distributed tracing headers and cause a crash. This has been fixed and distributed tracing headers should now generate correctly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Removed case sensitive header check in &lt;code&gt;ASGIBrowserMiddleware&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent previously only supported HTML insertion for headers that were lowercase in ASGI applications. The header check is now case insensitive in compliance with the ASGI specification.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 08 Jan 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.3.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMy4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90300</link><pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds Python 3.12 support. It also includes support for sending utilization data for Docker with cgroups v2, adds a new synthetics information header, upgrades the agent&apos;s internal &lt;a href=&quot;https://pypi.org/project/wrapt/1.16.0/&quot;&gt;wrapt&lt;/a&gt; version, and includes a bug fix for &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Python 3.12&lt;/strong&gt;
The agent now supports applications running in Python 3.12.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for Docker cgroups v2&lt;/strong&gt;
The agent now includes functionality to parse Docker IDs in later versions of Docker using cgroups v2.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new synthetics information header&lt;/strong&gt;
The agent now retransmits and processes information contained in a new synthetics header: X-NewRelic-Synthetics-Info.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Upgrade internal wrapt to v1.16.0&lt;/strong&gt;
The agent&apos;s internal copy of &lt;a href=&quot;https://pypi.org/project/wrapt/1.16.0/&quot;&gt;wrapt&lt;/a&gt; has been upgraded to v1.16.0 in conjunction with Python 3.12 support.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix structlog CallsiteParameter processor bug&lt;/strong&gt;
Call site parameter values in &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt; no longer produce incorrect values.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 06 Dec 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.2.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMi4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90200</link><pubDate>Thu, 16 Nov 2023 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds a new configuration option that allows users to disable capturing package and version information at agent startup.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add new configuration option &lt;code&gt;package_reporting.enabled&lt;/code&gt;.&lt;/strong&gt;
This option allows users to disable capturing package and version information at agent startup. On some applications with a high number of packages some users were seeing a spike in CPU usage. Disabling this setting provides a workaround for that issue.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 16 Nov 2023 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.5.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuNS4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90500</link><pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds context data attributes to logs, support for dictionary type log messages, adds attribute support to &lt;code&gt;record_log_event&lt;/code&gt; API, and obfuscates logged license keys and user API keys.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add context data attributes to logs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Context data available from logging frameworks can now be recorded as attributes on logs. These attributes are prefixed with &lt;code&gt;context.&lt;/code&gt;, which is not considered when filtering attributes from logs.&lt;/li&gt;
&lt;li&gt;Context data may include extras, dictionary message attributes, and attributes provided by logging frameworks.&lt;/li&gt;
&lt;li&gt;To report these attributes, &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.enabled&quot;&gt;enable context data forwarding&lt;/a&gt; and optionally configure &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.include&quot;&gt;include&lt;/a&gt; and &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.exclude&quot;&gt;exclude&lt;/a&gt; rules to filter the allowed attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for dictionary type log messages&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dictionary type log messages are now supported for logging frameworks which support dictionary type log messages (including the builtin &lt;code&gt;logging&lt;/code&gt; module and &lt;code&gt;structlog&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;The key &lt;code&gt;message&lt;/code&gt; will be extracted if available and treated as the log message, and any other items will be considered context data attributes and prefixed with &lt;code&gt;message.&lt;/code&gt;. These attributes are subject to the same filtering rules as other context data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add attribute support to &lt;code&gt;record_log_event&lt;/code&gt; API&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;record_log_event&lt;/code&gt; API now allows passing context data in using the optional &lt;code&gt;attributes&lt;/code&gt; keyword argument, and allows the message argument to be a dictionary as described above.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Obfuscate license keys and user API keys in logs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now obfuscates all instances of license keys or user API keys in agent logs and audit logs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 11 Jan 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.7.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuNy4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90700</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent no longer reports attributes with &lt;code&gt;None&lt;/code&gt; values. It also attaches a transaction trace ID to the error traces even when distributed tracing is disabled.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remove reporting of attributes with &lt;code&gt;None&lt;/code&gt; values&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, the agent recorded attributes with a value of &lt;code&gt;None&lt;/code&gt; type as the string &quot;None&quot;.  The agent will no longer record user or agent attributes that have &lt;code&gt;None&lt;/code&gt; type values.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add transaction trace ID to the error traces even when distributed tracing is disabled&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Previously, certain trace attributes in error traces such as stack traces were only visible in the UI if distributed tracing was enabled.  Linking the transaction trace to error traces by including the transaction trace ID on the error traces allows the user to have access to the transaction trace attributes in the UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 22 Feb 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.6.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuNi4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90600</link><pubDate>Thu, 25 Jan 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a bug when specifying processors in &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt;, and updates the &lt;code&gt;NewRelicLogForwardingHandler&lt;/code&gt; to support dictionary type logs and formatters.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support dictionary type logs in &lt;code&gt;NewRelicLogForwardingHandler&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dictionary type log messages are now supported in &lt;code&gt;NewRelicLogForwardingHandler&lt;/code&gt; when passed as the log message, or when a custom formatter returns a dictionary.&lt;/li&gt;
&lt;li&gt;The key &lt;code&gt;message&lt;/code&gt; will be extracted if available and treated as the log message, and any other items will be considered context data attributes and prefixed with &lt;code&gt;message.&lt;/code&gt;.
&lt;ul&gt;
&lt;li&gt;These attributes are subject to the same filtering rules as other context data. The &lt;code&gt;message.&lt;/code&gt; prefix is not considered when filtering attributes from logs.&lt;/li&gt;
&lt;li&gt;To report these attributes, &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.enabled&quot;&gt;enable context data forwarding&lt;/a&gt; and optionally configure &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.include&quot;&gt;include&lt;/a&gt; and &lt;a href=&quot;https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#application_logging.forwarding.context_data.exclude&quot;&gt;exclude&lt;/a&gt; rules to filter the allowed attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support logging formatters in &lt;code&gt;NewRelicLogForwardingHandler&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Logging formatters added with &lt;code&gt;setFormatter()&lt;/code&gt; are now supported, and may return a string or dicitionary log message type to be forwarded to New Relic.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix a bug when specifying processors in &lt;a href=&quot;https://pypi.org/project/structlog/&quot;&gt;structlog&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Previously, there was a bug in the structlog instrumentation where &lt;code&gt;processors&lt;/code&gt; was assumed to be list type. Now the instrumentation supports processors of all iterable types.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 25 Jan 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.8.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuOC4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90800</link><pubDate>Wed, 27 Mar 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds support for the latest versions of &lt;a href=&quot;https://pypi.org/project/asgiref/&quot;&gt;asgiref&lt;/a&gt; and support for AI monitoring when using the following libraries: &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;AWS Bedrock&lt;/a&gt;, and &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/asgiref/&quot;&gt;asgiref&lt;/a&gt; 3.8.0 and above&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Asgiref released a new version that resulted in missing transaction context. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI monitoring&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New Relic AI monitoring is the industry’s first APM solution that provides end-to-end visibility for AI Large Language Model (LLM) applications. It enables end-to-end visibility into the key components of an AI LLM application. With AI monitoring, users can monitor, alert, and debug AI-powered applications for reliability, latency, performance, security and cost. AI monitoring also enables AI/LLM specific insights (metrics, events, logs and traces) which can easily integrate to build advanced guardrails for enterprise security, privacy and compliance.&lt;/li&gt;
&lt;li&gt;AI monitoring offers custom-built insights and tracing for the complete lifecycle of an LLM’s prompts and responses, from raw user input to repaired/polished responses. AI monitoring provides built-in integrations with popular LLMs and components of the AI development stack. This release provides instrumentation for &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt;, &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;AWS Bedrock&lt;/a&gt;, and &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;When AI monitoring is enabled with &lt;code&gt;ai_monitoring.enabled = true&lt;/code&gt;, the agent will now capture AI LLM related data. This data will be visible under a new APM tab called AI Responses. See our &lt;a href=&quot;https://docs.newrelic.com/docs/ai-monitoring/intro-to-ai-monitoring/&quot;&gt;AI Monitoring documentation&lt;/a&gt; for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI monitoring configuration&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New configuration options are available specific to &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration/#ai-monitoring&quot;&gt;AI monitoring&lt;/a&gt;. These settings include:
&lt;ul&gt;
&lt;li&gt;ai_monitoring.enabled&lt;/li&gt;
&lt;li&gt;ai_monitoring.streaming.enabled&lt;/li&gt;
&lt;li&gt;ai_monitoring.content.enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI monitoring public API methods&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two new AI monitoring related public API methods have been added:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/recordllmfeedbackevent-python-agent-api/&quot;&gt;record_llm_feedback_event&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/setllmtokencountcallback-python-agent-api/&quot;&gt;set_llm_token_count_callback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;AWS Bedrock&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for AWS Bedrock Large Language Model instrumentation has been added. Chat completion and embedding data for streaming and non-streaming is recorded for the following models:
&lt;ul&gt;
&lt;li&gt;amazon.titan-*&lt;/li&gt;
&lt;li&gt;ai21.j2-*&lt;/li&gt;
&lt;li&gt;anthropic.claude-*&lt;/li&gt;
&lt;li&gt;cohere.command-*&lt;/li&gt;
&lt;li&gt;meta.llama2-*&lt;/li&gt;
&lt;li&gt;amazon.titan-embed*&lt;/li&gt;
&lt;li&gt;cohere.embed*&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for Langchain Large Language Model instrumentation has been added. Langchain Agents, Chains, Tools, OpenAI, and Bedrock LLM data is recorded. Note streaming is not supported at this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for OpenAI Large Language Model instrumentation has been added. Synchronous and asynchronous chat completion and embedding data is recorded. Note streaming is only supported in chat completions at this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Wed, 27 Mar 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.9.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuOS4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90901</link><pubDate>Mon, 13 May 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes &lt;a href=&quot;https://pypi.org/project/celery/&quot;&gt;Celery&lt;/a&gt; instrumentation on worker processes, adds new Langchain vectorstores, adds HTTP method attributes to urllib3 traces, and fixes an issue with URI detection in gRPC clients.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt; vectorstores&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for the following Langchain vectorstores: &lt;code&gt;Relyt&lt;/code&gt;, &lt;code&gt;OracleVS&lt;/code&gt;, &lt;code&gt;UpstashVectorStore&lt;/code&gt;, &lt;code&gt;VLite&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix &lt;a href=&quot;https://pypi.org/project/celery/&quot;&gt;Celery&lt;/a&gt; instrumentation on worker processes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instrumentation updates in v9.9.0 introduced a bug where Celery workers running with worker optimizations enabled would overwrite instrumentation. This has been fixed and instrumentation should now function the same with and without worker optimizations enabled.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add HTTP method attributes to &lt;a href=&quot;https://pypi.org/project/urllib3/&quot;&gt;urllib3&lt;/a&gt; traces&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;urllib3 traces did not include the HTTP method as an attribute previously.  This has now been added.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix gRPC URI detection for client ExternalTraces&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The latest version of gRPC changed the format of URIs used in clients, which caused the hostname to be reported as &quot;dns&quot; for all client requests. This has been fixed and hostnames should be reported correctly again.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 13 May 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.10.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMTAuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-91000</link><pubDate>Thu, 23 May 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adds instrumentation for &lt;a href=&quot;https://pypi.org/project/aiobotocore/&quot;&gt;AIOBotocore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Adds support for Meta Llama3 and Mistral AI in &lt;div&gt;Amazon Bedrock&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fixes an error parsing issue in &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updates &lt;a href=&quot;https://pypi.org/project/loguru/&quot;&gt;Loguru&lt;/a&gt;&apos;s instrumentation to use milliseconds instead of seconds&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add &lt;a href=&quot;https://pypi.org/project/aiobotocore/&quot;&gt;AIOBotocore&lt;/a&gt; instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for AIOBotocore.  Supports proxy mode in addition to standard operation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new &lt;div&gt;Amazon Bedrock&lt;/div&gt; models&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for the following &lt;div&gt;Amazon Bedrock&lt;/div&gt; models:
&lt;ul&gt;
&lt;li&gt;Meta Llama3&lt;/li&gt;
&lt;li&gt;Mistral AI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; error parsing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, if an error in OpenAI was encountered, the Python Agent would attempt to override the default &lt;code&gt;error.message&lt;/code&gt; within &lt;code&gt;notice_error()&lt;/code&gt; with the one used in OpenAI.  However, if there was no &lt;code&gt;message&lt;/code&gt; attribute in the error, the Python Agent would crash.  Now it defaults to the original methodology of error handling by the Python Agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Record timing in &lt;a href=&quot;https://pypi.org/project/loguru/&quot;&gt;Loguru&lt;/a&gt; in milliseconds&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Timing in Loguru is recorded as an integer and if that value was less than 1 second, it would record it as 0s.  This changes the units to be in milliseconds instead.  Thanks, (@julia-tadej-wwtech)[https://github.com/julia-tadej-wttech] for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 23 May 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.9.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuOS4w</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90900</link><pubDate>Thu, 18 Apr 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent updates Celery instrumentation, adds new Langchain vectorstores, adds configuration to capture memory usage runtime metrics per process, fixes a content reporting issue in Anthropic Claude, and upgrades internal version of urllib3 to v1.26.18.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Security&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upgrade internal version of urllib3 to v1.26.18&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade the internal version of &lt;a href=&quot;https://pypi.org/project/urllib3/&quot;&gt;urllib3&lt;/a&gt; used in the Python Agent to v1.26.18 to resolve security warnings.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Celery instrumentation&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for distributed tracing in &lt;a href=&quot;https://pypi.org/project/celery/&quot;&gt;Celery&lt;/a&gt; over AMQP headers.&lt;/li&gt;
&lt;li&gt;Remove duplicate function traces for some methods of running tasks.
&lt;ul&gt;
&lt;li&gt;All tasks should now only be instrumented once, and will report either an OtherTransaction, or a FunctionTrace if run under an existing transaction.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Fix instrumentation for grouped celery tasks APIs, such as &lt;code&gt;task.map()&lt;/code&gt;, &lt;code&gt;celery.group()&lt;/code&gt;, and &lt;code&gt;celery.chunks()&lt;/code&gt;.
&lt;ul&gt;
&lt;li&gt;Tasks run using &lt;code&gt;task.map()&lt;/code&gt; or &lt;code&gt;task.starmap()&lt;/code&gt; will now name tasks in the format &lt;code&gt;Celery/celery.map/my_task&lt;/code&gt; to allow you to differentiate between map tasks.&lt;/li&gt;
&lt;li&gt;Individual task runs created by the &lt;code&gt;map()&lt;/code&gt; and &lt;code&gt;starmap()&lt;/code&gt; tasks will be traced with a FunctionTrace to capture individual timings.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add new &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;Langchain&lt;/a&gt; vectorstores&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for the following Langchain vectorstores: &lt;code&gt;DuckDB&lt;/code&gt;, &lt;code&gt;EcloudESVectorStore&lt;/code&gt;, &lt;code&gt;InMemoryVectorStore&lt;/code&gt;, &lt;code&gt;PathwayVectorClient&lt;/code&gt;, &lt;code&gt;VDMS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add configuration setting to enable capturing of memory usage runtime metrics per process&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;memory_runtime_pid_metrics.enabled&lt;/code&gt; configuration setting to toggle capturing of memory usage metrics (per process ID only) to reduce Metric Grouping Issues (MGI).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Report only raw content dictionary for Anthropic Claude&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, AWS Bedrock&apos;s Anthropic Claude model would report a list of dictionaries of message content. Now it reports a single dictionary of message content.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 18 Apr 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.11.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMTEuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-91100</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds agent_language to lambda metadata, support for injecting the agent into Kubernetes, support for &lt;a href=&quot;https://pypi.org/project/psycopg/&quot;&gt;psycopg 3.0+&lt;/a&gt;, optimizes plugins list capturing, fixes the Large Language Model event duration units, a crash in ASGI when the Content-Length header is missing, a crash when using &lt;a href=&quot;https://pypi.org/project/openai&quot;&gt;OpenAI&lt;/a&gt;&apos;s &lt;code&gt;.with_raw_response.&lt;/code&gt; and &lt;code&gt;.with_streaming_response.&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add &lt;code&gt;agent_language&lt;/code&gt; to lambda metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;agent_language&lt;/code&gt; to collected lambda metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Optimize plugins list capturing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skip checking for a package version on newrelic hooks that we know do not have versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for injecting the agent into Kubernetes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Updates the bootstrap sitecustomize file to support injecting the agent into a Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;A full product for agent injection in Kubernetes will be coming soon in public preview.&lt;/li&gt;
&lt;li&gt;A new informational only setting called &lt;code&gt;k8s_operator.enabled&lt;/code&gt; (with &lt;code&gt;NEW_RELIC_K8S_OPERATOR_ENABLED&lt;/code&gt; as an environment variable) was added, which is used to report when the agent is injected into a Kubernetes cluster. This setting does &lt;strong&gt;not&lt;/strong&gt; enable/disable this function of the agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add support for &lt;a href=&quot;https://pypi.org/project/psycopg/&quot;&gt;psycopg 3.0+&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New instrumentation for psycopg 3.0+ has been added, providing database tracing for both the &lt;code&gt;Connection&lt;/code&gt; and &lt;code&gt;AsyncConnection&lt;/code&gt; classes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix Large Language Model event duration units&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, durations on LLM events were recorded in seconds which did not match some of the other language agents. This has been changed to be milliseconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash when using &lt;a href=&quot;https://pypi.org/project/openai&quot;&gt;OpenAI&lt;/a&gt;&apos;s &lt;code&gt;.with_raw_response.&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, an exception would be raised inside the instrumentation when &lt;code&gt;.with_raw_response.&lt;/code&gt; was used. This no longer happens, the instrumentation successfuly records LLM data when &lt;code&gt;.with_raw_response.&lt;/code&gt; is used.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix crash when using &lt;a href=&quot;https://pypi.org/project/openai&quot;&gt;OpenAI&lt;/a&gt;&apos;s &lt;code&gt;.with_streaming_response.&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, an exception would be raised inside the instrumentation when &lt;code&gt;.with_streaming_response.&lt;/code&gt; was used. This no longer happens, the instrumentation is just skipped.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fix a crash in ASGI when the Content-Length header is missing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, an exception would be raised inside the instrumentation that injects the browser agent when an ASGI response was missing the Content-Length header. This issue has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 13 Jun 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.7.1]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuNy4x</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-90701</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent fixes a bug in the &lt;code&gt;NewRelicContextFormatter&lt;/code&gt; where attributes were dropped from logs.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix log attribute dropping in &lt;code&gt;NewRelicContextFormatter&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;In v9.5.0, a bug in the &lt;code&gt;NewRelicContextFormatter&lt;/code&gt; was introduced where &lt;code&gt;message&lt;/code&gt; was added to the default set of keys to exclude. This caused extra attributes not in the default list to be dropped. This bug has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Mon, 11 Mar 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.12.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMTIuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-91200</link><pubDate>Thu, 11 Jul 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds instrumentation for &lt;a href=&quot;https://pypi.org/project/aiomcache/&quot;&gt;aiomcache&lt;/a&gt;, support for an internally set &lt;code&gt;collect_ai&lt;/code&gt; serverside configuration setting, formatting stack traces in &lt;code&gt;NewRelicContextFormatter&lt;/code&gt;, fixes a crash in package catpuring in Python 2.7, an attribute check in &lt;a href=&quot;https://pypi.org/project/openai&quot;&gt;OpenAI&lt;/a&gt; instrumentation, and casing on &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; metric and span names.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add instrumentation for aiomcache:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation support for &lt;a href=&quot;https://pypi.org/project/aiomcache/&quot;&gt;aiomcache&lt;/a&gt;. Thank you &lt;a href=&quot;https://github.com/jairhenrique&quot;&gt;Jair Henrique&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for &lt;code&gt;collect_ai&lt;/code&gt; serverside config:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for an internally set &lt;code&gt;collect_ai&lt;/code&gt; serverside configuration setting. Note this is returned in the connect response when a particular feature flag is set on an account.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adds support for formatting stack traces in &lt;code&gt;NewRelicContextFormatter&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NewRelicContextFormatter&lt;/code&gt; now implements the &lt;code&gt;format_exc_info&lt;/code&gt; class method that formats stack traces. Thank you &lt;a href=&quot;https://github.com/fritzdj&quot;&gt;Daniel Fritz&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix crash in package capture in Python 2.7:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, when capturing packages on Python 2.7 an &lt;code&gt;UnboundLocalError&lt;/code&gt; would be raised. This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix attribute check in OpenAI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix a typo in an attribute check inside the &lt;a href=&quot;https://pypi.org/project/openai&quot;&gt;OpenAI&lt;/a&gt; instrumentation. Thank you &lt;a href=&quot;https://github.com/niehusst&quot;&gt;Liam Niehus-Staab&lt;/a&gt; for the contribution!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix casing on LangChain metric and span names:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previously, if &lt;a href=&quot;https://pypi.org/project/langchain/&quot;&gt;LangChain&lt;/a&gt; was being used in combination with an unsupported Large Language Model library (aka not Bedrock or OpenAI) then the AI dashboard tab would not appear in the UI because the metric name was not cased correctly. This has been fixed and the Span names have been updated to match the casing of the metric name.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 11 Jul 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v9.13.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTkuMTMuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-91300</link><pubDate>Thu, 08 Aug 2024 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;This release of the Python agent adds the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for boto3&apos;s &lt;code&gt;upload_file&lt;/code&gt; command&lt;/li&gt;
&lt;li&gt;Support for newly added Redis commands&lt;/li&gt;
&lt;li&gt;AWS SQS information on spans&lt;/li&gt;
&lt;li&gt;&lt;code&gt;server.address&lt;/code&gt; attribute on RabbitMQ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also fixes an issue with OpenAI&apos;s client instrumentation and missing parameters in Botocore SQS.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt; or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add instrumentation for &lt;code&gt;upload_file&lt;/code&gt; in boto3&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation to the &lt;a href=&quot;https://pypi.org/project/s3transfer/&quot;&gt;s3transfer&lt;/a&gt; &lt;code&gt;BoundExecutor&lt;/code&gt; submit function, allowing the agent to support the &lt;code&gt;upload_file&lt;/code&gt; operation in &lt;a href=&quot;https://pypi.org/project/boto3/&quot;&gt;boto3&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add support for new Redis commands&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add instrumentation for the following commands in &lt;a href=&quot;https://pypi.org/project/redis/&quot;&gt;Redis&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;hexpire&lt;/li&gt;
&lt;li&gt;hexpireat&lt;/li&gt;
&lt;li&gt;hexpiretime&lt;/li&gt;
&lt;li&gt;hpersist&lt;/li&gt;
&lt;li&gt;hpexpire&lt;/li&gt;
&lt;li&gt;hpexpireat&lt;/li&gt;
&lt;li&gt;hpexpiretime&lt;/li&gt;
&lt;li&gt;hpttl&lt;/li&gt;
&lt;li&gt;httl&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Capture AWS SQS information on message spans:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Python Agent now captures the following AWS SQS information on message spans, allowing the UI to link AWS information with AWS SQS:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;messaging.system&lt;/code&gt; - aws_sqs&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloud.region&lt;/code&gt; - AWS region&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloud.account.id&lt;/code&gt; - AWS account ID&lt;/li&gt;
&lt;li&gt;&lt;code&gt;messaging.destination.name&lt;/code&gt; - AWS queue name&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add &lt;code&gt;server.address&lt;/code&gt; attribute to RabbitMQ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;server.address&lt;/code&gt; attribute to &lt;a href=&quot;https://pypi.org/project/rabbitmq/&quot;&gt;RabbitMQ&lt;/a&gt;, allowing the UI to link AWS information with AWS MQ.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fix TypeError in OpenAI instrumentation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Newer versions of &lt;a href=&quot;https://pypi.org/project/openai/&quot;&gt;OpenAI&lt;/a&gt; include an additional argument, resulting in an error with the base client instrumentation.  This has been fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fix missing parameters in &lt;code&gt;MessageTrace&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Resolved issue where parameters were not being passed from the &lt;code&gt;MessageTraceWrapper&lt;/code&gt; to the &lt;code&gt;MessageTrace&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 08 Aug 2024 00:00:00 +0000.</description></item><item><title><![CDATA[Python agent v12.0.0]]></title><guid isPermaLink="false">UHl0aG9uIGFnZW50LTEyLjAuMA==</guid><link>https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-120000</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Install the agent using &lt;code&gt;easy_install/pip/distribute&lt;/code&gt; via the &lt;a href=&quot;https://pypi.python.org/pypi/newrelic&quot;&gt;Python Package Index&lt;/a&gt;, using &lt;code&gt;conda&lt;/code&gt; via the &lt;a href=&quot;https://anaconda.org/conda-forge/newrelic&quot;&gt;Conda-Forge Package Index&lt;/a&gt;, or download it directly from the &lt;a href=&quot;https://download.newrelic.com/python_agent/release&quot;&gt;New Relic download site&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Removed features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cross Application Tracing (CAT) has been removed in favor of Distributed Tracing (DT).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The bundled SSL certificates have been removed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you require certificates for your environment, you can either install them via your operating system&apos;s package manager or install the agent with the optional &lt;code&gt;newrelic[certificates]&lt;/code&gt; extra.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python 3.8 support has been removed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Security&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All internal packages updated to their latest versions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;urllib3&lt;/code&gt; updated to v2.6.3
&lt;ul&gt;
&lt;li&gt;This fixes all open CVEs on &lt;code&gt;urllib3&lt;/code&gt; as of the date of this release.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;opentelemetry_proto&lt;/code&gt; updated to v1.40.0&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrapt&lt;/code&gt; updated to v2.1.2&lt;/li&gt;
&lt;li&gt;&lt;code&gt;asgiref&lt;/code&gt; updated to v3.11.1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New &lt;code&gt;newrelic[certificates]&lt;/code&gt; extra for installing SSL certificates through &lt;a href=&quot;https://pypi.org/project/certifi/&quot;&gt;certifi&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The agent now provides an optional &lt;code&gt;newrelic[certificates]&lt;/code&gt; 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&apos;s package manager.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Free-Threaded CPython support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Starting with Python 3.13, CPython releases builds of Python with the Global Interpreter Lock (GIL) disabled, allowing for true multi-threading.&lt;/li&gt;
&lt;li&gt;This release adds support for this behavior, allowing the agent to safely run in a free-threaded environment.&lt;/li&gt;
&lt;li&gt;This release also includes pre-built binaries for free-threaded CPython on Linux and Windows, allowing for easy installation in these environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Windows Support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This release includes pre-built binaries for CPython 3.13 or higher on Windows.&lt;/li&gt;
&lt;li&gt;Note that Python 3.12 or lower is not officially supported on Windows due to large variances in the resolution of timers. It&apos;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved instrumentation for &lt;a href=&quot;https://pypi.org/project/autogen/&quot;&gt;Microsoft AG2 (Autogen)&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added support for streaming responses through the asynchronous generator method &lt;code&gt;on_messages_stream()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Instrumentation now includes a &lt;code&gt;subcomponent&lt;/code&gt; attribute on spans that represent tool or agent calls. This is used to provide more enhanced entity mapping in the New Relic UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Duplicate exceptions in &lt;a href=&quot;https://strandsagents.com/&quot;&gt;Strands Agents&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After an update to Strands Agents which encapsulates some exceptions in a new &lt;code&gt;EventLoopException&lt;/code&gt; type, duplicate errors could be reported. This has been fixed and the underlying error should only be reported once.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Support statement&lt;/h2&gt;
&lt;p&gt;We recommend updating to the latest agent version as soon as it&apos;s available. If you can&apos;t upgrade to the latest version, update your agents to a version no more than 90 days old. Read &lt;a href=&quot;https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/&quot;&gt;more&lt;/a&gt; about keeping agents up to date.&lt;/p&gt;
&lt;p&gt;See the New Relic Python agent &lt;a href=&quot;https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/python-agent-eol-policy/&quot;&gt;EOL policy&lt;/a&gt; for information about agent releases and support dates.&lt;/p&gt;</content:encoded><description>ReleasedOn: Thu, 12 Mar 2026 00:00:00 +0000.</description></item></channel></rss>