Python Agent version 6.xedit

6.13.2 - 2022-11-17edit

Bug fixesedit
  • Fix error in Elasticsearch instrumentation when spans are dropped #1690
  • Lower log level for errors in APM Server version fetching #1692
  • Fix for missing parent.id when logging from a DroppedSpan under a leaf span #1695

6.13.1 - 2022-11-03edit

Bug fixesedit
  • Fix elasticsearch instrumentation for track_total_hits=False #1687

6.13.0 - 2022-10-26edit

Featuresedit
  • Add support for Python 3.11
  • Add backend granularity data to SQL backends as well as Cassandra and pymongo #1585, #1639
  • Add support for instrumenting the Elasticsearch 8 Python client #1642
  • Add *principal* to default sanitize_field_names configuration #1664
  • Add docs and better support for custom metrics, including in AWS Lambda #1643
  • Add support for capturing span links from AWS SQS in AWS Lambda #1662
Bug fixesedit
  • Fix Django’s manage.py check when agent is disabled #1632
  • Fix an issue with long body truncation for Starlette #1635
  • Fix an issue with transaction outcomes in Flask for uncaught exceptions #1637
  • Fix Starlette instrumentation to make sure transaction information is still present during exception handling #1674

6.12.0 - 2022-09-07edit

Featuresedit
  • Add redis query to context data for redis instrumentation #1406
  • Add AWS request ID to all botocore spans (at span.context.http.request.id) #1625
Bug fixesedit
  • Differentiate Lambda URLs from API Gateway in AWS Lambda integration #1609
  • Restrict the size of Django request bodies to prevent APM Server rejection #1610
  • Restrict length of exception.message for exceptions captured by the agent #1619
  • Restrict length of Starlette request bodies #1549
  • Fix error when using elasticsearch(sniff_on_start=True) #1618
  • Improve handling of ignored URLs and capture_body=off for Starlette #1549
  • Fix possible error in the transport flush for Lambda functions #1628

6.11.0 - 2022-08-09edit

Featuresedit
  • Added lambda support for ELB triggers #1605

6.10.2 - 2022-08-04edit

Bug fixesedit
  • Fixed an issue with non-integer ports in Django #1590
  • Fixed an issue with non-integer ports in Redis #1591
  • Fixed a performance issue for local variable shortening via varmap() #1593
  • Fixed elasticapm.label() when a Client object is not available #1596

6.10.1 - 2022-06-30edit

Bug fixesedit
  • Fix an issue with Kafka instrumentation and unsampled transactions #1579

6.10.0 - 2022-06-22edit

Featuresedit
  • Add instrumentation for aiobotocore #1520
  • Add instrumentation for kafka-python #1555
  • Add API for span links, and implement span link support for OpenTelemetry bridge #1562
  • Add span links to SQS ReceiveMessage call #1575
  • Add specific instrumentation for SQS delete/batch-delete #1567
  • Add trace_continuation_strategy setting #1564
Bug fixesedit
  • Fix return for opentelemetry.Span.is_recording() #1530
  • Fix error logging for bad SERVICE_NAME config #1546
  • Do not instrument old versions of Tornado > 6.0 due to incompatibility #1566
  • Fix transaction names for class based views in Django 4.0+ #1571
  • Fix a problem with our logging handler failing to report internal errors in its emitter #1568

6.9.1 - 2022-03-30edit

Bug fixesedit
  • Fix otel_attributes-related regression with older versions of APM Server (<7.16) #1510

6.9.0 - 2022-03-29edit

Featuresedit
  • Add OpenTelemetry API bridge #1411
  • Change default for sanitize_field_names to sanitize *auth* instead of authorization #1494
  • Add span_stack_trace_min_duration to replace deprecated span_frames_min_duration #1498
  • Enable exact_match span compression by default #1504
  • Allow parent celery tasks to specify the downstream parent_span_id in celery headers #1500
Bug fixesedit
  • Fix Sanic integration to properly respect the capture_body config #1485
  • Lambda fixes to align with the cross-agent spec #1489
  • Lambda fix for custom service_name #1493
  • Change default for stack_trace_limit from 500 to 50 #1492
  • Switch all duration handling to use datetime.timedelta objects #1488

6.8.1 - 2022-03-09edit

Bug fixesedit
  • Fix exit_span_min_duration and disable by default #1483

6.8.0 - 2022-02-22edit

Featuresedit
  • use "unknown-python-service" as default service name if no service name is configured #1438
  • add transaction name to error objects #1441
  • don’t send unsampled transactions to APM Server 8.0+ #1442
  • implement snapshotting of certain configuration during transaction lifetime #1431
  • propagate traceparent IDs via Celery #1371
  • removed Python 2 compatibility shims #1463

    • Note: Python 2 support was already removed with version 6.0 of the agent, this now removes unused compatibilit shims.
Bug fixesedit
  • fix span compression for redis, mongodb, cassandra and memcached #1444
  • fix recording of status_code for starlette #1466
  • fix aioredis span context handling #1462

6.7.2 - 2021-12-07edit

Bug fixesedit
  • fix AttributeError in sync instrumentation of httpx #1423
  • add setting to disable span compression, default to disabled #1429

6.7.1 - 2021-11-29edit

Bug fixesedit
  • fix an issue with Sanic exception tracking #1414
  • asyncpg: Limit SQL queries in context data to 10000 characters #1416

6.7.0 - 2021-11-17edit

Featuresedit
  • Add support for Sanic framework #1390
Bug fixesedit
  • fix compatibility issues with httpx 0.21 #1403
  • fix span_compression_exact_match_max_duration default value #1407

6.6.3 - 2021-11-15edit

Bug fixesedit
  • fix an issue with metrics_sets configuration referencing the TransactionMetricSet removed in 6.6.2 #1397

6.6.2 - 2021-11-10edit

Bug fixesedit
  • Fix an issue where compressed spans would count against transaction_max_spans #1377
  • Make sure HTTP connections are not re-used after a process fork #1374
  • Fix an issue with psycopg2 instrumentation when multiple hosts are defined #1386
  • Update the User-Agent header to the new spec #1378
  • Improve status_code handling in AWS Lambda integration #1382
  • Fix aiohttp exception handling to allow for non-500 responses including HTTPOk #1384
  • Force transaction names to strings #1389
Otheredit
  • Remove unused http.request.socket.encrypted context field #1332
  • Remove unused transaction metrics (APM Server handles these metrics instead) #1388

6.6.1 - 2021-11-02edit

Bug fixesedit
  • Fix some context fields and metadata handling in AWS Lambda support #1368

6.6.0 - 2021-10-18edit

Featuresedit
  • Add experimental support for AWS lambda instrumentation #1193
  • Add support for span compression #1321
  • Auto-infer destination resources for easier instrumentation of new resources #1359
  • Add support for dropped span statistics #1327
Bug fixesedit
  • Ensure that Prometheus histograms are encoded correctly for APM Server #1354
  • Remove problematic (and duplicate) event.dataset from logging integrations #1365
  • Fix for memcache instrumentation when configured with a unix socket #1357

6.5.0 - 2021-10-04edit

Featuresedit
  • Add instrumentation for Azure Storage (blob/table/fileshare) and Azure Queue #1316
Bug fixesedit
  • Improve span coverage for asyncpg #1328
  • aiohttp: Correctly pass custom client to tracing middleware #1345
  • Fixed an issue with httpx instrumentation #1337
  • Fixed an issue with Django 4.0 removing a private method #1347

6.4.0 - 2021-08-31edit

Featuresedit
  • Rename the experimental log_ecs_formatting config to log_ecs_reformatting #1300
  • Add support for Prometheus histograms #1165
Bug fixesedit
  • Fixed cookie sanitization when Cookie is capitalized #1301
  • Fix a bug with exception capturing for bad UUIDs #1304
  • Fix potential errors in json serialization #1203
  • Fix an issue with certain aioredis commands #1308

6.3.3 - 2021-07-14edit

Bug fixesedit
  • ensure that the elasticsearch instrumentation handles DroppedSpans correctly #1190

6.3.2 - 2021-07-07edit

Bug fixesedit
  • Fix handling of non-http scopes in Starlette/FastAPI middleware #1187

6.3.1 - 2021/07/07edit

Bug fixesedit
  • Fix issue with Starlette/FastAPI hanging on startup #1185

6.3.0 - 2021/07/06edit

Featuresedit
  • Add additional context information about elasticsearch client requests #1108
  • Add use_certifi config option to allow users to disable certifi #1163
Bug fixesedit
  • Fix for Starlette 0.15.0 error collection #1174
  • Fix for Starlette static files #1137

6.2.3 - 2021/06/28edit

Bug fixesedit
  • suppress the default_app_config attribute in Django 3.2+ #1155
  • bump log level for multiple set_client calls to WARNING #1164
  • fix issue with adding disttracing to SQS messages when dropping spans #1170

6.2.2 - 2021/06/07edit

Bug fixesedit
  • Fix an attribute access bug introduced in 6.2.0 #1149

6.2.1 - 2021/06/03edit

Bug fixesedit
  • catch and log exceptions in interval timer threads #1145

6.2.0 - 2021/05/31edit

Featuresedit
  • Added support for aioredis 1.x #2526
  • Added support for aiomysql #1107
  • Added Redis pub/sub instrumentation #1129
  • Added specific instrumentation for AWS SQS #1123
Bug fixesedit
  • ensure metrics are flushed before agent shutdown #1139
  • added safeguard for exceptions in processors #1138
  • ensure sockets are closed which were opened for cloud environment detection #1134

6.1.3 - 2021/04/28edit

Bug fixesedit
  • added destination information to asyncpg instrumentation #1115
  • fixed issue with collecting request meta data with Django REST Framework #1117
  • fixed httpx instrumentation for newly released httpx 0.18.0 #1118

6.1.2 - 2021/04/14edit

Bug fixesedit
  • fixed issue with empty transaction name for the root route with Django #1095
  • fixed on-the-fly initialisation of Flask apps #1099

v6.1.1 - 2021/04/08edit

Bug fixesedit
  • fixed a validation issue with the newly introduced instrumentation for S3, SNS and DynamoDB #1090

v6.1.0 - 2021/03/31edit

Featuresedit
  • Add global access to Client singleton object at elasticapm.get_client() #1043
  • Add log_ecs_formatting config option #1058 #1063
  • Add instrumentation for httplib2 #1031
  • Add better instrumentation for some AWS services (S3, SNS, DynamoDB) #1054
  • Added beta support for collecting metrics from prometheus_client #1083
Bug fixesedit
  • Fix for potential capture_body: error hang in Starlette/FastAPI #1038
  • Fix a rare error around processing stack frames #1012
  • Fix for Starlette/FastAPI to correctly capture request bodies as strings #1041
  • Fix transaction names for Starlette Mount routes #1037
  • Fix for elastic excepthook arguments #1050
  • Fix issue with remote configuration when resetting config values #1068
  • Use a label for the elasticapm Django app that is compatible with Django 3.2 validation #1064
  • Fix an issue with undefined routes in Starlette #1076

v6.0.0 - 2021/02/01edit

Breaking changesedit
  • Python 2.7 and 3.5 support has been deprecated. The Python agent now requires Python 3.6+ #1021
  • No longer collecting body for elasticsearch-py update and delete_by_query #1013
  • Align sanitize_field_names config with the cross-agent spec. If you are using a non-default sanitize_field_names, surrounding each of your entries with stars (e.g. *secret*) will retain the old behavior. #982
  • Remove credit card sanitization for field values. This improves performance, and the security value of this check was dubious anyway. #982
  • Remove HTTP querystring sanitization. This improves performance, and is meant to standardize behavior across the agents, as defined in https://github.com/elastic/apm/pull/334. #982
  • Remove elasticapm.tag() (deprecated since 5.0.0) #1034
Bug fixesedit
  • Fix for GraphQL span spamming from scalar fields with required flag #1015