NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #973 most downloaded on PyPI
The AWS X-Ray SDK for Python (the SDK) enables Python developers to record and emit information from within their applications to the AWS X-Ray service.
Last release 11 months ago
29 Oct 2025
Release timing varies
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 34 of 36 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
36 releases · first in 2017
See details in CHANGELOG
See details in CHANGELOG
bugfix: Fix log stack overflow if metadata contains circular reference https://github.com/aws/aws-xray-sdk-python/pull/464
See details in CHANGELOG
One column per quarter.
bugfix: Fix warning message condition for subsegment ending https://github.com/aws/aws-xray-sdk-python/pull/434
See details in CHANGELOG
See details in CHANGELOG
improvement: Bump idna from 3.6 to 3.7 in /sample-apps/flask https://github.com/aws/aws-xray-sdk-python/pull/425
bugfix: Fix end_time param type docstring from int to float https://github.com/aws/aws-xray-sdk-python/pull/426
improvement: Bump werkzeug from 3.0.1 to 3.0.3 in /sample-apps/flask https://github.com/aws/aws-xray-sdk-python/pull/428
improvement: [LambdaContext] Create dummy segment when trace header is incomplete https://github.com/aws/aws-xray-sdk-python/pull/429
bugfix: [LambdaContext] Fix logging to only happen inside lambda function https://github.com/aws/aws-xray-sdk-python/pull/431
See details in CHANGELOG
See details in CHANGELOG
bugfix: Fix passing multiple values in testenv.passenv in tox.ini https://github.com/aws/aws-xray-sdk-python/pull/399
improvement: Pin flask < 3.x for flask sqlalchemy tests https://github.com/aws/aws-xray-sdk-python/pull/412
improvement: Bump werkzeug from 2.2.3 to 3.0.1 in /sample-apps/flask https://github.com/aws/aws-xray-sdk-python/pull/413
improvement: Fix typo in docs https://github.com/aws/aws-xray-sdk-python/pull/419
bugfix: Fix sqlalchemy_core patch errors for unencoded special characters in db url https://github.com/aws/aws-xray-sdk-python/pull/418
bugfix: Fix EB platform version for integration test https://github.com/aws/aws-xray-sdk-python/pull/420
See details in CHANGELOG
See details in CHANGELOG
bugfix: set_trace_entity() in lambda adds segment to thread PR409 https://github.com/aws/aws-xray-sdk-python/pull/409
bugfix: Cleanup after drop of support for Python PR387 https://github.com/aws/aws-xray-sdk-python/pull/387
See details in CHANGELOG
See details in CHANGELOG
improvement: Default Context Missing Strategy set to Log Error PR372 https://github.com/aws/aws-xray-sdk-python/pull/372
bugfix: Pin tox version to <=3.27.1 to fix CI tests PR374 https://github.com/aws/aws-xray-sdk-python/pull/374
improvement: Sample app dependency update PR373 https://github.com/aws/aws-xray-sdk-python/pull/373
bugfix: Fix pynamodb tests for Python < 3.6 PR375 https://github.com/aws/aws-xray-sdk-python/pull/375
improvement: Use latest GH Actions versions in CI tests PR365 https://github.com/aws/aws-xray-sdk-python/pull/365
improvement: Simplify setup script PR363 https://github.com/aws/aws-xray-sdk-python/pull/363
bugfix: Fix deprecation warnings related to asyncio PR364 https://github.com/aws/aws-xray-sdk-python/pull/364
improvement: Run tests against Python 3.10 and 3.11 PR376 https://github.com/aws/aws-xray-sdk-python/pull/376
improvement: Sample app dependency update PR380 https://github.com/aws/aws-xray-sdk-python/pull/380
bugfix: Pin sqlalchemy version to 1.x to fix tests PR381 https://github.com/aws/aws-xray-sdk-python/pull/381
bugfix: Fix sample app dependencies incompatibility with XRay SDK PR382 https://github.com/aws/aws-xray-sdk-python/pull/382
bugfix: Start MySQL from GH Actions, upgrade Ubuntu, and remove Python versions for unit tests PR384 https://github.com/aws/aws-xray-sdk-python/pull/384
See details in CHANGELOG
See details in CHANGELOG
bugfix: Fix TypeError by patching register_default_jsonb from psycopg2 PR350 https://github.com/aws/aws-xray-sdk-python/pull/350
improvement: Add annotations PR348 https://github.com/aws/aws-xray-sdk-python/pull/348
bugfix: Use service parameter to match centralized sampling rules PR 353 https://github.com/aws/aws-xray-sdk-python/pull/353
bugfix: Implement PEP3134 to discover underlying problems with python3 PR355 https://github.com/aws/aws-xray-sdk-python/pull/355
improvement: Allow list TopicArn for SNS PublishBatch request PR358 https://github.com/aws/aws-xray-sdk-python/pull/358
bugfix: Version pinning flask-sqlalchemy version to 2.5.1 or less PR360 https://github.com/aws/aws-xray-sdk-python/pull/360
bugfix: Fix UnboundLocalError when aiohttp server raises a CancelledError PR356 https://github.com/aws/aws-xray-sdk-python/pull/356
improvement: Instrument httpx >= 0.20 PR357 https://github.com/aws/aws-xray-sdk-python/pull/357
improvement: [LambdaContext] persist original trace header PR362 https://github.com/aws/aws-xray-sdk-python/pull/362
bugfix: Run tests against Django 4.x PR361 https://github.com/aws/aws-xray-sdk-python/pull/361
improvement: Oversampling Mitigation PR366 https://github.com/aws/aws-xray-sdk-python/pull/366
See details in CHANGELOG
See details in CHANGELOG
See details in CHANGELOG
See details in CHANGELOG
improvement: feat(sqla-core): Add support for rendering Database Specific queries. PR291.
bugfix: Fixing broken instrumentation for sqlalchemy >= 1.4.0. PR289.
feature: no op trace id generation. PR293.
bugfix: Handle exception when sending entity to Daemon. PR292.
bugfix: Fixed serialization issue when cause is a string. PR284.
improvement: Publish metric on distribution availability. PR279.
See details in CHANGELOG
See details in CHANGELOG
improvement: Only run integration tests on master. PR277.
improvement: Add distribution channel smoke test. PR276.
improvement: Replace jsonpickle with json to serialize entity. PR275.
bugfix: Always close segment in teardown_request handler. PR272.
improvement: Close segment in only _handle_exception in case of Internal Server Error. PR271.
bugfix: Handling condition where Entity.cause is not a dict. PR267.
improvement: Add ability to ignore some requests from httplib. PR263.
feature: Add support for SQLAlchemy Core. PR264.
improvement: Added always() to run clean up workflow. PR259.
improvement: Allow configuring different Sampler in Django App. PR252.
bugfix: Restore python2 compatibility of EC2 plugin. PR249.
bugfix: eb solution stack name. PR251.
improvement: Integration Test Workflow. PR246.
improvement: Include unicode type for annotation value. PR235.
improvement: Run tests against Django 3.1 instead of 1.11. PR240.
bugfix: Generalize error check for pymysql error type. PR239.
bugfix: SqlAlchemy: Close segment even if error was raised. PR234.
See details in CHANGELOG
See details in CHANGELOG
bugfix: asyncio.Task.current_task PendingDeprecation fix. PR217.
bugfix: Added proper TraceID in dummy segments. PR223.
improvement: Add testing for current Django versions. PR200.
improvement: IMDSv2 support for EC2 plugin. PR226.
improvement: Using instance doc to fetch EC2 metadata. Added 2 additional fields. PR227.
improvement: Added StaleBot. PR228.
See details in CHANGELOG
See details in CHANGELOG
bugfix: Downgrade Coverage to 4.5.4. PR197.
bugfix: Unwrap context provided to psycopg2.extensions.quote_ident. PR198.
feature: extension support as Bottle plugin. PR204.
bugfix: streaming_threshold not None check. PR205.
bugfix: Add support for Django 2.0 to 3.0. PR206.
bugfix: add puttracesegments to boto whitelist avoid a catch 22. PR210.
feature: Add patch support for pymysql. PR215.
See details in CHANGELOG
See details in CHANGELOG
bugfix: Downstream Http Calls should use hostname rather than full URL as subsegment name. PR192.
improvement: Whitelist SageMakerRuntime InvokeEndpoint operation. PR183.
bugfix: Fix patching for PynamoDB4 with botocore 1.13. PR181.
bugfix: Add X-Ray client with default empty credentials. PR180.
improvement: Faster implementation of Wildcard Matching. PR178.
bugfix: Make patch compatible with PynamoDB4. PR177.
bugfix: Fix unit tests for newer versions of psycopg2. PR163.
improvement: Enable tests with python 3.7. PR157.
bugfix: Fix exception processing in Django running in Lambda. #145 bugfix: Poller threads block main thread from exiting bug. #144
bugfix: Fix exception processing in Django running in Lambda. #145 bugfix: Poller threads block main thread from exiting bug. #144
Bug fix: Middlewares should create subsegments only when in the Lambda context running under a Lambda environment #139
Bug fix: Middlewares should create subsegments only when in the Lambda context running under a Lambda environment #139
bugfix: Middlewares should create subsegments only when in the Lambda context running under a Lambda environment. PR139.
See details in CHANGELOG
See details in CHANGELOG
feature: Add ability to enable/disable the SDK. PR119.
feature: Add Serverless Framework Support PR127.
feature: Bring aiobotocore support back. PR125.
bugfix: Fix httplib invalid scheme detection for HTTPS. PR122.
bugfix: Max_trace_back = 0 returns full exception stack trace bug fix. PR123.
bugfix: Rename incorrect config module name to the correct global name. PR130.
bugfix: Correctly remove password component from SQLAlchemy URLs, preventing... PR132.
Please see the detailed changes here https://github.com/aws/aws-xray-sdk-python/blob/master/CHANGELOG.rst
Please see the detailed changes here https://github.com/aws/aws-xray-sdk-python/blob/master/CHANGELOG.rst
feature: Stream Django ORM SQL queries and add flag to toggle their streaming. PR111.
feature: Recursively patch any given module functions with capture. PR113.
feature: Add patch support for pg8000 (Pure Python Driver). PR115.
improvement: Remove the dependency on Requests. PR112.
bugfix: Fix psycop2 register type. PR95.
See details in CHANGELOG.
See details in CHANGELOG.
feature: Added context managers on segment/subsegment capture. PR97.
feature: Added AWS SNS topic ARN to the default whitelist file. PR93.
bugfix: Fixed an issue on psycopg2 to support all keywords. PR91.
bugfix: Fixed an issue on endSegment when there is context missing. ISSUE98.
bugfix: Fixed the package description rendered on PyPI. PR101.
bugfix: Fixed an issue where patch_all could patch the same module multiple times. ISSUE99.
bugfix: Fixed the datetime to epoch conversion on Windows OS. ISSUE103.
bugfix: Fixed a wrong segment json key where it should be sampling_rule_name rather than rule_name.
Please see the detailed changes here https://github.com/aws/aws-xray-sdk-python/blob/master/CHANGELOG.rst
Please see the detailed changes here https://github.com/aws/aws-xray-sdk-python/blob/master/CHANGELOG.rst
feature: Added support for psycopg2. PR83.
feature: Added support for pynamodb >= 3.3.1. PR88.
improvement: Improved stack trace recording when exception is thrown in decorators. PR70.
bugfix: Argument sampling_req in LocalSampler should_trace method now becomes optional. PR89.
bugfix: Fixed a wrong test setup and leftover poller threads in recorder unit test.
bugfix: Fixed a issue where manually begin_segment might break when making sampling decisions. PR82 _.
bugfix: Fixed a issue where manually begin_segment might break when making sampling decisions. PR82.
Nothing published for this version
bugfix: Fixed an issue on PynamoDB patcher where the capture didn't handle client timeout.
bugfix: Fixed an issue on PynamoDB patcher where the capture didn't handle client timeout.
bugfix: Handle Aiohttp Exceptions as valid responses PR59 _.
bugfix: Handle Aiohttp Exceptions as valid responses PR59.
See CHANGELOG for more details.
See CHANGELOG for more details.
feature: Added Sqlalchemy parameterized query capture. PR34
bugfix: Allow standalone sqlalchemy integrations without flask_sqlalchemy. PR53
bugfix: Give up aiohttp client tracing when there is no open segment and LOG_ERROR is configured. PR58
bugfix: Handle missing subsegment when rendering a Django template. PR54
Typo fixes on comments and docs.
The SDK now is in production stability. Please see more details on CHANGELOG.
The SDK now is in production stability. Please see more details on CHANGELOG.
Changed development status to 5 - Production/Stable and removed beta tag.
feature: Added S3 API parameters to the default whitelist.
feature: Added new recorder APIs to add annotations/metadata.
feature: The recorder now adds more runtime and version information to sampled segments.
feature: Django, Flask and Aiohttp middleware now inject trace header to response headers.
feature: Added a new API to configure maximum captured stack trace.
feature: Modularized subsegments streaming logic and now it can be overriden with custom implementation.
bugfix(Breaking): Subsegment set_user API is removed since this attribute is not supported by X-Ray back-end.
bugfix: Fixed an issue where arbitrary fields in trace header being dropped when calling downstream.
bugfix: Fixed a compatibility issue between botocore and httplib patcher. ISSUE48.
bugfix: Fixed a typo in sqlalchemy decorators. PR50.
Updated README with more usage examples.
See CHANGELOG for details.
See CHANGELOG for details.
feature: Support aiohttp client tracing for aiohttp 3.x. PR42.
feature: Use the official middleware pattern for Aiohttp ext. PR29.
bugfix: Aiohttp middleware serialized URL values incorrectly. PR37
bugfix: Don't overwrite plugins list on each .configure call. PR38
bugfix: Do not swallow return_value when context is missing and LOG_ERROR is set. PR44
bugfix: Loose entity name validation. ISSUE36
bugfix: Fix PyPI project page being rendered incorrectly. ISSUE30
See CHANGELOG for release details.
See CHANGELOG for release details.
feature: Add support for SQLAlchemy and Flask-SQLAlcemy. PR14.
feature: Add support for PynamoDB calls to DynamoDB. PR13.
feature: Add support for httplib calls. PR19.
feature: Make streaming threshold configurable through public interface. ISSUE21.
bugfix: Drop invalid annotation keys and log a warning. PR22.
bugfix: Respect with statement on cursor objects in dbapi2 patcher. PR17.
bugfix: Don't throw error from built in subsegment capture when LOG_ERROR is set. ISSUE4.
You can now use the SDK to instrument aioboto3/aiobotocore clients and asynchronous functions.
You can now use the SDK to instrument aioboto3/aiobotocore clients and asynchronous functions.
Breaking: AWS API parameter whitelist json file is moved to path aws_xray_sdk/ext/resources/aws_para_whitelist.json in PR6.
Added aiobotocore/aioboto3 support and async function capture. PR6
Added logic to removing segment/subsegment name invalid characters. PR9
Temporarily disabled tests run on Django2.0. PR10
Code cleanup. PR11
You can now use the SDK to instrument aiohttp clients.
You can now use the SDK to instrument aiohttp clients.
You can follow the project and submit issues and pull requests on GitHub.
You can follow the project and submit issues and pull requests on GitHub.
The X-Ray SDK for Python is now an open source project. You can follow the project and submit issues and pull requests on GitHub: https://github.com/aws/aws-xray-sdk-python
bugfix: Fixed an issue that caused the X-Ray recorder to omit the origin when recording segments with a service plugin. This caused the service's type
bugfix: Fixed an issue that caused the X-Ray recorder to omit the origin when recording segments with a service plugin. This caused the service's type to not appear on the service map in the X-Ray console.
bugfix: Fixed an issue that caused all calls to Amazon DynamoDB tables to be grouped under a single node in the service map. With this update, each ta
bugfix: Fixed an issue that caused all calls to Amazon DynamoDB tables to be grouped under a single node in the service map. With this update, each table gets a separate node.
feature: Add dynamic naming on segment name
feature: Add Flask support
feature: Add dynamic naming on segment name
bugfix: The SDK has been released as a universal wheel
bugfix: The SDK has been released as a universal wheel
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →