Files
opentelemetry-python-contrib/CHANGELOG.md
Tobias Macey 7d42bd1130 Add support for wrapt 2.x (#4203)
* Add support for wrapt 2.x

- Update wrapt version constraint from '>=1.0.0, <2.0.0' to '>=1.0.0' in all affected packages
- Replace ObjectProxy with BaseObjectProxy where iteration support is not needed
- Add fallback import for wrapt 1.x compatibility (ObjectProxy as BaseObjectProxy)
- Keep ObjectProxy usage in classes that implement __iter__ (botocore, aiopg)
- Update CHANGELOG.md

This change maintains backward compatibility with wrapt 1.x while enabling
support for wrapt 2.x. BaseObjectProxy is the new base class in wrapt 2.x,
while ObjectProxy is now a subclass that adds __iter__() support.

Fixes #3903
Related to #3930 and #4082

* Restructure wrapt test requirements

- Remove wrapt from base test-requirements.txt (installed via pyproject.toml)
- Remove Deprecated from base test-requirements.txt (version conflicts with wrapt 2.x)
- Create test-requirements-wrapt1.txt with wrapt<2.0.0 and Deprecated==1.2.14
- Create test-requirements-wrapt2.txt with wrapt>=2.0.0 and Deprecated>=1.2.18
- Update tox.ini to use requirements files instead of factor-based deps
- Add Deprecated to lint environment deps

This follows the pattern used by other packages (botocore, httpx) and
resolves dependency conflicts where Deprecated 1.2.14 requires wrapt<2.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: Resolve conflicts and add Wrapt 3 as upper bound

* Add wrapt 1.x/2.x test matrix for all ObjectProxy-using instrumentations

Extend the wrapt1/wrapt2 test matrix to all instrumentations that use
wrapt.ObjectProxy or wrapt.BaseObjectProxy: botocore, dbapi, grpc, pika,
aiopg, httpx, and asyncpg.

Changes:
- tox.ini: Add {wrapt1,wrapt2} factor to envlist for all 7 packages;
  update deps to reference per-version test-requirements files
- botocore/pyproject.toml: Add missing wrapt dependency (>= 1.0.0, < 3.0.0)
- All base test-requirements files: Remove pinned wrapt== and Deprecated==
- New test-requirements-wrapt1.txt / test-requirements-wrapt2.txt files for
  each package (using Deprecated>=1.2.18 for wrapt2 to avoid conflict with
  Deprecated==1.2.14 which requires wrapt<2)
- Regenerate GitHub Actions workflows (including new test_3.yml due to
  expanded job count)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI failures: ruff formatting and lint wrapt version pin

- utils.py: reformat multi-condition if statement to satisfy ruff line
  length requirement (fixes generate/precommit CI jobs)
- tox.ini: pin wrapt>=1.0.0,<2.0.0 for lint envs of botocore, dbapi,
  grpc, and sio-pika; with wrapt 1.x removed from base test-requirements,
  lint envs were getting wrapt 2.x which caused pylint no-member errors
  on __wrapped__ (a C-extension attribute not visible to static analysis)
  Also add Deprecated==1.2.14 to same lint envs for consistency

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix remaining CI failures: unused imports and uv.lock

- dbapi/__init__.py: remove unused bare 'import wrapt' (F401); the
  compat shim imports BaseObjectProxy directly from wrapt
- grpc/_aio_server.py: remove unused 'import wrapt' (F401) and fix
  import ordering (I001) flagged by ruff pre-commit hook
- uv.lock: regenerate after adding wrapt dependency to botocore
  pyproject.toml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix aiopg lint wrapt pin, uv.lock format, and ruff blank lines

- tox.ini: pin wrapt>=1.0.0,<2.0.0 + Deprecated==1.2.14 for
  lint-instrumentation-aiopg; aiopg source uses __wrapped__ heavily and
  pylint's no-member error appeared when wrapt 2.x was installed
- uv.lock: regenerate using pre-commit hook (uv v0.9.30) to fix
  trailing-slash format on registry URLs
- httpx/test_httpx_integration.py: add blank line before try/except
  block (ruff I001/E303 formatting fix)
- pika/utils.py: add blank line before try/except block (same ruff fix)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix pylint E0611: disable no-name-in-module for BaseObjectProxy compat shim

pylint with wrapt 1.x installed reports E0611 ('No name BaseObjectProxy
in module wrapt') when it sees the try/except ImportError compat shim,
even though the except branch provides a fallback. Add a per-line
pylint disable comment to suppress this false positive.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix asyncpg test: use BaseObjectProxy compat shim for wrapt 2.x

In wrapt 2.x, BoundFunctionWrapper no longer subclasses ObjectProxy
(it subclasses BaseObjectProxy instead). Update the test to use
the compat shim so isinstance checks pass with both wrapt 1.x and 2.x.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review comments: add wrapt 2.0.0+ comments and fix CHANGELOG

- Add '# wrapt 2.0.0+' comment above BaseObjectProxy import in all
  try/except compat shim blocks to clarify why the pattern is used
- Fix CHANGELOG.md PR link from #XXXX to #4203

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* chore: Update changelog and workflows

* Apply suggestions from code review

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* fix: Update workflows again

* Apply suggestions from code review

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* Remove Deprecated version pins from test-requirements and tox.ini

Deprecated>=1.2.14 was pinned because Deprecated==1.2.14 requires
wrapt<2. Since pip automatically resolves compatible versions based
on the wrapt constraint in each test env, explicit Deprecated pins
are unnecessary. Remove them from all test-requirements-wrapt*.txt
files and from lint env deps in tox.ini.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove stale .orig file leftover from rebase

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Move lint env wrapt pins from tox.ini into test-requirements files

All dependencies should be managed via requirements.txt files rather
than inline in tox.ini. Move wrapt>=1.0.0,<2.0.0 pins for lint
environments into their respective test-requirements files:
- instrumentation-grpc/test-requirements-1.txt
- instrumentation-botocore/test-requirements-1.txt
- instrumentation-dbapi/test-requirements.txt
- instrumentation-aiopg/test-requirements.txt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestions from code review

* Update instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt

* Update instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt

* Update instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt

* Update instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt

* Address latest PR feedback: botocore compat shim, exact wrapt versions, lint env refs

- botocore/bedrock_utils.py: apply BaseObjectProxy compat shim to
  ConverseStreamWrapper and InvokeModelWithResponseStreamWrapper (both
  classes define __iter__ so BaseObjectProxy is correct)
- All test-requirements-wrapt1.txt: pin wrapt==1.17.3 (exact version)
- All test-requirements-wrapt2.txt: pin wrapt==2.1.2 (exact version)
- tox.ini lint envs: switch to -wrapt2.txt files so lint runs with
  wrapt 2.x; remove wrapt pin from base test-requirements files
  (grpc/test-requirements-1.txt, botocore/test-requirements-1.txt,
  dbapi/test-requirements.txt, aiopg/test-requirements.txt)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: add pylint disable=no-member for __wrapped__ and abstract-method usages

Add pylint: disable=no-member to all class definitions and usages of
__wrapped__ that are invisible to pylint when using wrapt's C extension
proxy types (BaseObjectProxy/ObjectProxy).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2026-03-11 22:10:21 +01:00

159 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Note

The following components are released independently and maintain individual CHANGELOG files. Use this search for a list of all CHANGELOG.md files in this repo.

Unreleased

Added

  • opentelemetry-instrumentation-confluent-kafka: Loosen confluent-kafka upper bound to <3.0.0 (#4289)
  • opentelemetry-instrumentation: Add support for wrapt 2.x (#4203)

Fixed

  • Fix intermittent Core Contrib Test CI failures caused by GitHub git CDN SHA propagation lag by installing core packages from the already-checked-out local copy instead of a second git clone (#4305)

Version 1.40.0/0.61b0 (2026-03-04)

Added

  • Add Python 3.14 support (#4193)
  • opentelemetry-instrumentation-asgi: Add exemplars for http.server.request.duration and http.server.duration metrics (#3739)
  • opentelemetry-instrumentation-wsgi: Add exemplars for http.server.request.duration and http.server.duration metrics (#3739)
  • opentelemetry-instrumentation-aiohttp-client: add ability to capture custom headers (#3988)
  • opentelemetry-instrumentation-requests: add ability to capture custom headers (#3987)
  • opentelemetry-instrumentation-aiohttp-client: add typechecking for aiohttp-client instrumentation (#4006)
  • opentelemetry-instrumentation-flask: Add support for 3.1+ streaming responses (#3938)
  • opentelemetry-instrumentation-aiohttp-server: Support passing TracerProvider when instrumenting. (#3819)
  • opentelemetry-instrumentation-system-metrics: Add support for the OTEL_PYTHON_SYSTEM_METRICS_EXCLUDED_METRICS environment variable (#3959)
  • opentelemetry-instrumentation-httpx: add ability to capture custom headers (#4047)
  • opentelemetry-instrumentation-urllib3: add ability to capture custom headers (#4050)
  • opentelemetry-instrumentation-urllib: add ability to capture custom headers (#4051)
  • opentelemetry-instrumentation-confluent-kafka: Increase confluent-kafka upper bound to support newer versions (2.13.0) (#4099)
  • opentelemetry-instrumentation-aiohttp-server Implement new semantic convention opt-in migration (#3980)
  • opentelemetry-instrumentation-falcon: pass request attributes at span creation (#4119)
  • opentelemetry-instrumentation: add database stability attribute setters in _semconv utilities (#4108)
  • opentelemetry-instrumentation-aiohttp-server: pass request attributes at span creation (#4118)
  • opentelemetry-instrumentation-tornado: Implement new semantic convention opt-in migration (#3993)
  • opentelemetry-instrumentation-tornado: pass request attributes at span creation (#4140)
  • opentelemetry-instrumentation-pyramid Implement new semantic convention opt-in migration (#3982)
  • opentelemetry-instrumentation-tortoiseorm Add unit tests for Tortoise ORM instrumentation (#4141)
  • opentelemetry-instrumentation-pyramid: pass request attributes at span creation (#4139)
  • opentelemetry-instrumentation-logging: Move there the SDK LoggingHandler (#4210)
  • Add stale PR GitHub Action (#4220)

Fixed

  • opentelemetry-instrumentation-flask: Align http.server.active_requests initialization with semantic convention helpers to ensure consistent names, units, and descriptions. (#4094)
  • opentelemetry-instrumentation-asyncio: Fix environment variables not appearing in Read the Docs documentation (#4256)
  • opentelemetry-instrumentation-mysql: Refactor MySQL integration test mocks to use concrete DBAPI connection attributes, reducing noisy attribute type warnings. (#4116)
  • opentelemetry-instrumentation-cassandra: Use _instruments_any instead of _instruments for driver dependencies so that having either cassandra-driver or scylla-driver installed is sufficient (#4182)
  • opentelemetry-instrumentation-asyncpg: Hydrate span attributes before creation so samplers can filter on database details (#3841)
  • opentelemetry-instrumentation-django: Fix exemplars generation for http.server.(request.)duration (#3945)
  • opentelemetry-util-http, opentelemetry-instrumentation-requests, opentelemetry-instrumentation-wsgi, opentelemetry-instrumentation-asgi: normalize byte-valued user-agent headers before detecting synthetic sources so attributes are recorded reliably. (#4001)
  • opentelemetry-instrumentation-psycopg: Fix instrument_connection method to use _new_cursor_async_factory on async connections. (#3956)
  • opentelemetry-instrumentation-dbapi: Replace SpanAttributes with semconv constants where applicable (#4058)
  • opentelemetry-instrumentation-django: Replace SpanAttributes with semconv constants where applicable (#4059)
  • opentelemetry-instrumentation-botocore: Replace SpanAttributes with semconv constants where applicable (#4063)
  • opentelemetry-instrumentation-celery: Replace SpanAttributes with semconv constants where applicable (#4056)
  • opentelemetry-instrumentation-confluent-kafka: Replace SpanAttributes with semconv constants where applicable (#4057)
  • opentelemetry-instrumentation-cassandra: Replace SpanAttributes with semconv constants for DB attributes (#4055)
  • opentelemetry-instrumentation-falcon: Replace SpanAttributes with semconv constants (#4066)
  • opentelemetry-instrumentation-pika: Replace SpanAttributes with semconv constants for net attributes (#4068)
  • opentelemetry-instrumentation-mysqlclient: Replace SpanAttributes with semconv constants (#4067)
  • opentelemetry-instrumentation-pymemcache: Remove span attributes pymemcache (#4076)
  • opentelemetry-instrumentation-pymongo: Replace SpanAttributes with semconv constants (#4077)
  • opentelemetry-instrumentation-pymysql: Replace SpanAttributes with semconv constants (#4078)
  • opentelemetry-instrumentation-pyramid: Replace SpanAttributes with semconv constants (#4079)
  • opentelemetry-instrumentation-tortoiseorm: Replace SpanAttributes with semconv constants (#4080)
  • opentelemetry-instrumentation-asgi: Replace SpanAttributes with semconv constants (#4081)
  • opentelemetry-instrumentation-system-metrics: Use proper numeric cpython.gc.generation attribute in CPython metrics, out of spec generation attribute is deprecated and will be removed in the future (#4092)
  • opentelemetry-instrumentation-dbapi: Fix sqlcomment calculation of mysql_client_version field if connection reassignment, with "unknown" fallback (#3729)
  • opentelemetry-instrumentation-confluent-kafka: Fix incorrect number of argument to _inner_wrap_close (#3922)
  • opentelemetry-instrumentation-urllib3: fix multiple arguments error (#4144)
  • opentelemetry-instrumentation-psycopg: Fix instrument of typed psycopg sql (#4078)
  • opentelemetry-instrumentation-aiohttp-server: fix HTTP error inconsistencies (#4175)
  • opentelemetry-instrumentation-falcon: Refactor _handle_exception to remove pylint disables (#4207)
  • opentelemetry-docker-tests Fix docker-tests assumption by Postgres-Sqlalchemy case about scope of metrics (#4258)
  • opentelemetry-instrumentation-threading: fix AttributeError when Thread is run without starting (#4246)
  • opentelemetry-instrumentation-psycopg2: Fix AttributeError by using instrumented connections weakref, instead of mutating connection object (#4257)

Breaking changes

  • opentelemetry-instrumentation-logging: Inject span context attributes into logging LogRecord only if configured to do so (#4112)
  • opentelemetry-instrumentation-django: Drop support for Django < 2.0 (#4083)
  • opentelemetry-instrumentation-aws-lambda: Fix improper invocation Span name and kind.

Version 1.39.0/0.60b0 (2025-12-03)

Added

  • opentelemetry-instrumentation-requests, opentelemetry-instrumentation-wsgi, opentelemetry-instrumentation-asgi Detect synthetic sources on requests, ASGI, and WSGI. (#3674)
  • opentelemetry-instrumentation-aiohttp-client: add support for url exclusions via OTEL_PYTHON_EXCLUDED_URLS / OTEL_PYTHON_AIOHTTP_CLIENT_EXCLUDED_URLS (#3850)
  • opentelemetry-instrumentation-httpx: add support for url exclusions via OTEL_PYTHON_EXCLUDED_URLS / OTEL_PYTHON_HTTPX_EXCLUDED_URLS (#3837)
  • opentelemetry-instrumentation-flask: improve readthedocs for sqlcommenter configuration. (#3883)
  • opentelemetry-instrumentation-sqlalchemy: improve readthedocs for sqlcommenter configuration. (#3886)
  • opentelemetry-instrumentation-mysql, opentelemetry-instrumentation-mysqlclient, opentelemetry-instrumentation-pymysql: improve readthedocs for sqlcommenter configuration. (#3885)
  • opentelemetry-instrumentation-django: improve readthedocs for sqlcommenter configuration. (#3884)
  • opentelemetry-instrumentation-aiohttp-server: add support for custom header captures via OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST and OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE (#3916)
  • opentelemetry-instrumentation-redis: add support for suppress_instrumentation context manager for both sync and async Redis clients and pipelines
  • opentelemetry-instrumentation-django: improve docs for response_hook with examples of providing attributes from middlewares (#3923)
  • Update for Log SDK breaking changes. Rename InMemoryLogExporter to InMemoryLogRecordExporter in several tests (#3589)
  • opentelemetry-instrumentation: allow to skip all instrumentations loading with a wildcard (#3967)
  • opentelemetry-instrumentation-redis: add missing copyright header for opentelemetry-instrumentation-redis (#3976)

Fixed

  • opentelemetry-instrumentation-botocore: bedrock: Add safety check for bedrock ConverseStream responses (#3990)
  • opentelemetry-instrumentation-botocore: bedrock: only decode JSON input buffer in Anthropic Claude streaming (#3875)
  • opentelemetry-instrumentation-aiohttp-client, opentelemetry-instrumentation-aiohttp-server: Fix readme links and text (#3902)
  • opentelemetry-instrumentation-aws-lambda: Fix ImportError with slash-delimited handler paths (#3894)
  • opentelemetry-exporter-richconsole: Prevent deadlock when parent span is not part of the batch (#3900)
  • opentelemetry-instrumentation-psycopg2, opentelemetry-instrumentation-psycopg: improve readthedocs for sqlcommenter configuration. (#3882)
  • opentelemetry-instrumentation-aiohttp-server: delay initialization of tracer, meter and excluded urls to instrumentation for testability (#3836)
  • Replace Python 3.14-deprecated asyncio.iscoroutinefunction with inspect.iscoroutinefunction. (#3880)
  • opentelemetry-instrumentation-elasticsearch: Enhance elasticsearch query body sanitization (#3919)
  • opentelemetry-instrumentation-pymongo: Fix span error descriptions (#3904)
  • build: bump ruff to 0.14.1 (#3842)
  • opentelemetry-instrumentation-redis: Add default span name for pipeline operations (#3941)
  • opentelemetry-instrumentation-pymongo: Fix invalid mongodb collection attribute type (#3942)
  • opentelemetry-instrumentation-aiohttp-client: Fix metric attribute leakage (#3936)
  • opentelemetry-instrumentation-aiohttp-client: Update instrumentor to respect suppressing http instrumentation (#3957)

Version 1.38.0/0.59b0 (2025-10-16)

Fixed

  • opentelemetry-instrumentation-flask: Do not record http.server.duration metrics for excluded URLs. (#3794)
  • opentelemetry-instrumentation-botocore: migrate off the deprecated events API to use the logs API (#3624)
  • opentelemetry-instrumentation-dbapi: fix crash retrieving libpq version when enabling commenter with psycopg (#3796)
  • opentelemetry-instrumentation-fastapi: Fix handling of APIRoute subclasses (#3681)
  • opentelemetry-instrumentation-flask: Fix exemplars generation for http.server.request.duration and http.server.duration metrics (#3912)

Added

  • opentelemetry-instrumentation-botocore: Add support for AWS Secrets Manager semantic convention attribute (#3765)
  • opentelemetry-instrumentation-dbapi: Add support for commenter_options in trace_integration function to control SQLCommenter behavior (#3743)
  • Add rstcheck to pre-commit to stop introducing invalid RST (#3777)
  • opentelemetry-exporter-credential-provider-gcp: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to telemetry.googleapis.com. #3766.
  • opentelemetry-instrumentation-psycopg: Add missing parameter capture_parameters to instrumentor. (#3676)
  • opentelemetry-instrumentation-dbapi: Adds sqlcommenter to documentation. (#3720)

Version 1.37.0/0.58b0 (2025-09-11)

Fixed

  • opentelemetry-instrumentation-fastapi: Fix middleware ordering to cover all exception handling use cases. (#3664)
  • opentelemetry-instrumentation-asgi: Make all user hooks failsafe and record exceptions in hooks. (#3664)
  • opentelemetry-instrumentation-fastapi: Fix memory leak in uninstrument_app() by properly removing apps from the tracking set (#3688)
  • opentelemetry-instrumentation-tornado Fix server (request) duration metric calculation (#3679)
  • opentelemetry-instrumentation-tornado: Fix to properly skip all server telemetry when URL excluded. (#3680)
  • opentelemetry-instrumentation: Avoid calls to context.detach with None token. (#3673)
  • opentelemetry-instrumentation-starlette/opentelemetry-instrumentation-fastapi: Fixes a crash when host-based routing is used (#3507)
  • Fix documentation order of sections and headers for Django, Flask, MySQL, mysqlclient, psycopg, psycopg2, pymysql, sqlalchemy instrumentations. (#3719)
  • opentelemetry-instrumentation-asgi Fixed an issue where FastAPI reports IP instead of URL. (#3670)
  • opentelemetry-instrumentation-httpx: fix missing metric response attributes when tracing is disabled (#3615)
  • opentelemetry-instrumentation-fastapi: Don't pass bounded server_request_hook when using FastAPIInstrumentor.instrument() (#3701)

Added

  • opentelemetry-instrumentation-confluent-kafka Add support for confluent-kafka <=2.11.0 (#3685)
  • opentelemetry-instrumentation-system-metrics: Add cpython.gc.collected_objects and cpython.gc.uncollectable_objects metrics (#3666)
  • opentelemetry-sdk-extension-aws Add AWS X-Ray Remote Sampler with initial Rules Poller implementation (#3366)
  • opentelemetry-instrumentation: add support for OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH to inform opentelemetry-instrument about gevent monkeypatching (#3699)
  • opentelemetry-instrumentation: botocore: Add support for AWS Step Functions semantic convention attributes (#3737)
  • opentelemetry-instrumentation-botocore: Add support for SNS semantic convention attribute aws.sns.topic.arn (#3734)
  • opentelemetry-instrumentation: botocore: upgrade moto package from 5.0.9 to 5.1.11 (#3736)

Version 1.36.0/0.57b0 (2025-07-29)

Fixed

  • opentelemetry-instrumentation: Fix dependency conflict detection when instrumented packages are not installed by moving check back to before instrumentors are loaded. Add "instruments-any" feature for instrumentations that target multiple packages. (#3610)
  • infra(ci): Fix git pull failures in core contrib test (#3357)

Added

  • opentelemetry-instrumentation-psycopg2 Utilize instruments-any functionality. (#3610)
  • opentelemetry-instrumentation-kafka-python Utilize instruments-any functionality. (#3610)
  • opentelemetry-instrumentation-system-metrics: Add cpython.gc.collections metrics with collection unit is specified in semconv (3617)

Version 1.35.0/0.56b0 (2025-07-11)

Added

  • opentelemetry-instrumentation-pika Added instrumentation for All SelectConnection adapters (#3584)
  • opentelemetry-instrumentation-tornado Add support for WebSocketHandler instrumentation (#3498)
  • opentelemetry-util-http Added support for redacting specific url query string values and url credentials in instrumentations (#3508)
  • opentelemetry-instrumentation-pymongo aggregate and getMore capture statements support (#3601)

Fixed

  • opentelemetry-instrumentation-asgi: fix excluded_urls in instrumentation-asgi (#3567)
  • opentelemetry-resource-detector-containerid: make it more quiet on platforms without cgroups (#3579)

Version 1.34.0/0.55b0 (2025-06-04)

Fixed

  • opentelemetry-instrumentation-system-metrics: fix loading on Google Cloud Run (#3533)
  • opentelemetry-instrumentation-fastapi: fix wrapping of middlewares (#3012)
  • opentelemetry-instrumentation-starlette Remove max version constraint on starlette (#3456)
  • opentelemetry-instrumentation-starlette Fix memory leak and double middleware (#3529)
  • opentelemetry-instrumentation-urllib3: proper bucket boundaries in stable semconv http duration metrics (#3518)
  • opentelemetry-instrumentation-urllib: proper bucket boundaries in stable semconv http duration metrics (#3519)
  • opentelemetry-instrumentation-falcon: proper bucket boundaries in stable semconv http duration (#3525)
  • opentelemetry-instrumentation-wsgi: add explicit http duration buckets for stable semconv (#3527)
  • opentelemetry-instrumentation-asgi: add explicit http duration buckets for stable semconv (#3526)
  • opentelemetry-instrumentation-flask: proper bucket boundaries in stable semconv http duration (#3523)
  • opentelemetry-instrumentation-django: proper bucket boundaries in stable semconv http duration (#3524)
  • opentelemetry-instrumentation-grpc: support non-list interceptors (#3520)
  • opentelemetry-instrumentation-botocore Ensure spans end on early stream closure for Bedrock Streaming APIs (#3481)
  • opentelemetry-instrumentation-sqlalchemy Respect suppress_instrumentation functionality (#3477)
  • opentelemetry-instrumentation-botocore: fix handling of tool input in Bedrock ConverseStream (#3544)
  • opentelemetry-instrumentation-botocore Add type check when extracting tool use from Bedrock request message content (#3548)
  • opentelemetry-instrumentation-dbapi Respect suppress_instrumentation functionality (#3460)
  • opentelemetry-resource-detector-container Correctly parse container id when using systemd and cgroupsv1 (#3429)

Breaking changes

  • opentelemetry-instrumentation-botocore Use cloud.region instead of aws.region span attribute as per semantic conventions. (#3474)
  • opentelemetry-instrumentation-fastapi: Drop support for FastAPI versions earlier than 0.92 (#3012)
  • opentelemetry-resource-detector-container: rename package name to opentelemetry-resource-detector-containerid (#3536)

Added

  • opentelemetry-instrumentation-aiohttp-client Add support for HTTP metrics (#3517)
  • opentelemetry-instrumentation-httpx Add support for HTTP metrics (#3513)
  • opentelemetry-instrumentation Allow re-raising exception when instrumentation fails (#3545)
  • opentelemetry-instrumentation-aiokafka Add instrumentation of consumer.getmany (batch) (#3257)

Deprecated

  • Drop support for Python 3.8, bump baseline to Python 3.9. (#3399)

Version 1.33.0/0.54b0 (2025-05-09)

Added

  • opentelemetry-instrumentation-requests Support explicit_bucket_boundaries_advisory in duration metrics (#3464)
  • opentelemetry-instrumentation-redis Add support for redis client-specific instrumentation. (#3143)

Fixed

  • opentelemetry-instrumentation Catch ModuleNotFoundError when the library is not installed and log as debug instead of exception (#3423)
  • opentelemetry-instrumentation-asyncio Fix duplicate instrumentation (#3383)
  • opentelemetry-instrumentation-botocore Add GenAI instrumentation for additional Bedrock models for InvokeModel API (#3419)
  • opentelemetry-instrumentation don't print duplicated conflict log error message (#3432)
  • opentelemetry-instrumentation-grpc Check for None result in gRPC (#3380)
  • opentelemetry-instrumentation-[asynclick/click] Add missing opentelemetry-instrumentation dep (#3447)
  • opentelemetry-instrumentation-botocore Capture server attributes for botocore API calls (#3448)

Version 1.32.0/0.53b0 (2025-04-10)

Added

  • opentelemetry-instrumentation-asyncclick: new instrumentation to trace asyncclick commands (#3319)
  • opentelemetry-instrumentation-botocore Add support for GenAI tool events using Amazon Nova models and InvokeModel* APIs (#3385)
  • opentelemetry-instrumentation Make auto instrumentation use the same dependency resolver as manual instrumentation does (#3202)

Fixed

  • opentelemetry-instrumentation Fix client address is set to server address in new semconv (#3354)
  • opentelemetry-instrumentation-dbapi, opentelemetry-instrumentation-django, opentelemetry-instrumentation-sqlalchemy: Fix sqlcomment for non string query and composable object. (#3113)
  • opentelemetry-instrumentation-grpc Fix error when using gprc versions <= 1.50.0 with unix sockets. ([#3393])
  • opentelemetry-instrumentation-asyncio Fix duplicate instrumentation. ([#3383])
  • opentelemetry-instrumentation-aiokafka Fix send_and_wait method no headers kwargs error. ([#3332])

Version 1.31.0/0.52b0 (2025-03-12)

Added

  • opentelemetry-instrumentation-openai-v2 Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms (#3279)
  • opentelemetry-instrumentation-system-metrics Add process metrics and deprecated process.runtime prefixed ones (#3250)
  • opentelemetry-instrumentation-botocore Add support for GenAI user events and lazy initialize tracer (#3258)
  • opentelemetry-instrumentation-botocore Add support for GenAI system events (#3266)
  • opentelemetry-instrumentation-botocore Add support for GenAI choice events (#3275)
  • opentelemetry-instrumentation-botocore Add support for GenAI tool events (#3302)
  • opentelemetry-instrumentation-botocore Add support for GenAI metrics (#3326)
  • opentelemetry-instrumentation make it simpler to initialize auto-instrumentation programmatically (#3273)
  • Add opentelemetry-instrumentation-vertexai>=2.0b0 to opentelemetry-bootstrap (#3307)
  • Loosen opentelemetry-instrumentation-starlette[instruments] specifier (#3304)

Fixed

  • opentelemetry-instrumentation-redis Add missing entry in doc string for def _instrument (#3247)
  • opentelemetry-instrumentation-botocore sns-extension: Change destination name attribute to match topic ARN and redact phone number from attributes (#3249)
  • opentelemetry-instrumentation-asyncpg Fix fallback for empty queries. (#3253)
  • opentelemetry-instrumentation Fix a traceback in sqlcommenter when psycopg connection pooling is enabled. (#3309)
  • opentelemetry-instrumentation-threading Fix broken context typehints (#3322)
  • opentelemetry-instrumentation-requests always record span status code in duration metric (#3323)

Version 1.30.0/0.51b0 (2025-02-03)

Added

  • opentelemetry-instrumentation-confluent-kafka Add support for confluent-kafka <=2.7.0 (#3100)
  • Add support to database stability opt-in in _semconv utilities and add tests (#3111)
  • opentelemetry-instrumentation-urllib Add py.typed file to enable PEP 561 (#3131)
  • opentelemetry-opentelemetry-pymongo Add py.typed file to enable PEP 561 (#3136)
  • opentelemetry-opentelemetry-requests Add py.typed file to enable PEP 561 (#3135)
  • opentelemetry-instrumentation-system-metrics Add py.typed file to enable PEP 561 (#3132)
  • opentelemetry-opentelemetry-sqlite3 Add py.typed file to enable PEP 561 (#3133)
  • opentelemetry-instrumentation-falcon add support version to v4 (#3086)
  • opentelemetry-instrumentation-falcon Implement new HTTP semantic convention opt-in for Falcon (#2790)
  • opentelemetry-instrumentation-wsgi always record span status code to have it available in metrics (#3148)
  • add support to Python 3.13 (#3134)
  • opentelemetry-opentelemetry-wsgi Add py.typed file to enable PEP 561 (#3129)
  • opentelemetry-util-http Add py.typed file to enable PEP 561 (#3127)
  • opentelemetry-instrumentation-psycopg2 Add support for psycopg2-binary (#3186)
  • opentelemetry-opentelemetry-botocore Add basic support for GenAI attributes for AWS Bedrock Converse API (#3161)
  • opentelemetry-opentelemetry-botocore Add basic support for GenAI attributes for AWS Bedrock InvokeModel API (#3200)
  • opentelemetry-opentelemetry-botocore Add basic support for GenAI attributes for AWS Bedrock ConverseStream API (#3204)
  • opentelemetry-opentelemetry-botocore Add basic support for GenAI attributes for AWS Bedrock InvokeModelWithStreamResponse API (#3206)
  • opentelemetry-instrumentation-pymssql Add pymssql instrumentation (#394)
  • opentelemetry-instrumentation-mysql Add sqlcommenter support (#3163)

Fixed

  • opentelemetry-instrumentation-httpx Fix RequestInfo/ResponseInfo type hints (#3105)
  • opentelemetry-instrumentation-dbapi Move TracedCursorProxy and TracedConnectionProxy to the module level (#3068)
  • opentelemetry-instrumentation-click Disable tracing of well-known server click commands (#3174)
  • opentelemetry-instrumentation Fix get_dist_dependency_conflicts if no distribution requires (#3168)

Breaking changes

  • opentelemetry-exporter-prometheus-remote-write updated protobuf required version from 4.21 to 5.26 and regenerated protobufs (#3219)
  • opentelemetry-instrumentation-sqlalchemy including sqlcomment in db.statement span attribute value is now opt-in (#3112)
  • opentelemetry-instrumentation-dbapi including sqlcomment in db.statement span attribute value is now opt-in (#3115)
  • opentelemetry-instrumentation-psycopg2, opentelemetry-instrumentation-psycopg, opentelemetry-instrumentation-mysqlclient, opentelemetry-instrumentation-pymysql: including sqlcomment in db.statement span attribute value is now opt-in (#3121)

Version 1.29.0/0.50b0 (2024-12-11)

Added

  • opentelemetry-instrumentation-starlette Add type hints to the instrumentation (#3045)
  • opentelemetry-distro default to OTLP log exporter. (#3042)
  • opentelemetry-instrumentation-sqlalchemy Update unit tests to run with SQLALchemy 2 (#2976)
  • Add opentelemetry-instrumentation-openai-v2 to opentelemetry-bootstrap (#2996)
  • opentelemetry-instrumentation-sqlalchemy Add sqlcomment to db.statement attribute (#2937)
  • opentelemetry-instrumentation-dbapi Add sqlcomment to db.statement attribute (#2935)
  • opentelemetry-instrumentation-dbapi instrument_connection accepts optional connect_module (#3027)
  • opentelemetry-instrumentation-mysqlclient Add sqlcommenter support (#2941)
  • opentelemetry-instrumentation-pymysql Add sqlcommenter support (#2942)
  • opentelemetry-instrumentation-click: new instrumentation to trace click commands (#2994)

Fixed

  • opentelemetry-instrumentation-starlette: Retrieve meter_provider key instead of _meter_provider on _instrument (#3048)
  • opentelemetry-instrumentation-httpx: instrument_client is a static method again (#3003)
  • opentelemetry-instrumentation-system_metrics: fix callbacks reading wrong config (#3025)
  • opentelemetry-instrumentation-httpx: Check if mount transport is none before wrap it (#3022)
  • Replace all instrumentor unit test assertEqualSpanInstrumentationInfo calls with assertEqualSpanInstrumentationScope calls (#3037)
  • opentelemetry-instrumentation-sqlalchemy Fixes engines from sqlalchemy.engine_from_config not being fully instrumented (#2816)
  • opentelemetry-instrumentation-sqlalchemy: Fix a remaining memory leak in EngineTracer (#3053)
  • opentelemetry-instrumentation-sqlite3: Update documentation on explicit cursor support of tracing (#3088)

Breaking changes

  • opentelemetry-instrumentation-sqlalchemy teach instruments version (#2971)
  • Drop opentelemetry-instrumentation-test package from default instrumentation list (#2969)
  • opentelemetry-instrumentation-httpx: remove private unused _InstrumentedClient and _InstrumentedAsyncClient classes (#3036)

Version 1.28.0/0.49b0 (2024-11-05)

Added

  • opentelemetry-instrumentation-openai-v2 Instrumentation for OpenAI >= 0.27.0 (#2759)
  • opentelemetry-instrumentation-fastapi Add autoinstrumentation mechanism tests. (#2860)
  • opentelemetry-instrumentation-aiokafka Add instrumentor and auto instrumentation support for aiokafka (#2082)
  • opentelemetry-instrumentation-redis Add additional attributes for methods create_index and search, rename those spans (#2635)
  • opentelemetry-instrumentation Add support for string based dotted module paths in unwrap (#2919)

Fixed

  • opentelemetry-instrumentation-aiokafka Wrap AIOKafkaConsumer.getone() instead of AIOKafkaConsumer.__anext__ (#2874)
  • opentelemetry-instrumentation-confluent-kafka Fix to allow topic to be extracted from kwargs in produce() ([#2901])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2901)
  • opentelemetry-instrumentation-system-metrics Update metric units to conform to UCUM conventions. (#2922)
  • opentelemetry-instrumentation-celery Don't detach context without a None token (#2927)
  • opentelemetry-exporter-prometheus-remote-write: sort labels before exporting (#2940)
  • opentelemetry-instrumentation-dbapi sqlcommenter key values created from PostgreSQL, MySQL systems (#2897)
  • opentelemetry-instrumentation-system-metrics: don't report open file descriptors on Windows (#2946)

Breaking changes

  • Deprecation of pkg_resource in favor of importlib.metadata (#2871)
  • opentelemetry-instrumentation Don't fail distro loading if instrumentor raises ImportError, instead skip them (#2923)
  • opentelemetry-instrumentation-httpx Rewrote instrumentation to use wrapt instead of subclassing (#2909)

Version 1.27.0/0.48b0 (2024-08-28)

Added

  • opentelemetry-instrumentation-kafka-python Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation (#2537)
  • opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-fastapi Add ability to disable internal HTTP send and receive spans (#2802)
  • opentelemetry-instrumentation-asgi Add fallback decoding for ASGI headers (#2837)

Breaking changes

  • opentelemetry-bootstrap Remove opentelemetry-instrumentation-aws-lambda from the defaults instrumentations (#2786)

Fixed

  • opentelemetry-instrumentation-httpx fix handling of async hooks (#2823)
  • opentelemetry-instrumentation-system-metrics fix process.runtime.cpu.utilization values to be shown in range of 0 to 1 (#2812)
  • opentelemetry-instrumentation-fastapi fix fastapi auto-instrumentation by removing fastapi-slim support, fastapi-slim itself is discontinued from maintainers (#2783)
  • opentelemetry-instrumentation-aws-lambda Avoid exception when a handler is not present. (#2750)
  • opentelemetry-instrumentation-django Fix regression - http.target re-added back to old semconv duration metrics (#2746)
  • opentelemetry-instrumentation-asgi do not set url.full attribute for server spans (#2735)
  • opentelemetry-instrumentation-grpc Fixes the issue with the gRPC instrumentation not working with the 1.63.0 and higher version of gRPC (#2483)
  • opentelemetry-instrumentation-aws-lambda Fixing w3c baggage support (#2589)
  • opentelemetry-instrumentation-celery propagates baggage (#2385)
  • opentelemetry-instrumentation-asyncio Fixes async generator coroutines not being awaited (#2792)
  • opentelemetry-instrumentation-tornado Handle http client exception and record exception info into span (#2563)
  • opentelemetry-instrumentation fix http.host new http semantic convention mapping to depend on kind of span (#2814)
  • opentelemetry-instrumentation Fix the description of http.server.duration and http.server.request.duration (#2753)
  • opentelemetry-instrumentation-grpc Fix grpc supported version (#2845)
  • opentelemetry-instrumentation-asyncio fix AttributeError in AsyncioInstrumentor.trace_to_thread when func is a functools.partial instance (#2911)

Version 1.26.0/0.47b0 (2024-07-23)

Added

  • opentelemetry-instrumentation-flask Add http.route and http.target to metric attributes (#2621)
  • opentelemetry-instrumentation-aws-lambda Enable global propagator for AWS instrumentation (#2708)
  • opentelemetry-instrumentation-sklearn Deprecated the sklearn instrumentation (#2708)
  • opentelemetry-instrumentation-pyramid Record exceptions raised when serving a request (#2622)
  • opentelemetry-sdk-extension-aws Add AwsXrayLambdaPropagator (#2573)
  • opentelemetry-instrumentation-confluent-kafka Add support for version 2.4.0 of confluent_kafka (#2616)
  • opentelemetry-instrumentation-asyncpg Add instrumentation to cursor based queries (#2501)
  • opentelemetry-instrumentation-confluent-kafka Add support for produce purge (#2638)
  • opentelemetry-instrumentation-asgi Implement new semantic convention opt-in with stable http semantic conventions (#2610)
  • opentelemetry-instrumentation-fastapi Implement new semantic convention opt-in with stable http semantic conventions (#2682)
  • opentelemetry-instrumentation-httpx Implement new semantic convention opt-in migration with stable http semantic conventions (#2631)
  • opentelemetry-instrumentation-system-metrics Permit to use psutil 6.0+. (#2630)
  • opentelemetry-instrumentation-system-metrics Add support for capture open file descriptors (#2652)
  • opentelemetry-instrumentation-httpx Add support for instrument client with proxy (#2664)
  • opentelemetry-instrumentation-aiohttp-client Implement new semantic convention opt-in migration (#2673)
  • opentelemetry-instrumentation-django Add http.target to Django duration metric attributes (#2624)
  • opentelemetry-instrumentation-urllib3 Implement new semantic convention opt-in migration (#2715)
  • opentelemetry-instrumentation-django Implement new semantic convention opt-in with stable http semantic conventions (#2714)
  • opentelemetry-instrumentation-urllib Implement new semantic convention opt-in migration (#2736)

Breaking changes

  • opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-fastapi, opentelemetry-instrumentation-starlette Use tracer and meter of originating components instead of one from asgi middleware (#2580)
  • Populate {method} as HTTP on _OTHER methods from scope for asgi middleware (#2610)
  • Populate {method} as HTTP on _OTHER methods from scope for fastapi middleware (#2682)
  • opentelemetry-instrumentation-urllib3 Populate {method} as HTTP on _OTHER methods for span name (#2715)
  • Populate {method} as HTTP on _OTHER methods from scope for fastapi instrumentation (#2682)
  • Populate {method} as HTTP on _OTHER methods from scope for django middleware (#2714)
  • Populate {method} as HTTP on _OTHER methods from scope for urllib instrumentation (#2736)
  • opentelemetry-instrumentation-httpx, opentelemetry-instrumentation-aiohttp-client, opentelemetry-instrumentation-requests Populate {method} as HTTP on _OTHER methods (#2726)
  • opentelemetry-instrumentation-fastapi Add dependency support for fastapi-slim (#2702)
  • opentelemetry-instrumentation-urllib3 improve request_hook, replacing headers and body parameters with a single request_info: RequestInfo parameter that now contains the method and url (#2711)

Fixed

  • Handle redis.exceptions.WatchError as a non-error event in redis instrumentation (#2668)
  • opentelemetry-instrumentation-httpx Ensure httpx.get or httpx.request like methods are instrumented (#2538)
  • Add Python 3.12 support (#2572)
  • opentelemetry-instrumentation-aiohttp-server, opentelemetry-instrumentation-httpx Ensure consistently use of suppress_instrumentation utils (#2590)
  • Reference symbols from generated semantic conventions (#2611)
  • opentelemetry-instrumentation-psycopg Bugfix: Handle empty statement. (#2644)
  • opentelemetry-instrumentation-confluent-kafka Confluent Kafka: Ensure consume span is ended when consumer is closed (#2640)
  • opentelemetry-instrumentation-asgi Fix generation of http.target and http.url attributes for ASGI apps using sub apps (#2477)
  • opentelemetry-instrumentation-aws-lambda Bugfix: AWS Lambda event source key incorrect for SNS in instrumentation library. (#2612)
  • opentelemetry-instrumentation-asyncio instrumented asyncio.wait_for properly raises asyncio.TimeoutError as expected (#2637)
  • opentelemetry-instrumentation-django Handle exceptions from request/response hooks (#2153)
  • opentelemetry-instrumentation-asgi Removed NET_HOST_NAME AND NET_HOST_PORT from active requests count attribute (#2610)
  • opentelemetry-instrumentation-asgi Bugfix: Middleware did not set status code attribute on duration metrics for non-recording spans. (#2627)
  • opentelemetry-instrumentation-mysql Add support for mysql-connector-python v9 (#2751)

Version 1.25.0/0.46b0 (2024-05-31)

Breaking changes

  • Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() (#2527)
  • Rename type attribute to asgi.event.type in opentelemetry-instrumentation-asgi (#2300)
  • Rename AwsLambdaInstrumentor span attributes faas.id to cloud.resource_id, faas.execution to faas.invocation_id (#2372)
  • Drop support for instrumenting elasticsearch client < 6 (#2422)
  • opentelemetry-instrumentation-wsgi Add http.method to span.name (#2425)
  • opentelemetry-instrumentation-flask Add http.method to span.name (#2454)
  • Record repeated HTTP headers in lists, rather than a comma separate strings for ASGI based web frameworks (#2361)
  • ASGI, FastAPI, Starlette: provide both send and receive hooks with scope and message for internal spans
  • (#2546)

Added

  • opentelemetry-sdk-extension-aws Register AWS resource detectors under the opentelemetry_resource_detector entry point (#2382)
  • opentelemetry-instrumentation-wsgi Implement new semantic convention opt-in with stable http semantic conventions (#2425)
  • opentelemetry-instrumentation-flask Implement new semantic convention opt-in with stable http semantic conventions (#2454)
  • opentelemetry-instrumentation-threading Initial release for threading (#2253)
  • opentelemetry-instrumentation-pika Instrumentation for channel.consume() (supported only for global, non channel specific instrumentation) (#2397)
  • opentelemetry-processor-baggage Initial release (#2436)
  • opentelemetry-processor-baggage Add baggage key predicate (#2535)

Fixed

  • opentelemetry-instrumentation-dbapi Fix compatibility with Psycopg3 to extract libpq build version (#2500)
  • opentelemetry-instrumentation-grpc AioClientInterceptor should propagate with a Metadata object (#2363)
  • opentelemetry-instrumentation-boto3sqs Instrument Session and resource (#2161)
  • opentelemetry-instrumentation-aws-lambda Fix exception handling for events with requestContext (#2418)
  • Use sqlalchemy version in sqlalchemy commenter instead of opentelemetry library version (#2404)
  • opentelemetry-instrumentation-asyncio Check for cancelledException in the future (#2461)
  • Remove SDK dependency from opentelemetry-instrumentation-grpc (#2474)
  • opentelemetry-instrumentation-elasticsearch Improved support for version 8 (#2420)
  • opentelemetry-instrumentation-elasticsearch Disabling instrumentation with native OTel support enabled (#2524)
  • opentelemetry-instrumentation-asyncio Check for name attribute in the coroutine (#2521)
  • opentelemetry-instrumentation-requests Fix wrong time unit for duration histogram (#2553)
  • opentelemetry-util-http Preserve brackets around literal IPv6 hosts (#2552)
  • opentelemetry-util-redis Fix net peer attribute for unix socket connection (#2493)

Version 1.24.0/0.45b0 (2024-03-28)

Added

  • opentelemetry-instrumentation-psycopg Async Instrumentation for psycopg 3.x (#2146)

Fixed

  • opentelemetry-instrumentation-celery Allow Celery instrumentation to be installed multiple times (#2342)
  • Align gRPC span status codes to OTEL specification (#1756)
  • opentelemetry-instrumentation-flask Add importlib metadata default for deprecation warning flask version (#2297)
  • Ensure all http.server.duration metrics have the same description (#2151)
  • Fix regression in httpx request.url not being of type httpx.URL after 0.44b0 (#2359)
  • Avoid losing repeated HTTP headers (#2266)
  • opentelemetry-instrumentation-elasticsearch Don't send bulk request body as db statement (#2355)
  • AwsLambdaInstrumentor sets cloud.account.id span attribute (#2367)

Added

  • opentelemetry-instrumentation-fastapi Add support for configuring header extraction via runtime constructor parameters (#2241)

Version 1.23.0/0.44b0 (2024-02-23)

  • Drop support for 3.7 (#2151)
  • opentelemetry-resource-detector-azure Added 10s timeout to VM Resource Detector (#2119)
  • opentelemetry-instrumentation-asyncpg Allow AsyncPGInstrumentor to be instantiated multiple times (#1791)
  • opentelemetry-instrumentation-confluent-kafka Add support for higher versions until 2.3.0 of confluent_kafka (#2132)
  • opentelemetry-resource-detector-azure Changed timeout to 4 seconds due to timeout bug (#2136)
  • opentelemetry-resource-detector-azure Suppress instrumentation for urllib call (#2178)
  • AwsLambdaInstrumentor handles and re-raises function exception (#2245)

Added

  • opentelemetry-instrumentation-psycopg Initial release for psycopg 3.x
  • opentelemetry-instrumentation-asgi Add support for configuring ASGI middleware header extraction via runtime constructor parameters (#2026)

Version 1.22.0/0.43b0 (2023-12-14)

Added

  • opentelemetry-instrumentation-asyncio Add support for asyncio (#1919)
  • opentelemetry-instrumentation Added Otel semantic convention opt-in mechanism (#1987)
  • opentelemetry-instrumentation-httpx Fix mixing async and non async hooks (#1920)
  • opentelemetry-instrumentation-requests Implement new semantic convention opt-in with stable http semantic conventions (#2002)
  • opentelemetry-instrument-grpc Fix arity of context.abort for AIO RPCs (#2066)
  • Consolidate instrumentation suppression mechanisms and fix bug in httpx instrumentation (#2061)

Fixed

  • opentelemetry-instrumentation-httpx Remove URL credentials (#2020)
  • opentelemetry-instrumentation-urllib/opentelemetry-instrumentation-urllib3 Fix metric descriptions to match semantic conventions (#1959)
  • opentelemetry-resource-detector-azure Added dependency for Cloud Resource ID attribute (#2072)

Version 1.21.0/0.42b0 (2023-11-01)

Added

  • opentelemetry-instrumentation-aiohttp-server Add instrumentor and auto instrumentation support for aiohttp-server (#1800)
  • opentelemetry-instrumentation-botocore Include SNS topic ARN as a span attribute with name messaging.destination.name to uniquely identify the SNS topic (#1995)
  • opentelemetry-instrumentation-system-metrics Add support for collecting process metrics (#1948)
  • Added schema_url ("https://opentelemetry.io/schemas/1.11.0") to all metrics and traces (#1977)

Fixed

  • opentelemetry-instrumentation-aio-pika and opentelemetry-instrumentation-pika Fix missing trace context propagation when trace not recording. (#1969)
  • Fix version of Flask dependency werkzeug (#1980)
  • opentelemetry-resource-detector-azure Using new Cloud Resource ID attribute. (#1976)
  • Do not collect system.network.connections by default on macOS which was causing exceptions in metrics collection. (#2008)

Version 1.20.0/0.41b0 (2023-09-01)

Fixed

  • opentelemetry-instrumentation-asgi Fix UnboundLocalError local variable 'start' referenced before assignment (#1889)
  • Fixed union typing error not compatible with Python 3.7 introduced in opentelemetry-util-http, fix tests introduced by patch related to sanitize method for wsgi (#1913)
  • opentelemetry-instrumentation-celery Unwrap Celery's ExceptionInfo errors and report the actual exception that was raised. (#1863)

Added

  • opentelemetry-resource-detector-azure Add resource detectors for Azure App Service and VM (#1901)
  • opentelemetry-instrumentation-flask Add support for Flask 3.0.0 (#152)

Version 1.19.0/0.40b0 (2023-07-13)

  • opentelemetry-instrumentation-asgi Add http.server.request.size metric (#1867)

Fixed

  • opentelemetry-instrumentation-django Fix empty span name when using path("", ...) (#1788
  • Fix elastic-search instrumentation sanitization to support bulk queries (#1870)
  • Update falcon instrumentation to follow semantic conventions (#1824)
  • Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options (#1873)
  • Exclude background task execution from root server span in ASGI middleware (#1952)

Added

  • Add instrumentor support for cassandra and scylla (#1902)
  • Add instrumentor support for mysqlclient (#1744)
  • Fix async redis clients not being traced correctly (#1830)
  • Make Flask request span attributes available for start_span. (#1784)
  • Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR. (#1840)
  • Instrument all httpx versions >= 0.18. (#1748)
  • Fix Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda) error when some attributes do not exist (#1780)
  • Add metric instrumentation for celery (#1679)
  • opentelemetry-instrumentation-asgi Add http.server.response.size metric (#1789)
  • opentelemetry-instrumentation-grpc Allow gRPC connections via Unix socket (#1833)
  • Fix elasticsearch Transport.perform_request instrument wrap for elasticsearch >= 8 (#1810)
  • opentelemetry-instrumentation-urllib3 Add support for urllib3 version 2 (#1879)
  • Add optional distro and configurator selection for auto-instrumentation (#1823)
  • opentelemetry-instrumentation-django - Add option to add Opentelemetry middleware at specific position in middleware chain ([#2912]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2912)

Added

  • opentelemetry-instrumentation-kafka-python Add instrumentation to consume method (#1786)

Version 1.18.0/0.39b0 (2023-05-10)

  • Update runtime metrics to follow semantic conventions (#1735)
  • Add request and response hooks for GRPC instrumentation (client only) (#1706)
  • Fix memory leak in SQLAlchemy instrumentation where disposed Engine does not get garbage collected (#1771)
  • opentelemetry-instrumentation-pymemcache Update instrumentation to support pymemcache >4 (#1764)
  • opentelemetry-instrumentation-confluent-kafka Add support for higher versions of confluent_kafka (#1815)

Added

  • Expand sqlalchemy pool.name to follow the semantic conventions (#1778)
  • Add excluded_urls functionality to urllib and urllib3 instrumentations (#1733)
  • Make Django request span attributes available for start_span. (#1730)
  • Make ASGI request span attributes available for start_span. (#1762)
  • opentelemetry-instrumentation-celery Add support for anonymous tasks. (#1407)
  • opentelemetry-instrumentation-logging Add otelTraceSampled to instrumetation-logging (#1773)

Changed

  • opentelemetry-instrumentation-botocore now uses the AWS X-Ray propagator by default (#1741)

Fixed

  • Fix redis db.statements to be sanitized by default (#1778)
  • Fix elasticsearch db.statement attribute to be sanitized by default (#1758)
  • Fix AttributeError when AWS Lambda handler receives a list event (#1738)
  • Fix None does not implement middleware error when there are no middlewares registered (#1766)
  • Fix Flask instrumentation to only close the span if it was created by the same request context. (#1692)

Changed

  • Update HTTP server/client instrumentation span names to comply with spec (#1759)

Version 1.17.0/0.38b0 (2023-03-22)

Added

  • Add connection attributes to sqlalchemy connect span (#1608)
  • Add support for enabling Redis sanitization from environment variable (#1690)
  • Add metrics instrumentation for sqlalchemy (#1645)

Fixed

  • Fix Flask instrumentation to only close the span if it was created by the same thread. (#1654)
  • Fix confluent-kafka instrumentation by allowing Producer headers to be dict or list (#1655)
  • opentelemetry-instrumentation-system-metrics Fix initialization of the instrumentation class when configuration is provided (#1438)
  • Fix exception in Urllib3 when dealing with filelike body. (#1399)
  • Fix httpx resource warnings (#1695)

Changed

  • opentelemetry-instrumentation-requests Replace name_callback and span_callback with standard response_hook and request_hook callbacks (#670)

Version 1.16.0/0.37b0 (2023-02-17)

Added

  • Support aio_pika 9.x ((#1670
  • opentelemetry-instrumentation-redis Add sanitize_query config option to allow query sanitization. (#1572)
  • opentelemetry-instrumentation-elasticsearch Add optional db.statement query sanitization. (#1598)
  • opentelemetry-instrumentation-celery Record exceptions as events on the span. (#1573)
  • Add metric instrumentation for urllib (#1553)
  • opentelemetry/sdk/extension/aws Implement aws.ecs.* and aws.logs.* resource attributes in the AwsEcsResourceDetector detector when the ECS Metadata v4 is available (#1212)
  • opentelemetry-instrumentation-aio-pika Support aio_pika 8.x (#1481)
  • opentelemetry-instrumentation-aws-lambda Flush MeterProvider at end of function invocation. (#1613)
  • Fix aiohttp bug with unset trace_configs (#1592)
  • opentelemetry-instrumentation-django Allow explicit excluded_urls configuration through instrument() (#1618)

Fixed

  • Fix TortoiseORM instrumentation AttributeError: type object 'Config' has no attribute 'title' (#1575)
  • Fix SQLAlchemy uninstrumentation (#1581)
  • opentelemetry-instrumentation-grpc Fix code()/details() of _OpentelemetryServicerContext. (#1578)
  • Fix aiopg instrumentation to work with aiopg < 2.0.0 (#1473)
  • opentelemetry-instrumentation-aws-lambda Adds an option to configure disable_aws_context_propagation by environment variable: OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION (#1507)
  • Fix pymongo to collect the property DB_MONGODB_COLLECTION (#1555)
  • opentelemetry-instrumentation-asgi Fix keys() in class ASGIGetter to correctly fetch values from carrier headers. (#1435)
  • mongo db - fix db statement capturing (#1512)
  • Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer (#1656)

Version 1.15.0/0.36b0 (2022-12-10)

  • Add uninstrument test for sqlalchemy (#1471)
  • opentelemetry-instrumentation-tortoiseorm Initial release (#685)
  • Add metric instrumentation for tornado (#1252)
  • opentelemetry-instrumentation-aws-lambda Add option to disable aws context propagation (#1466)

Added

  • opentelemetry-resource-detector-container Add support resource detection of container properties. (#1584)
  • opentelemetry-instrumentation-pymysql Add tests for commit() and rollback(). (#1424)
  • opentelemetry-instrumentation-fastapi Add support for regular expression matching and sanitization of HTTP headers. (#1403)
  • opentelemetry-instrumentation-botocore add support for messaging.* in the sqs extension. (#1350)
  • opentelemetry-instrumentation-starlette Add support for regular expression matching and sanitization of HTTP headers. (#1404)
  • opentelemetry-instrumentation-botocore Add support for SNS publish and publish_batch. (#1409)
  • Strip leading comments from SQL queries when generating the span name. (#1434)
  • opentelemetry-instrumentation-confluent-kafka Add support for the latest versions of the library. (#1468)

Fixed

  • Fix bug in Urllib instrumentation - add status code to span attributes only if the status code is not None. (#1430)
  • opentelemetry-instrumentation-aiohttp-client Allow overriding of status in response hook. (#1394)
  • opentelemetry-instrumentation-pymysql Fix dbapi connection instrument wrapper has no _sock member. (#1424)
  • opentelemetry-instrumentation-dbapi Fix the check for the connection already being instrumented in instrument_connection(). (#1424)
  • Remove db.name attribute from Redis instrumentation (#1427)
  • opentelemetry-instrumentation-asgi Fix target extraction for duration metric (#1461)
  • Add grpc.aio instrumentation to package entry points (#1442)
  • Fix a bug in SQLAlchemy instrumentation - support disabling enable_commenter variable (#1440)

Version 1.14.0/0.35b0 (2022-11-03)

Deprecated

  • opentelemetry-distro Deprecate otlp_proto_grpc and otlp_proto_http in favor of using OTEL_EXPORTER_OTLP_TRACES_PROTOCOL as according to specifications (#1250)

Added

  • Capture common HTTP attributes from API Gateway proxy events in opentelemetry-instrumentation-aws-lambda (#1233)
  • Add metric instrumentation for tornado (#1252)
  • opentelemetry-instrumentation-django Fixed bug where auto-instrumentation fails when django is installed and settings are not configured. (#1369)
  • opentelemetry-instrumentation-system-metrics add supports to collect system thread count. (#1339)
  • opentelemetry-exporter-richconsole Fixing RichConsoleExpoter to allow multiple traces, fixing duplicate spans and include resources (#1336)
  • opentelemetry-instrumentation-asgi Add support for regular expression matching and sanitization of HTTP headers. (#1333)
  • opentelemetry-instrumentation-asgi metrics record target attribute (FastAPI only) (#1323)
  • opentelemetry-instrumentation-wsgi Add support for regular expression matching and sanitization of HTTP headers. (#1402)
  • Add support for py3.11 (#1415)
  • opentelemetry-instrumentation-django Add support for regular expression matching and sanitization of HTTP headers. (#1411)
  • opentelemetry-instrumentation-falcon Add support for regular expression matching and sanitization of HTTP headers. (#1412)
  • opentelemetry-instrumentation-flask Add support for regular expression matching and sanitization of HTTP headers. (#1413)
  • opentelemetry-instrumentation-pyramid Add support for regular expression matching and sanitization of HTTP headers. (#1414)
  • opentelemetry-instrumentation-grpc Add support for grpc.aio Clients and Servers (#1245)
  • Add metric exporter for Prometheus Remote Write (#1359)

Fixed

  • Fix bug in Falcon instrumentation (#1377)
  • opentelemetry-instrumentation-asgi Fix keys() in class ASGIGetter so it decodes the keys before returning them. (#1333)
  • opentelemetry-instrumentation-asgi Make ASGIGetter.get() compare all keys in a case insensitive manner. (#1333)
  • Use resp.text instead of resp.body for Falcon 3 to avoid a deprecation warning. (#1412)

Version 1.13.0/0.34b0 (2022-09-26)

  • opentelemetry-instrumentation-asyncpg Fix high cardinality in the span name (#1324)

Added

  • opentelemetry-instrumentation-grpc add supports to filter requests to instrument. (#1241)
  • Flask sqlalchemy psycopg2 integration (#1224)
  • Add metric instrumentation in Falcon (#1230)
  • Add metric instrumentation in fastapi (#1199)
  • Add metric instrumentation in Pyramid (#1242)
  • opentelemetry-util-http Add support for sanitizing HTTP header values. (#1253)
  • Add metric instrumentation in starlette (#1327)

Fixed

  • opentelemetry-instrumentation-kafka-python: wait for metadata (#1260)
  • opentelemetry-instrumentation-boto3sqs Make propagation compatible with other SQS instrumentations, add 'messaging.url' span attribute, and fix missing package dependencies. (#1234)
  • opentelemetry-instrumentation-pymongo Change span names to not contain queries but only database name and command name (#1247)
  • restoring metrics in django framework (#1208)
  • opentelemetry-instrumentation-aiohttp-client Fix producing additional spans with each newly created ClientSession
  • (#1246)
  • Add _is_opentelemetry_instrumented check in _InstrumentedFastAPI class (#1313)
  • Fix uninstrumentation of existing app instances in FastAPI (#1258)
  • Fix uninstrumentation of existing app instances in falcon ([#1341]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1341)

Version 1.12.0/0.33b0 (2022-08-08)

  • Adding multiple db connections support for django-instrumentation's sqlcommenter (#1187)
  • SQLCommenter semicolon bug fix (#1200)
  • Adding sqlalchemy native tags in sqlalchemy commenter (#1206)
  • Add psycopg2 native tags to sqlcommenter (#1203)

Added

  • opentelemetry-instrumentation-redis add support to instrument RedisCluster clients (#1177)
  • opentelemetry-instrumentation-sqlalchemy Added span for the connection phase (#1133)
  • Add metric instrumentation in asgi (#1197)
  • Add metric instrumentation for flask (#1186)
  • Add a test for asgi using NoOpTracerProvider (#1367)

1.12.0rc2-0.32b0 - 2022-07-01

  • Pyramid: Only categorize 500s server exceptions as errors (#1037)

Fixed

  • Fix bug in system metrics by checking their configuration (#1129)
  • Adding escape call to fix auto-instrumentation not producing spans on Windows. (#1100)
  • opentelemetry-instrumentation-grpc narrow protobuf dependency to exclude protobuf >= 4 (#1109)
  • cleanup type hints for textmap Getter and Setter classes
  • Suppressing downstream HTTP instrumentation to avoid extra spans (#1116)
  • fixed typo in system.network.io metric configuration (#1135)

Added

  • opentelemetry-instrumentation-aiohttp-client Add support for optional custom trace_configs argument. (1079)
  • opentelemetry-instrumentation-sqlalchemy add support to instrument multiple engines (#1132)
  • opentelemetry-instrumentation-logging add log hook support (#1117)
  • opentelemetry-instrumentation-remoulade Initial release (#1082)
  • Added opentelemetry-instrumention-confluent-kafka (#1111)
  • Set otlp-proto-grpc as the default metrics exporter for auto-instrumentation (#1127)
  • Add metric instrumentation for WSGI (#1128)
  • Add metric instrumentation for Urllib3 (#1198)
  • opentelemetry-instrumentation-aio-pika added RabbitMQ aio-pika module instrumentation. (#1095)
  • opentelemetry-instrumentation-requests Restoring metrics in requests (#1110)
  • Integrated sqlcommenter plugin into opentelemetry-instrumentation-django (#896)

Version 1.12.0rc1/0.31b0 (2022-05-17)

Fixed

  • opentelemetry-instrumentation-aiohttp-client make span attributes available to sampler (#1072)
  • opentelemetry-instrumentation-aws-lambda Fixed an issue - in some rare cases (API GW proxy integration test) headers are set to None, breaking context propagators. (#1055)
  • Refactoring custom header collection API for consistency (#1064)
  • opentelemetry-instrumentation-sqlalchemy will correctly report otel.library.name (#1086)
  • opentelemetry-sdk-extension-aws change timeout for AWS EC2 and EKS metadata requests from 1000 seconds and 2000 seconds to 1 second

Added

  • opentelemetry-instrument and opentelemetry-bootstrap now include a --version flag (#1065)
  • opentelemetry-instrumentation-redis now instruments asynchronous Redis clients, if the installed redis-py includes async support (>=4.2.0). (#1076)
  • opentelemetry-instrumentation-boto3sqs added AWS's SQS instrumentation. (#1081)

Version 1.11.1/0.30b1 (2022-04-21)

Added

  • opentelemetry-instrumentation-starlette Capture custom request/response headers in span attributes (#1046)

Fixed

  • Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately (#1066)

Version 1.11.0/0.30b0 (2022-04-18)

Fixed

  • opentelemetry-instrumentation-pyramid Fixed which package is the correct caller in _traced_init. (#830)
  • opentelemetry-instrumentation-tornado Fix Tornado errors mapping to 500 (#1048)
  • opentelemetry-instrumentation-urllib make span attributes available to sampler (1014)
  • opentelemetry-instrumentation-flask Fix non-recording span bug (#999)
  • opentelemetry-instrumentation-tornado Fix non-recording span bug (#999)

Added

  • opentelemetry-instrumentation-fastapi Capture custom request/response headers in span attributes (#1032)
  • opentelemetry-instrumentation-django Capture custom request/response headers in span attributes (#1024)
  • opentelemetry-instrumentation-asgi Capture custom request/response headers in span attributes (#1004)
  • opentelemetry-instrumentation-psycopg2 extended the sql commenter support of dbapi into psycopg2 (#940)
  • opentelemetry-instrumentation-falcon Add support for falcon==1.4.1 (#1000)
  • opentelemetry-instrumentation-falcon Falcon: Capture custom request/response headers in span attributes (#1003)
  • opentelemetry-instrumentation-elasticsearch no longer creates unique span names by including search target, replaces them with <target> and puts the value in attribute elasticsearch.target (#1018)
  • opentelemetry-instrumentation-pyramid Handle non-HTTPException exceptions (#1001)
  • opentelemetry-instrumentation-system-metrics restore SystemMetrics instrumentation as SystemMetricsInstrumentor (#1012)
  • opentelemetry-instrumentation-pyramid Pyramid: Capture custom request/response headers in span attributes (#1022)

Version 1.10.0/0.29b0 (2022-03-10)

  • opentelemetry-instrumentation-wsgi Capture custom request/response headers in span attributes (#925)
  • opentelemetry-instrumentation-flask Flask: Capture custom request/response headers in span attributes (#952)
  • opentelemetry-instrumentation-tornado Tornado: Capture custom request/response headers in span attributes (#950)

Added

  • opentelemetry-instrumentation-aws-lambda SpanKind.SERVER by default, add more cases for SpanKind.CONSUMER services. (#926)
  • opentelemetry-instrumentation-sqlalchemy added experimental sql commenter capability (#924)
  • opentelemetry-contrib-instrumentations added new meta-package that installs all contrib instrumentations. (#681)
  • opentelemetry-instrumentation-dbapi add experimental sql commenter capability (#908)
  • opentelemetry-instrumentation-requests make span attribute available to samplers (#931)
  • opentelemetry-datadog-exporter add deprecation note to example. (#900)

Fixed

  • opentelemetry-instrumentation-dbapi Changed the format of traceparent id. (#941)
  • opentelemetry-instrumentation-logging retrieves service name defensively. (#890)
  • opentelemetry-instrumentation-wsgi WSGI: Conditionally create SERVER spans (#903)
  • opentelemetry-instrumentation-falcon Safer patching mechanism (#895)
  • opentelemetry-instrumentation-kafka-python Fix topic extraction (#949)

Changed

  • opentelemetry-instrumentation-pymemcache should run against newer versions of pymemcache. (#935)

Version 1.9.1/0.28b1 (2022-01-29)

Fixed

  • opentelemetry-instrumentation-pika requires packaging dependency

  • opentelemetry-instrumentation-tornado Tornado: Conditionally create SERVER spans (#889)

Version 1.9.0/0.28b0 (2022-01-26)

Added

  • opentelemetry-instrumentation-pyramid Pyramid: Conditionally create SERVER spans (#869)

  • opentelemetry-instrumentation-grpc added trailing_metadata to _OpenTelemetryServicerContext. (#871)

  • opentelemetry-instrumentation-asgi now returns a traceresponse response header. (#817)

  • opentelemetry-instrumentation-kafka-python added kafka-python module instrumentation. (#814)

  • opentelemetry-instrumentation-falcon Falcon: Conditionally create SERVER spans (#867)

  • opentelemetry-instrumentation-pymongo now supports pymongo v4 (#876)

  • opentelemetry-instrumentation-httpx now supports versions higher than 0.19.0. (#866)

Fixed

  • opentelemetry-instrumentation-django Django: Conditionally create SERVER spans (#832)

  • opentelemetry-instrumentation-flask Flask: Conditionally create SERVER spans (#828)

  • opentelemetry-instrumentation-celery Celery: Support partial task time limit (#846)

  • opentelemetry-instrumentation-asgi ASGI: Conditionally create SERVER spans (#843)

  • opentelemetry-instrumentation-django Django: fix issue preventing detection of MIDDLEWARE_CLASSES

  • opentelemetry-instrumentation-sqlite3 Instrumentation now works with dbapi2.connect

  • opentelemetry-instrumentation-kafka Kafka: safe kafka partition extraction (#872)

  • opentelemetry-instrumentation-aiohttp-client aiohttp: Correct url filter input type (#843)

  • opentelemetry-instrumentation-aiohttp-client aiohttp: Remove span_name from docs (#857)

Version 1.8.0/0.27b0 (2021-12-17)

Added

  • opentelemetry-instrumentation-aws-lambda Adds support for configurable flush timeout via OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT property. (#825)
  • opentelemetry-instrumentation-pika Adds support for versions between 0.12.0 to 1.0.0. (#837)

Fixed

  • opentelemetry-instrumentation-urllib Fixed an error on unexpected status values. (#823)

  • opentelemetry-exporter-richconsole Fixed attribute error on parentless spans. (#782)

  • opentelemetry-instrumentation-tornado Add support instrumentation for Tornado 5.1.1 (#812)

Version 1.7.1/0.26b1 (2021-11-11)

Added

  • opentelemetry-instrumentation-aws-lambda Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) (#739)
  • Add support for Python 3.10 (#742)
  • Pass in auto-instrumentation version to configurator (#783)
  • opentelemetry-instrumentation Add setuptools to install_requires (#781)
  • opentelemetry-instrumentation-aws-lambda Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) (#777)
  • opentelemetry-instrumentation-pymongo Add request_hook, response_hook and failed_hook callbacks passed as arguments to the instrument method (#793)
  • opentelemetry-instrumentation-pymysql Add support for PyMySQL 1.x series (#792)
  • Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable (#790)

Fixed

  • opentelemetry-instrumentation-asgi now explicitly depends on asgiref as it uses the package instead of instrumenting it. (#765)
  • opentelemetry-instrumentation-pika now propagates context to basic_consume callback (#766)
  • opentelemetry-instrumentation-falcon Dropped broken support for Python 3.4. (#774)
  • opentelemetry-instrumentation-django Fixed carrier usage on ASGI requests. (#767)
  • Don't set Span Status on 4xx http status code for SpanKind.SERVER spans (#776)
  • opentelemetry-instrumentation-django Fixed instrumentation and tests for all Django major versions. (#780)

Version 1.6.2/0.25b2 (2021-10-19)

  • opentelemetry-instrumentation-sqlalchemy Fix PostgreSQL instrumentation for Unix sockets (#761)

Changed

  • opentelemetry-sdk-extension-aws & opentelemetry-propagator-aws Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 (#753)
  • opentelemetry-instrumentation-pika Add _decorate_basic_consume to ensure post instrumentation basic_consume calls are also instrumented. (#759)
  • Consolidate instrumentation documentation in docstrings (#754)

Fixed

  • opentelemetry-distro uses the correct entrypoint name which was updated in the core release of 1.6.0 but the distro was not updated with it (#755)

Added

  • opentelemetry-instrumentation-pika Add publish_hook and consume_hook callbacks passed as arguments to the instrument method (#763)

Version 1.6.1/0.25b1 (2021-10-18)

Changed

  • opentelemetry-util-http no longer contains an instrumentation entrypoint and will not be loaded automatically by the auto instrumentor. (#745)
  • opentelemetry-instrumentation-pika Bugfix use properties.headers. It will prevent the header injection from raising. (#740)
  • opentelemetry-instrumentation-botocore Add extension for DynamoDB (#735)
  • opentelemetry-sdk-extension-aws & opentelemetry-propagator-aws Remove unnecessary dependencies on opentelemetry-test (#752)
  • opentelemetry-instrumentation-botocore Add Lambda extension (#760)

Version 1.6.0/0.25b0 (2021-10-13)

Added

  • opentelemetry-sdk-extension-aws Release AWS Python SDK Extension as 1.0.0 (#667)
  • opentelemetry-instrumentation-urllib3, opentelemetry-instrumentation-requests The net.peer.ip attribute is set to the IP of the connected HTTP server or proxy using a new instrumentor in opententelemetry-util-http (#661)
  • opentelemetry-instrumentation-pymongo Add check for suppression key in PyMongo. (#736)
  • opentelemetry-instrumentation-elasticsearch Added response_hook and request_hook callbacks (#670)
  • opentelemetry-instrumentation-redis added request_hook and response_hook callbacks passed as arguments to the instrument method. (#669)
  • opentelemetry-instrumentation-botocore add request_hook and response_hook callbacks (679)
  • opentelemetry-exporter-richconsole Initial release (#686)
  • opentelemetry-instrumentation-elasticsearch no longer creates unique span names by including document IDs, replaces them with :id and puts the value in attribute elasticsearch.id (#705)
  • opentelemetry-instrumentation-tornado now sets http.client_ip and tornado.handler attributes (#706)
  • opentelemetry-instrumentation-requests added exclude urls functionality (#714)
  • opentelemetry-instrumentation-django Add ASGI support (#391)

Changed

  • opentelemetry-instrumentation-flask Fix RuntimeError: Working outside of request context (#734)
  • opentelemetry-propagators-aws-xray Rename AwsXRayFormat to AwsXRayPropagator (#729)
  • opentelemetry-instrumentation-sqlalchemy Respect provided tracer provider when instrumenting SQLAlchemy (#728)
  • opentelemetry-sdk-extension-aws Move AWS X-Ray Propagator into its own opentelemetry-propagators-aws package (#720)
  • opentelemetry-instrumentation-sqlalchemy Added packaging dependency (#713)
  • opentelemetry-instrumentation-jinja2 Allow instrumentation of newer Jinja2 versions. (#712)
  • opentelemetry-instrumentation-botocore Make common span attributes compliant with semantic conventions (#674)
  • opentelemetry-sdk-extension-aws Release AWS Python SDK Extension as 1.0.0 (#667)
  • opentelemetry-instrumentation-botocore Unpatch botocore Endpoint.prepare_request on uninstrument (#664)
  • opentelemetry-instrumentation-botocore Fix span injection for lambda invoke (#663)
  • opentelemetry-instrumentation-botocore Introduce instrumentation extensions (#718)
  • opentelemetry-instrumentation-urllib3 Updated _RequestHookT with two additional fields - the request body and the request headers (#660)
  • Tests for Falcon 3 support (#644)

Version 1.5.0/0.24b0 (2021-08-26)

Added

  • opentelemetry-sdk-extension-aws Add AWS resource detectors to extension package (#586)
  • opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-aiohttp-client, openetelemetry-instrumentation-fastapi, opentelemetry-instrumentation-starlette, opentelemetry-instrumentation-urllib, opentelemetry-instrumentation-urllib3 Added request_hook and response_hook callbacks (#576)
  • opentelemetry-instrumentation-pika added RabbitMQ's pika module instrumentation. (#680)

Changed

  • opentelemetry-instrumentation-fastapi Allow instrumentation of newer FastAPI versions. (#602)
  • Enable explicit excluded_urls argument in opentelemetry-instrumentation-flask (#604)

Version 1.4.0/0.23b0 (2021-07-21)

Removed

  • Move opentelemetry-instrumentation to the core repo. (#595)

Changed

  • opentelemetry-instrumentation-falcon added support for Falcon 3. (#607)
  • opentelemetry-instrumentation-tornado properly instrument work done in tornado on_finish method. (#499)
  • opentelemetry-instrumentation Fixed cases where trying to use an instrumentation package without the target library was crashing auto instrumentation agent. (#530)
  • Fix weak reference error for pyodbc cursor in SQLAlchemy instrumentation. (#469)
  • Implemented specification that HTTP span attributes must not contain username and password. (#538)
  • Changed the psycopg2-binary to psycopg2 as dependency in production (#543)
  • Implement consistent way of checking if instrumentation is already active (#549)
  • Require aiopg to be less than 1.3.0 (#560)
  • opentelemetry-instrumentation-django Migrated Django middleware to new-style. (#533)
  • Updating dependency for opentelemetry api/sdk packages to support major version instead of pinning to specific versions. (#567)
  • opentelemetry-instrumentation-grpc Respect the suppress instrumentation in gRPC client instrumentor (#559)
  • opentelemetry-instrumentation-grpc Fixed asynchronous unary call traces (#536)
  • opentelemetry-sdk-extension-aws Update AWS entry points to match spec (#566)
  • Include Flask 2.0 as compatible with existing flask instrumentation (#545)
  • openelemetry-sdk-extension-aws Take a dependency on opentelemetry-sdk (#558)
  • Change opentelemetry-instrumentation-httpx to replace client classes with instrumented versions. (#577)
  • opentelemetry-instrumentation-requests Fix potential AttributeError when requests is used with a custom transport adapter. (#562)
  • opentelemetry-instrumentation-django Fix AttributeError: ResolverMatch object has no attribute route (#581)
  • opentelemetry-instrumentation-botocore Suppress botocore downstream instrumentation like urllib3 (#563)
  • opentelemetry-exporter-datadog Datadog exporter should not use unknown_service as fallback resource service name. (#570)
  • Add support for the async extension of SQLAlchemy (>= 1.4) (#568)

Added

  • opentelemetry-instrumentation-httpx Add httpx instrumentation (#461)

Version 1.3.0/0.22b0 (2021-06-01)

Changed

  • opentelemetry-bootstrap not longer forcibly removes and re-installs libraries and their instrumentations. This means running bootstrap will not auto-upgrade existing dependencies and as a result not cause dependency conflicts. (#514)
  • opentelemetry-instrumentation-asgi Set the response status code on the server span (#478)
  • opentelemetry-instrumentation-tornado Fixed cases where description was used with non- error status code when creating Status objects. (#504)
  • opentelemetry-instrumentation-asgi Fix instrumentation default span name. (#418)
  • Propagators use the root context as default for extract and do not modify the context if extracting from carrier does not work. (#488)

Added

  • opentelemetry-instrumentation-botocore now supports context propagation for lambda invoke via Payload embedded headers. (#458)
  • Added support for CreateKey functionality. (#502)

Version 1.2.0/0.21b0 (2021-05-11)

Changed

  • Instrumentation packages don't specify the libraries they instrument as dependencies anymore. Instead, they verify the correct version of libraries are installed at runtime. (#475)
  • opentelemetry-propagator-ot-trace Use TraceFlags object in extract (#472)
  • Set the traced_request_attrs of FalconInstrumentor by an argument correctly. (#473)
  • Enable passing explicit urls to exclude in instrumentation in FastAPI (#486)
  • Distros can now implement load_instrumentor(EntryPoint) method to customize instrumentor loading behaviour. (#480)
  • Fix entrypoint for ottrace propagator (#492)

Added

  • Move opentelemetry-instrumentation from core repository (#465)

Version 0.20b0 (2021-04-20)

Changed

  • Restrict DataDog exporter's ddtrace dependency to known working versions. (#400)
  • GRPC instrumentation now correctly injects trace context into outgoing requests. (#392)
  • Publish opentelemetry-propagator-ot-trace package as a part of the release process (#387)
  • Update redis instrumentation to follow semantic conventions (#403)
  • Update instrumentations to use tracer_provider for creating tracer if given, otherwise use global tracer provider (#402)
  • opentelemetry-instrumentation-wsgi Replaced name_callback with request_hook and response_hook callbacks. (#424)
  • Update gRPC instrumentation to better wrap server context (#420)
  • opentelemetry-instrumentation-redis Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) (#265)
  • opentelemetry-instrumentation-asyncpg Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) (#265)

Added

  • opentelemetry-instrumentation-urllib3 Add urllib3 instrumentation (#299)

  • opentelemetry-instrumentation-flask Added request_hook and response_hook callbacks. (#416)

  • opentelemetry-instrumenation-django now supports request and response hooks. (#407)

  • opentelemetry-instrumentation-falcon FalconInstrumentor now supports request/response hooks. (#415)

  • opentelemetry-instrumentation-tornado Add request/response hooks. (#426)

  • opentelemetry-exporter-datadog Add parsing exception events for error tags. (#459)

  • opentelemetry-instrumenation-django now supports trace response headers. (#436)

  • opentelemetry-instrumenation-tornado now supports trace response headers. (#436)

  • opentelemetry-instrumenation-pyramid now supports trace response headers. (#436)

  • opentelemetry-instrumenation-falcon now supports trace response headers. (#436)

  • opentelemetry-instrumenation-flask now supports trace response headers. (#436)

  • opentelemetry-instrumentation-grpc Keep client interceptor in sync with grpc client interceptors. (#442)

Removed

  • Remove http.status_text from span attributes (#406)

Version 0.19b0 (2021-03-26)

  • Implement context methods for _InterceptorChannel (#363)

Changed

  • Rename IdsGenerator to IdGenerator (#350)
  • opentelemetry-exporter-datadog Fix warning when DatadogFormat encounters a request with no DD_ORIGIN headers (#368).
  • opentelemetry-instrumentation-aiopg Fix multiple nested spans when aiopg.pool is used (#336).
  • Updated instrumentations to use opentelemetry.trace.use_span instead of Tracer.use_span() (#364)
  • opentelemetry-propagator-ot-trace Do not throw an exception when headers are not present (#378)
  • opentelemetry-instrumentation-wsgi Reimplement keys method to return actual keys from the carrier instead of an empty list. (#379)
  • opentelemetry-instrumentation-sqlalchemy Fix multithreading issues in recording spans from SQLAlchemy (#315)
  • Make getters and setters optional (#372)

Removed

  • Removing support for Python 3.5 (#374)

Version 0.18b0 (2021-02-16)

Added

  • opentelemetry-propagator-ot-trace Add OT Trace Propagator (#302)
  • opentelemetry-instrumentation-logging Added logging instrumentation to enable log - trace correlation. (#345)

Removed

  • Remove component span attribute in instrumentations. opentelemetry-instrumentation-aiopg, opentelemetry-instrumentation-dbapi Remove unused database_type parameter from trace_integration function. (#301)
  • opentelemetry-instrumentation-asgi Return header values using case insensitive keys (#308)
  • Remove metrics from all instrumentations (#312)
  • opentelemetry-instrumentation-boto updated to set span attributes instead of overriding the resource. (#310)
  • opentelemetry-instrumentation-grpc Fix issue tracking child spans in streaming responses (#260)
  • opentelemetry-instrumentation-grpc Updated client attributes, added tests, fixed examples, docs (#269)

Version 0.17b0 (2021-01-20)

Added

  • opentelemetry-instrumentation-sqlalchemy Ensure spans have kind set to "CLIENT" (#278)
  • opentelemetry-instrumentation-celery Add support for Celery version 5.x (#266)
  • opentelemetry-instrumentation-urllib Add urllib instrumentation (#222)
  • opentelemetry-exporter-datadog Add fields method (#226)
  • opentelemetry-sdk-extension-aws Add method to return fields injected by propagator (#226)
  • opentelemetry-exporter-prometheus-remote-write Prometheus Remote Write Exporter Setup (#180)
  • opentelemetry-exporter-prometheus-remote-write Add Exporter constructor validation methods in Prometheus Remote Write Exporter (#206)
  • opentelemetry-exporter-prometheus-remote-write Add conversion to TimeSeries methods in Prometheus Remote Write Exporter (#207)
  • opentelemetry-exporter-prometheus-remote-write Add request methods to Prometheus Remote Write Exporter (#212)
  • opentelemetry-instrumentation-fastapi Added support for excluding some routes with env var OTEL_PYTHON_FASTAPI_EXCLUDED_URLS (#237)
  • opentelemetry-instrumentation-starlette Added support for excluding some routes with env var OTEL_PYTHON_STARLETTE_EXCLUDED_URLS (#237)
  • Add Prometheus Remote Write Exporter integration tests in opentelemetry-docker-tests (#216)
  • opentelemetry-instrumentation-grpc Add tests for grpc span attributes, grpc abort() conditions (#236)
  • Add README and example app for Prometheus Remote Write Exporter (#227)
  • opentelemetry-instrumentation-botocore Adds a field to report the number of retries it take to complete an API call (#275)
  • opentelemetry-instrumentation-requests Use instanceof to check if responses are valid Response objects (#273)

Changed

  • Fix broken links to project (#413)
  • opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-wsgi Return None for CarrierGetter if key not found (#233)
  • opentelemetry-instrumentation-grpc Comply with updated spec, rework tests (#236)
  • opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-falcon, opentelemetry-instrumentation-flask, opentelemetry-instrumentation-pyramid, opentelemetry-instrumentation-wsgi Renamed host.port attribute to net.host.port (#242)
  • opentelemetry-instrumentation-flask Do not emit a warning message for request contexts created with app.test_request_context (#253)
  • opentelemetry-instrumentation-requests, opentelemetry-instrumentation-urllib Fix span name callback parameters (#259)
  • opentelemetry-exporter-datadog Fix unintentional type change of span trace flags (#261)
  • opentelemetry-instrumentation-aiopg Fix AttributeError __aexit__ when aiopg.connect and aio[g].create_pool used with async context manager (#235)
  • opentelemetry-exporter-datadog opentelemetry-sdk-extension-aws Fix reference to ids_generator in sdk (#283)
  • opentelemetry-instrumentation-sqlalchemy Use SQL operation and DB name as span name. (#254)
  • opentelemetry-instrumentation-dbapi, TracedCursor replaced by CursorTracer (#246)
  • opentelemetry-instrumentation-psycopg2, Added support for psycopg2 registered types. (#246)
  • opentelemetry-instrumentation-dbapi, opentelemetry-instrumentation-psycopg2, opentelemetry-instrumentation-mysql, opentelemetry-instrumentation-pymysql, opentelemetry-instrumentation-aiopg Use SQL command name as the span operation name instead of the entire query. (#246)
  • Update TraceState to adhere to specs (#276)

Removed

  • Remove Configuration (#285)

Version 0.16b1 (2020-11-26)

Version 0.16b0 (2020-11-25)

Added

  • opentelemetry-instrumentation-flask Add span name callback (#152)
  • opentelemetry-sdk-extension-aws Add AWS X-Ray Ids Generator Entry Point (#201)
  • opentelemetry-sdk-extension-aws Fix typo for installing OTel SDK in docs (#200)
  • opentelemetry-sdk-extension-aws Import missing components for docs (#198)
  • opentelemetry-sdk-extension-aws Provide components needed to Configure OTel SDK for Tracing with AWS X-Ray (#130)
  • opentelemetry-instrumentation-sklearn Initial release (#151)
  • opentelemetry-instrumentation-requests Add span name callback (#158)
  • opentelemetry-instrumentation-botocore Add propagator injection for botocore calls (#181)

Changed

  • opentelemetry-instrumentation-pymemcache Update pymemcache instrumentation to follow semantic conventions (#183)
  • opentelemetry-instrumentation-redis Update redis instrumentation to follow semantic conventions (#184)
  • opentelemetry-instrumentation-pymongo Update pymongo instrumentation to follow semantic conventions (#203)
  • opentelemetry-instrumentation-sqlalchemy Update sqlalchemy instrumentation to follow semantic conventions (#202)
  • opentelemetry-instrumentation-botocore Make botocore instrumentation check if instrumentation has been suppressed (#182)
  • opentelemetry-instrumentation-botocore Botocore SpanKind as CLIENT and modify existing traced attributes (#150)
  • opentelemetry-instrumentation-dbapi Update dbapi and its dependent instrumentations to follow semantic conventions (#195)
  • opentelemetry-instrumentation-dbapi Stop capturing query parameters by default (#156)
  • opentelemetry-instrumentation-asyncpg Update asyncpg instrumentation to follow semantic conventions (#188)
  • opentelemetry-instrumentation-grpc Update protobuf versions (#1356)

Version 0.15b0 (2020-11-02)

Added

  • opentelemetry-instrumentation-requests Add support for tracking http metrics (#1230)
  • opentelemetry-instrumentation-django Added capture of http.route (#1226)
  • opentelemetry-instrumentation-django Add support for tracking http metrics (#1230)

Changed

  • opentelemetry-exporter-datadog Make SpanProcessor.on_start accept parent Context (#1251)
  • opentelemetry-instrumentation-flask Use url.rule instead of request.endpoint for span name (#1260)
  • opentelemetry-instrumentation-django Django instrumentation is now enabled by default but can be disabled by setting OTEL_PYTHON_DJANGO_INSTRUMENT to False (#1239)
  • opentelemetry-instrumentation-django Bugfix use request.path replace request.get_full_path(). It will get correct span name (#1309)
  • opentelemetry-instrumentation-django Record span status and http.status_code attribute on exception (#1257)
  • opentelemetry-instrumentation-grpc Rewrite gRPC server interceptor (#1171)

Version 0.14b0 (2020-10-13)

Added

  • opentelemetry-exporter-datadog Add support for span resource labels and service name
  • opentelemetry-instrumentation-celery Span operation names now include the task type. (#1135)
  • opentelemetry-instrumentation-celery Added automatic context propagation. (#1135)
  • opentelemetry-instrumentation-falcon Added support for OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS (#1158)
  • opentelemetry-instrumentation-tornado Added support for OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS (#1178)
  • opentelemetry-instrumentation-django Added support for OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS (#1154)

Changed

  • opentelemetry-instrumentation-pymongo Cast PyMongo commands as strings (#1132)
  • opentelemetry-instrumentation-system-metrics Fix issue when specific metrics are not available in certain OS (#1207)
  • opentelemetry-instrumentation-pymysql Bumped version from 0.9.3 to 0.10.1 (#1228)
  • opentelemetry-instrumentation-django Changed span name extraction from request to comply semantic convention (#992)

Version 0.13b0 (2020-09-17)

Added

  • opentelemetry-instrumentation-falcon Initial release. Added instrumentation for Falcon 2.0+
  • opentelemetry-instrumentation-tornado Initial release. Supports Tornado 6.x on Python 3.5 and newer.
  • opentelemetry-instrumentation-aiohttp-client Add instrumentor and auto instrumentation support for aiohttp (#1075)
  • opentelemetry-instrumentation-requests Add support for instrumenting prepared requests (#1040)
  • opentelemetry-instrumentation-requests Add support for http metrics (#1116)

Changed

  • opentelemetry-instrumentation-aiohttp-client Updating span name to match semantic conventions (#972)
  • opentelemetry-instrumentation-dbapi cursors and connections now produce spans when used with context managers (#1028)

Removed

  • Drop support for Python 3.4 (#1099)

Version 0.12b0 (2020-08-14)

Changed

  • opentelemetry-ext-pymemcache Change package name to opentelemetry-instrumentation-pymemcache (#966)
  • opentelemetry-ext-redis Update default SpanKind to SpanKind.CLIENT (#965)
  • opentelemetry-ext-redis Change package name to opentelemetry-instrumentation-redis (#966)
  • opentelemetry-ext-datadog Change package name to opentelemetry-exporter-datadog (#953)
  • opentelemetry-ext-jinja2 Change package name to opentelemetry-instrumentation-jinja2 (#969)
  • opentelemetry-ext-elasticsearch Update environment variable names, prefix changed from OPENTELEMETRY to OTEL (#904)
  • opentelemetry-ext-elasticsearch Change package name to opentelemetry-instrumentation-elasticsearch (#969)
  • opentelemetry-ext-celery Change package name to opentelemetry-instrumentation-celery (#969)
  • opentelemetry-ext-pyramid Change package name to opentelemetry-instrumentation-pyramid (#966)
  • opentelemetry-ext-pyramid Update environment variable names, prefix changed from OPENTELEMETRY to OTEL (#904)
  • opentelemetry-ext-pymongo Change package name to opentelemetry-instrumentation-pymongo (#966)
  • opentelemetry-ext-sqlite3 Change package name to opentelemetry-instrumentation-sqlite3 (#966)
  • opentelemetry-ext-sqlalchemy Change package name to opentelemetry-instrumentation-sqlalchemy (#966)
  • opentelemetry-ext-psycopg2 Change package name to opentelemetry-instrumentation-psycopg2 (#966)
  • opentelemetry-ext-aiohttp-client Change package name to opentelemetry-instrumentation-aiohttp-client (#961)
  • opentelemetry-ext-boto Change package name to opentelemetry-instrumentation-boto (#969)
  • opentelemetry-ext-system-metrics Change package name to opentelemetry-instrumentation-system-metrics (#969)
  • opentelemetry-ext-asgi Change package name to opentelemetry-instrumentation-asgi (#961)
  • opentelemetry-ext-wsgi Change package name to opentelemetry-instrumentation-wsgi (#961)
  • opentelemetry-ext-pymysql Change package name to opentelemetry-instrumentation-pymysql (#966)
  • opentelemetry-ext-requests Change package name to opentelemetry-instrumentation-requests (#961)
  • opentelemetry-ext-requests Span name reported updated to follow semantic conventions to reduce cardinality (#972)
  • opentelemetry-ext-botocore Change package name to opentelemetry-instrumentation-botocore (#969)
  • opentelemetry-ext-dbapi Change package name to opentelemetry-instrumentation-dbapi (#966)
  • opentelemetry-ext-flask Change package name to opentelemetry-instrumentation-flask (#961)
  • opentelemetry-ext-flask Update environment variable names, prefix changed from OPENTELEMETRY to OTEL (#904)
  • opentelemetry-ext-django Change package name to opentelemetry-instrumentation-django (#961)
  • opentelemetry-ext-django Update environment variable names, prefix changed from OPENTELEMETRY to OTEL (#904)
  • opentelemetry-ext-asyncpg Change package name to opentelemetry-instrumentation-asyncpg (#966)
  • opentelemetry-ext-mysql Change package name to opentelemetry-instrumentation-mysql (#966)
  • opentelemetry-ext-grpc Change package name to opentelemetry-instrumentation-grpc (#969)

Version 0.11b0 (2020-07-28)

Added

  • opentelemetry-instrumentation-aiopg Initial release
  • opentelemetry-instrumentation-fastapi Initial release (#890)
  • opentelemetry-ext-grpc Add status code to gRPC client spans (896)
  • opentelemetry-ext-grpc Add gRPC client and server instrumentors (788)
  • opentelemetry-ext-grpc Add metric recording (bytes in/out, errors, latency) to gRPC client

Changed

  • opentelemetry-ext-pyramid Use one general exclude list instead of two (#872)
  • opentelemetry-ext-boto fails to export spans via jaeger (#866)
  • opentelemetry-ext-botocore fails to export spans via jaeger (#866)
  • opentelemetry-ext-wsgi Set span status on wsgi errors (#864)
  • opentelemetry-ext-flask Use one general exclude list instead of two (#872)
  • opentelemetry-ext-django Use one general exclude list instead of two (#872)
  • opentelemetry-ext-asyncpg Shouldn't capture query parameters by default (#854)
  • opentelemetry-ext-mysql bugfix: Fix auto-instrumentation entry point for mysql (#858)

Version 0.10b0 (2020-06-23)

Added

  • opentelemetry-ext-pymemcache Initial release
  • opentelemetry-ext-elasticsearch Initial release
  • opentelemetry-ext-celery Add instrumentation for Celery (#780)
  • opentelemetry-instrumentation-starlette Initial release (#777)
  • opentelemetry-ext-asyncpg Initial Release (#814)

Version 0.9b0 (2020-06-10)

Added

Version 0.8b0 (2020-05-27)

Added

  • opentelemetry-ext-datadog Add exporter to Datadog (#572)
  • opentelemetry-ext-sqlite3 Initial release
  • opentelemetry-ext-psycopg2 Implement instrumentor interface, enabling auto-instrumentation (#694)
  • opentelemetry-ext-asgi Add ASGI middleware (#716)
  • opentelemetry-ext-django Add exclude list for paths and hosts to prevent from tracing (#670)
  • opentelemetry-ext-django Add support for django >= 1.10 (#717)

Changed

  • opentelemetry-ext-grpc lint: version of grpc causes lint issues (#696)

Version 0.7b1 (2020-05-12)

Added

  • opentelemetry-ext-redis Initial release
  • opentelemetry-ext-jinja2 Add jinja2 instrumentation (#643)
  • opentelemetry-ext-pymongo Implement instrumentor interface (#612)
  • opentelemetry-ext-sqlalchemy Initial release
  • opentelemetry-ext-aiohttp-client Initial release
  • opentelemetry-ext-pymysql Initial release
  • opentelemetry-ext-http-requests Implement instrumentor interface, enabling auto-instrumentation (#597)
  • opentelemetry-ext-http-requests Adding disable_session for more granular instrumentation control (#573)
  • opentelemetry-ext-http-requests Add a callback for custom attributes (#656)
  • opentelemetry-ext-dbapi Implement instrument_connection and uninstrument_connection (#624)
  • opentelemetry-ext-flask Add exclude list for paths and hosts (#630)
  • opentelemetry-ext-django Initial release
  • opentelemetry-ext-mysql Implement instrumentor interface (#654)

Changed

  • opentelemetry-ext-http-requests Rename package to opentelemetry-ext-requests (#619)

Version 0.6b0 (2020-03-30)

Added

  • opentelemetry-ext-flask Add an entry_point to be usable in auto-instrumentation (#327)
  • opentelemetry-ext-grpc Add gRPC integration (#476)

Version 0.5b0 (2020-03-16)

Version 0.4a0 (2020-02-21)

Added

  • opentelemetry-ext-psycopg2 Initial release
  • opentelemetry-ext-dbapi Initial release
  • opentelemetry-ext-mysql Initial release

Changed

  • opentelemetry-ext-pymongo Updating network connection attribute names (#350)
  • opentelemetry-ext-wsgi Updating network connection attribute names (#350)
  • opentelemetry-ext-flask Use string keys for WSGI environ values (#366)

Version 0.3a0 (2019-12-11)

Added

  • opentelemetry-ext-flask Initial release
  • opentelemetry-ext-pymongo Initial release

Changed

  • opentelemetry-ext-wsgi Support new semantic conventions (#299)
  • opentelemetry-ext-wsgi Updates for core library changes

Version 0.2a0 (2019-10-29)

Changed

  • opentelemetry-ext-wsgi Updates for core library changes

  • opentelemetry-ext-http-requests Updates for core library changes

  • Added support for PyPy3 Initial release

#1033

Version 0.1a0 (2019-09-30)

Added

  • opentelemetry-ext-wsgi Initial release

  • opentelemetry-ext-http-requests Initial release

  • Drop support for 3.7 (#2151)

  • opentelemetry-resource-detector-azure Added 10s timeout to VM Resource Detector (#2119)

  • opentelemetry-instrumentation-asyncpg Allow AsyncPGInstrumentor to be instantiated multiple times (#1791)

  • opentelemetry-instrumentation-confluent-kafka Add support for higher versions until 2.3.0 of confluent_kafka (#2132)

  • opentelemetry-resource-detector-azure Changed timeout to 4 seconds due to timeout bug (#2136)

  • opentelemetry-resource-detector-azure Suppress instrumentation for urllib call (#2178)

  • AwsLambdaInstrumentor handles and re-raises function exception (#2245)