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.
The version number of the agent did not previously follow Semantic Versioning 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.
Update Sanic middleware support
Sanic recently changed their APIs surrounding middleware, and instrumentation has been updated to support it.
Update wrapt to v1.14.1
The internal copy of the wrapt library used by the agent has been updated to v1.14.1 for Python 3.11 compatibility.
Add support for Protobuf v4
The agent is now fully compatible with Protobuf v4 when using Infinite Tracing. Backwards compatibility with Protobuf v3 has been preserved.
Fix a RuntimeError in the trace cache when using the coroutine profiler
A RuntimeError occurred if traces were started or stopped while the coroutine profiler was sampling the active traces. This should no longer be possible.
Thank you @lovmat for your contribution!
Fix an issue with case sensitivity in record-deploy
Previously application names were incorrectly being treated as case-sensitive when running
Thank you @michalborkowski96 for your contribution!
Fix an issue with newer installers failing to install the agent
Due to the inclusion of both
entry_pointsconfiguration 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.
Thank you @admp-fh for your contribution!
Fix instrumentation for aioredis interfering with transactions
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.
Fix a crash when completing various kinds of traces inside a stopped transaction
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.
Fix a bug where instrumentation caused certain arguments to confluent-kafka producers to stop working
Previously callback and on_delivery arguments were passed through improperly leading to them not working as expected.
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 220.127.116.11. More information can be found in the EOL Policy Page.