github aws-observability/aws-otel-python-instrumentation v0.20.0
Release v0.20.0

8 hours ago

What's Changed

  • feat(genai): add AWS-prefixed controls for GenAI instrumentation, MCP HTTP suppression, OpenAI Agents trace export, and span attribute redaction; retain AWS_AGENTIC_INSTRUMENTATION and OTEL_MCP_SUPPRESS_HTTP_INSTRUMENTATION as legacy fallbacks (#893)
  • fix: restrict native GenAI instrumentations to supported dependency major versions (#884)
  • fix(langchain): propagate first input, last output, and system instructions to internal agent spans (#889)
  • feat: redact span, span event, and span link attributes via AWS_REDACT_SPAN_ATTRIBUTES (#886)
  • feat(langchain): classify LangGraph StateGraph invocations as agent or workflow spans through the Pregel runtime (#888)
  • fix: stop logging a noisy Invalid key/value pair (xrsr, None) found. warning on span creation when no X-Ray sampling rule hash is available (#874)
  • fix(crewai): correctly complete and isolate spans across tool calls and concurrent crew runs (#881)
  • fix(mcp-instrumentation): record errors and session IDs on MCP session spans (#880)
  • [BREAKING CHANGE] Delete experimental code level attributes (#883)
  • Only demote duplicate nested GenAI client spans (#872)
  • (fix): Align and capture missing GenAI request attributes from framework LLM calls (#871)
  • fix: align LlamaIndex tools with the OTel GenAI schema and expand GenAI contract coverage (#866)
  • feat(openai-agents): [BREAKING CHANGE] add native ADOT OpenAI Agents instrumentation and remove the opentelemetry-instrumentation-openai-agents-v2 dependency (#865)
  • fix: support non-recording parent spans in AttributePropagatingSpanProcessor (#744)
  • feat: attribute presigned S3 URLs as AWS::S3 dependencies in Application Signals, opt-in via OTEL_AWS_APPLICATION_SIGNALS_PRESIGNED_URL_ATTRIBUTION_ENABLED (#841)
  • fix: redact AWS presigned URL credentials from span attributes (#840)
  • fix(genai): capture per-call token usage for Amazon Bedrock (and Anthropic) in crewai and langchain by reading provider-specific usage keys — crewai's Converse inputTokens/outputTokens and langchain's ChatBedrockConverse message usage_metadata (#838)

Upstream Components

  • opentelemetry-api - 1.44.0
  • opentelemetry-sdk - 1.44.0
  • opentelemetry-exporter-otlp-proto-grpc - 1.44.0
  • opentelemetry-exporter-otlp-proto-http - 1.44.0
  • opentelemetry-propagator-b3 - 1.44.0
  • opentelemetry-propagator-jaeger - 1.44.0
  • opentelemetry-exporter-otlp-proto-common - 1.44.0
  • opentelemetry-sdk-extension-aws - 2.1.0
  • opentelemetry-propagator-aws-xray - 1.0.2
  • opentelemetry-distro - 0.65b0
  • opentelemetry-processor-baggage - 0.65b0
  • opentelemetry-propagator-ot-trace - 0.65b0
  • opentelemetry-instrumentation - 0.65b0
  • opentelemetry-instrumentation-aws-lambda - 0.65b0
  • opentelemetry-instrumentation-aio-pika - 0.65b0
  • opentelemetry-instrumentation-aiohttp-client - 0.65b0
  • opentelemetry-instrumentation-aiokafka - 0.65b0
  • opentelemetry-instrumentation-aiopg - 0.65b0
  • opentelemetry-instrumentation-asgi - 0.65b0
  • opentelemetry-instrumentation-asyncpg - 0.65b0
  • opentelemetry-instrumentation-boto3sqs - 0.65b0
  • opentelemetry-instrumentation-botocore - 0.65b0
  • opentelemetry-instrumentation-celery - 0.65b0
  • opentelemetry-instrumentation-confluent-kafka - 0.65b0
  • opentelemetry-instrumentation-dbapi - 0.65b0
  • opentelemetry-instrumentation-django - 0.65b0
  • opentelemetry-instrumentation-falcon - 0.65b0
  • opentelemetry-instrumentation-fastapi - 0.65b0
  • opentelemetry-instrumentation-flask - 0.65b0
  • opentelemetry-instrumentation-grpc - 0.65b0
  • opentelemetry-instrumentation-httpx - 0.65b0
  • opentelemetry-instrumentation-jinja2 - 0.65b0
  • opentelemetry-instrumentation-kafka-python - 0.65b0
  • opentelemetry-instrumentation-logging - 0.65b0
  • opentelemetry-instrumentation-mysql - 0.65b0
  • opentelemetry-instrumentation-mysqlclient - 0.65b0
  • opentelemetry-instrumentation-pika - 0.65b0
  • opentelemetry-instrumentation-psycopg2 - 0.65b0
  • opentelemetry-instrumentation-pymemcache - 0.65b0
  • opentelemetry-instrumentation-pymongo - 0.65b0
  • opentelemetry-instrumentation-pymysql - 0.65b0
  • opentelemetry-instrumentation-pyramid - 0.65b0
  • opentelemetry-instrumentation-redis - 0.65b0
  • opentelemetry-instrumentation-remoulade - 0.65b0
  • opentelemetry-instrumentation-requests - 0.65b0
  • opentelemetry-instrumentation-sqlalchemy - 0.65b0
  • opentelemetry-instrumentation-sqlite3 - 0.65b0
  • opentelemetry-instrumentation-starlette - 0.65b0
  • opentelemetry-instrumentation-system-metrics - 0.65b0
  • opentelemetry-instrumentation-threading - 0.65b0
  • opentelemetry-instrumentation-tornado - 0.65b0
  • opentelemetry-instrumentation-tortoiseorm - 0.65b0
  • opentelemetry-instrumentation-urllib - 0.65b0
  • opentelemetry-instrumentation-urllib3 - 0.65b0
  • opentelemetry-instrumentation-wsgi - 0.65b0
  • opentelemetry-instrumentation-cassandra - 0.65b0
  • cachetools - 6.2.4
  • urllib3 >= 2.7.0; python_version >= '3.10'
  • protobuf - 6.33.5
  • pyyaml - 6.0.3
  • python-dateutil >= 2.7.0
  • bytecode; python_version >= '3.10' and python_version < '3.12'

Release Artifacts

This release publishes to public ECR and PyPi.

Lambda Layer

This release includes the AWS OpenTelemetry Lambda Layer for Python version 0.20.0-64ea3b8.

Lambda Layer ARNs:

Region Layer ARN
af-south-1 arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroPython:25
ap-east-1 arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroPython:25
ap-east-2 arn:aws:lambda:ap-east-2:412664885777:layer:AWSOpenTelemetryDistroPython:6
ap-northeast-1 arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
ap-northeast-2 arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:28
ap-northeast-3 arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroPython:28
ap-south-1 arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
ap-south-2 arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroPython:25
ap-southeast-1 arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:27
ap-southeast-2 arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:28
ap-southeast-3 arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroPython:25
ap-southeast-4 arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroPython:25
ap-southeast-5 arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroPython:16
ap-southeast-6 arn:aws:lambda:ap-southeast-6:313828097273:layer:AWSOpenTelemetryDistroPython:5
ap-southeast-7 arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroPython:16
ca-central-1 arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
ca-west-1 arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroPython:16
cn-north-1 arn:aws-cn:lambda:cn-north-1:440179912924:layer:AWSOpenTelemetryDistroPython:16
cn-northwest-1 arn:aws-cn:lambda:cn-northwest-1:440180067931:layer:AWSOpenTelemetryDistroPython:16
eu-central-1 arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
eu-central-2 arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroPython:25
eu-north-1 arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
eu-south-1 arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroPython:25
eu-south-2 arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroPython:25
eu-west-1 arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
eu-west-2 arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:28
eu-west-3 arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroPython:28
il-central-1 arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroPython:25
me-central-1 arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroPython:24
mx-central-1 arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroPython:16
sa-east-1 arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:28
us-east-1 arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:31
us-east-2 arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroPython:28
us-west-1 arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:35
us-west-2 arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:35

Don't miss a new aws-otel-python-instrumentation release

NewReleases is sending notifications on new releases.