- bugfix: Fixed a issue where manually begin_segment might break when making sampling decisions. PR82.
- Breaking: The default sampler now launches background tasks to poll sampling rules from X-Ray backend. See the new default sampling strategy in more details here: https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-python-configuration.html#xray-sdk-python-configuration-sampling.
- Breaking: The should_trace function in the sampler now takes a dictionary for sampling rule matching.
- Breaking: The original sampling modules for local defined rules are moved from models.sampling to models.sampling.local.
- Breaking: The default behavior of patch_all changed to selectively patches libraries to avoid double patching. You can use patch_all(double_patch=True) to force it to patch ALL supported libraries. See more details on ISSUE63
- Breaking: The latest botocore that has new X-Ray service API GetSamplingRules and GetSamplingTargets are required.
- Breaking: Version 2.x doesn't support pynamodb and aiobotocore as it requires botocore >= 1.11.3 which isn’t currently supported by the pynamodb and aiobotocore libraries. Please continue to use version 1.x if you’re using pynamodb or aiobotocore until those haven been updated to use botocore > = 1.11.3.
- feature: Environment variable AWS_XRAY_DAEMON_ADDRESS now takes an additional notation in tcp:127.0.0.1:2000 udp:127.0.0.2:2001 to set TCP and UDP destination separately. By default it assumes a X-Ray daemon listening to both UDP and TCP traffic on 127.0.0.1:2000.
- feature: Added MongoDB python client support. PR65.
- bugfix: Support binding connection in sqlalchemy as well as engine. PR78.
- bugfix: Flask middleware safe request teardown. ISSUE75.
- bugfix: Fixed an issue on PynamoDB patcher where the capture didn't handle client timeout.
- bugfix: Handle Aiohttp Exceptions as valid responses PR59.
- 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.
- 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.
- 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
- 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.
- 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
- Added aiohttp support. PR3
- 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 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 table gets a separate node.
- feature: Add Flask support
- feature: Add dynamic naming on segment name
- bugfix: The SDK has been released as a universal wheel