Python Agent version 6.x
editPython Agent version 6.x
edit6.23.0 - 2024-07-30
editFeatures
edit- Make published Docker images multi-platform with the addition of linux/arm64 #2080
Bug fixes
editDeprecations
edit- Python 3.6 support will be removed in version 7.0.0 of the agent
- The log shipping LoggingHandler will be removed in version 7.0.0 of the agent.
- The log shipping feature in the Flask instrumentation will be removed in version 7.0.0 of the agent.
- The log shipping feature in the Django instrumentation will be removed in version 7.0.0 of the agent.
- The OpenTracing bridge will be removed in version 7.0.0 of the agent.
- Celery 4.0 support is deprecated because it’s not installable anymore with a modern pip
6.22.3 - 2024-06-10
editBug fixes
edit- Fix outcome in ASGI and Starlette apps on error status codes without an exception #2060
6.21.0 - 2024-03-06
editBug fixes
edit- Fix starlette middleware setup without client argument #1952
- Fix blocking of gRPC stream-to-stream requests #1967
- Always take into account body reading time for starlette requests #1970
- Make urllib3 transport tests more robust against local env #1969
- Clarify starlette integration documentation #1956
- Make dbapi2 query scanning for dollar quotes a bit more correct #1976
- Normalize headers in AWS Lambda integration on API Gateway v1 requests #1982
6.20.0 - 2024-01-10
editFeatures
editBug fixes
editPending Deprecations
edit- The log shipping LoggingHandler will be removed in version 7.0.0 of the agent.
6.19.0 - 2023-10-11
editFeatures
editBug fixes
edit- Fix url argument fetching in aiohttp_client instrumentation #1890
-
Fix a bug in the AWS Lambda instrumentation when
event["headers"] is None
#1907 - Fix a bug in AWS Lambda where metadata could be incomplete, causing validation errors with the APM Server #1914
- Fix a bug in AWS Lambda where sending the partial transaction would be recorded as an extra span #1914
Pending Deprecations
edit- The log shipping feature in the Flask instrumentation will be removed in version 7.0.0 of the agent.
6.18.0 - 2023-07-25
editFeatures
edit- Add support for grpc aio server interceptor #1870
Bug fixes
edit- Fix a bug in the Elasticsearch client instrumentation which was causing loss of database context (including statement) when interacting with Elastic Cloud #1878
6.17.0 - 2023-07-03
editFeatures
editBug fixes
edit- Fix a bug in the GRPC instrumentation when reaching the maximum amount of spans per transaction #1861
6.16.0 - 2023-06-05
editFeatures
edit- Add lambda layer for instrumenting AWS Lambda functions #1826
- Implement instrumentation of Azure Functions #1766
- Add support for Django to wrapper script #1780
- Add support for Starlette to wrapper script #1830
-
Add
transport_json_serializer
configuration option #1777 - Add S3 bucket and key name to OTel attributes #1790
- Implement partial transaction support in AWS lambda #1784
- Add instrumentation for redis.asyncio #1807
- Add support for urllib3 v2.0.1+ #1822
-
Add
service.environment
to log correlation #1833 -
Add
ecs_logging
as a dependency #1840 - Add support for synchronous psycopg3 #1841
Bug fixes
edit- Fix spans being dropped if they don’t have a name #1770
-
Fix AWS Lambda support when
event
is not a dict #1775 - Fix deprecation warning with urllib3 2.0.0 pre-release versions #1778
-
Fix
activation_method
to only send to APM server 8.7.1+ #1787 -
Fix span.context.destination.service.resource for S3 spans to have an "s3/" prefix. #1783
Note: While this is considered a bugfix, it can potentially be a breaking change in the Kibana APM app: It can break the history of the S3-Spans / metrics for users relying on
context.destination.service.resource
. If users happen to run agents both with and without this fix (for same or different languages), the same S3-buckets can appear twice in the service map (with and without s3-prefix). - Fix instrumentation to not bubble up exceptions during instrumentation #1791
- Fix HTTP transport to not print useless and confusing stack trace #1809
6.15.0 - 2023-02-16
editFeatures
edit-
Add
service.agent.activation_method
to the metadata #1743
Bug fixes
edit- Small fix to underlying Starlette logic to prevent duplicate Client objects #1735
-
Change
server_url
default tohttp://127.0.0.1:8200
to avoid ipv6 ambiguity #1744 - Fix an issue in GRPC instrumentation with unsampled transactions #1740
- Fix error in async Elasticsearch instrumentation when spans are dropped #1758
6.13.1 - 2022-11-03
editBug fixes
edit- Fix elasticsearch instrumentation for track_total_hits=False #1687
6.13.0 - 2022-10-26
editFeatures
edit- 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 defaultsanitize_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 fixes
edit-
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-07
editFeatures
editBug fixes
edit- 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.10.1 - 2022-06-30
editBug fixes
edit- Fix an issue with Kafka instrumentation and unsampled transactions #1579
6.10.0 - 2022-06-22
editFeatures
edit-
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 fixes
edit-
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-30
editBug fixes
edit-
Fix
otel_attributes
-related regression with older versions of APM Server (<7.16) #1510
6.9.0 - 2022-03-29
editFeatures
edit- Add OpenTelemetry API bridge #1411
-
Change default for
sanitize_field_names
to sanitize*auth*
instead ofauthorization
#1494 -
Add
span_stack_trace_min_duration
to replace deprecatedspan_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 fixes
edit6.8.0 - 2022-02-22
editFeatures
edit- 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 fixes
edit6.6.3 - 2021-11-15
editBug fixes
edit-
fix an issue with
metrics_sets
configuration referencing theTransactionMetricSet
removed in 6.6.2 #1397
6.6.2 - 2021-11-10
editBug fixes
edit-
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 includingHTTPOk
#1384 - Force transaction names to strings #1389
Other
edit6.6.1 - 2021-11-02
editBug fixes
edit- Fix some context fields and metadata handling in AWS Lambda support #1368
6.5.0 - 2021-10-04
editFeatures
edit- Add instrumentation for Azure Storage (blob/table/fileshare) and Azure Queue #1316
Bug fixes
edit6.3.3 - 2021-07-14
editBug fixes
edit- ensure that the elasticsearch instrumentation handles DroppedSpans correctly #1190
6.3.2 - 2021-07-07
editBug fixes
edit- Fix handling of non-http scopes in Starlette/FastAPI middleware #1187
v6.1.1 - 2021/04/08
editBug fixes
edit- fixed a validation issue with the newly introduced instrumentation for S3, SNS and DynamoDB #1090
v6.1.0 - 2021/03/31
editFeatures
edit-
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 fixes
edit-
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/01
editBreaking changes
edit- 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
anddelete_by_query
#1013 -
Align
sanitize_field_names
config with the cross-agent spec. If you are using a non-defaultsanitize_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 fixes
edit- Fix for GraphQL span spamming from scalar fields with required flag #1015