opentelemetry-instrumentation
Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python
Description
OpenTelemetry Instrumentation ============================= |pypi| .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation.svg :target: https://pypi.org/project/opentelemetry-instrumentation/ Installation ------------ :: pip install opentelemetry-instrumentation This package provides commands that help automatically instrument a program: .. note:: You need to install a distro package to get auto instrumentation working. The ``opentelemetry-distro`` package contains the default distro and configurator and automatically configures some of the common options for users. For more info about ``opentelemetry-distro`` check `here <https://opentelemetry-python.readthedocs.io/en/latest/examples/distro/README.html>`__ :: pip install "opentelemetry-distro[otlp]" When creating a custom distro and/or configurator, be sure to add entry points for each under `opentelemetry_distro` and `opentelemetry_configurator` respectfully. If you have entry points for multiple distros or configurators present in your environment, you should specify the entry point name of the distro and configurator you want to be used via the `OTEL_PYTHON_DISTRO` and `OTEL_PYTHON_CONFIGURATOR` environment variables. opentelemetry-bootstrap ----------------------- :: opentelemetry-bootstrap [-a |--action=][install|requirements] This command install default instrumentation packages and detects active Python site-packages to figure out which instrumentation packages the user might want to install. By default, it prints out a list of the default and detected instrumentation packages that can be added to a requirements.txt file. It also supports installing the packages when run with :code:`--action=install` or :code:`-a install` flag. All default and detectable instrumentation packages are defined `here <https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py>`. opentelemetry-instrument ------------------------ :: opentelemetry-instrument python program.py The instrument command will try to automatically detect packages used by your python program and when possible, apply automatic tracing instrumentation on them. This means your program will get automatic distributed tracing without having to make any code changes. This will also configure a global tracer and tracing exporter as well as a meter and meter exporter. By default, the instrument command will use the OTLP exporter but this can be overridden. The command supports the following configuration options as CLI arguments and environment variables: * ``--traces_exporter`` or ``OTEL_TRACES_EXPORTER`` * ``--metrics_exporter`` or ``OTEL_METRICS_EXPORTER`` * ``--distro`` or ``OTEL_PYTHON_DISTRO`` * ``--configurator`` or ``OTEL_PYTHON_CONFIGURATOR`` The exporter options define what exporter destination to use and can be set to one or more exporter names (see below). You can pass multiple values to configure multiple exporters (e.g., ``zipkin_json,otlp``). - Defaults to `otlp`. - Can be set to `none` to disable automatic tracer initialization. - Can be set to 'console` to display JSON results locally. Trace exporter names: - jaeger_proto - jaeger_thrift - opencensus - otlp - otlp_proto_grpc (`deprecated`) - otlp_proto_http (`deprecated`) - zipkin_json - zipkin_proto Metric exporter names: - otlp - otlp_proto_grpc (`deprecated`) - prometheus Note: The default transport protocol for ``otlp`` is gRPC. * ``--id-generator`` or ``OTEL_PYTHON_ID_GENERATOR`` Used to specify which IDs Generator to use for the global Tracer Provider. By default, it will use the random IDs generator. The code in ``program.py`` needs to use one of the packages for which there is an OpenTelemetry integration. For a list of the available integrations please check `here <https://opentelemetry-python.readthedocs.io/en/stable/index.html#integrations>`_ * ``OTEL_PYTHON_DISABLED_INSTRUMENTATIONS`` If set by the user, opentelemetry-instrument will read this environment variable to disable specific instrumentations. e.g OTEL_PYTHON_DISABLED_INSTRUMENTATIONS="requests,django" If the variables contains ``*`` as member no instrumentation will be enabled. * ``OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH`` If set by the user to `patch_all` , opentelemetry instrument will call the gevent monkeypatching method ``patch_all``. This is considered experimental but can be useful to instrument gevent applications. e.g OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH=patch_all Examples ^^^^^^^^ :: opentelemetry-instrument --traces_exporter console flask run --port=3000 The above command will pass ``--traces_exporter console`` to the instrument command and ``--port=3000`` to ``flask run``. :: opentelemetry-instrument --traces_exporter zipkin_json,otlp celery -A tasks wor
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.62b0 | Imported from PyPI (0.62b0) | Low | 4/21/2026 |
| v0.62b0 | ### Added - `opentelemetry-instrumentation-asgi`: Respect `suppress_http_instrumentation` context in ASGI middleware to skip server span creation when HTTP instrumentation is suppressed ([#4375](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4375)) - `opentelemetry-instrumentation-confluent-kafka`: Loosen confluent-kafka upper bound to <3.0.0 ([#4289](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4289)) - `opentelemetry-instrumentation`: Add support | Medium | 4/9/2026 |
| opentelemetry-opamp-client==0.2b0 | - Breaking change: callback class `Callbacks` renamed to `OpAMPCallbacks` ([#4355](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4355)) | Medium | 4/1/2026 |
| opentelemetry-opamp-client==0.1b0 | - Initial implementation ([#3635](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3635)) - Update client to have additional callback methods ([#4322](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4322)) | Medium | 3/23/2026 |
| v0.61b0 | ### Added - Add Python 3.14 support ([#4193](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4193)) - `opentelemetry-instrumentation-asgi`: Add exemplars for `http.server.request.duration` and `http.server.duration` metrics ([#3739](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3739)) - `opentelemetry-instrumentation-wsgi`: Add exemplars for `http.server.request.duration` and `http.server.duration` metrics ([#3739](https://github.com/open-telemetry/ope | Low | 3/4/2026 |
| opentelemetry-instrumentation-google-genai==0.7b0 | - Fix bug in how tokens are counted when using the streaming `generateContent` method. ([#4152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4152)). - Add `gen_ai.tool.definitions` attribute to `gen_ai.client.inference.operation.details` log event ([#4142](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4142)). - Add `gen_ai.tool_definitions` to completion hook ([#4181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4181)) | Low | 2/20/2026 |
| opentelemetry-util-genai==0.3b0 | - Add `gen_ai.tool_definitions` to completion hook ([#4181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4181)) - Add support for emitting inference events and enrich message types. ([#3994](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3994)) - Add support for `server.address`, `server.port` on all signals and additional metric-only attributes ([#4069](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4069)) - Log error when `fsspe | Low | 2/20/2026 |
| opentelemetry-instrumentation-google-genai==0.6b0 | - Enable the addition of custom attributes to the `generate_content {model.name}` span via the Context API. ([#3961](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3961)). - Enable the addition of custom attributes to `gen_ai.client.inference.operation.details` log events ([#4103](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4103)). | Low | 1/27/2026 |
| opentelemetry-instrumentation-openai-v2==2.3b0 | - Fix `AttributeError` when handling `LegacyAPIResponse` (from `with_raw_response`) ([#4017](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4017)) - Add support for chat completions choice count and stop sequences span attributes ([#4028](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4028)) - Fix crash with streaming `with_raw_response` ([#4033](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4033)) - Bump to 1.30.0 semconv schema: | Low | 12/24/2025 |
| opentelemetry-instrumentation-vertexai==2.2b0 | - Fix overwritten log attributes in vertexai instrumentation ([#3925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3925)) - Add the `GEN_AI_OUTPUT_TYPE`, `GEN_AI_REQUEST_CHOICE_COUNT` and `GEN_AI_REQUEST_SEED` sem conv request attributes to events/spans generated in the stable instrumentation. This was added pre sem conv 1.36 so it should be in the stable instrumentation. See ([#4011](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4011)). | Low | 12/19/2025 |
| opentelemetry-instrumentation-google-genai==0.5b0 | - Ensure log event is written and completion hook is called even when model call results in exception. Put new log event (` gen_ai.client.inference.operation.details`) behind the flag `OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental`. Ensure same sem conv attributes are on the log and span. Fix an issue where the instrumentation would crash when a pydantic.BaseModel class was passed as the response schema ([#3905](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3905 | Low | 12/11/2025 |
| v0.60b1 | This is a patch release on the previous 1.39.0/0.60b0 release, fixing the issue(s) below. ### Fixed - `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](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/4001)) | Low | 12/11/2025 |
| v0.60b0 | ### Added - `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-wsgi`, `opentelemetry-instrumentation-asgi` Detect synthetic sources on requests, ASGI, and WSGI. ([#3674](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3674)) - `opentelemetry-instrumentation-aiohttp-client`: add support for url exclusions via `OTEL_PYTHON_EXCLUDED_URLS` / `OTEL_PYTHON_AIOHTTP_CLIENT_EXCLUDED_URLS` ([#3850](https://github.com/open-telemetry/opentelemetry-python-contri | Low | 12/3/2025 |
| opentelemetry-instrumentation-openai-v2==2.2b0 | - Fix service tier attribute names: use `GEN_AI_OPENAI_REQUEST_SERVICE_TIER` for request attributes and `GEN_AI_OPENAI_RESPONSE_SERVICE_TIER` for response attributes. ([#3920](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3920)) - Added support for OpenAI embeddings instrumentation ([#3461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3461)) - Record prompt and completion events regardless of span sampling decision. ([#3226](https://github.com/open | Low | 11/25/2025 |
| opentelemetry-instrumentation-vertexai==2.1b0 | - Update instrumentation to use the latest semantic convention changes made in https://github.com/open-telemetry/semantic-conventions/pull/2179. Now only a single event and span (`gen_ai.client.inference.operation.details`) are used to capture prompt and response content. These changes are opt-in, users will need to set the environment variable OTEL_SEMCONV_STABILITY_OPT_IN to `gen_ai_latest_experimental` to see them ([#3799](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3 | Low | 10/16/2025 |
| opentelemetry-instrumentation-google-genai==0.4b0 | - Implement the new semantic convention changes made in https://github.com/open-telemetry/semantic-conventions/pull/2179. A single event (`gen_ai.client.inference.operation.details`) is used to capture Chat History. This is opt-in, an environment variable OTEL_SEMCONV_STABILITY_OPT_IN needs to be set to `gen_ai_latest_experimental` to see them ([#3386](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3386)) - Support CompletionHook for upload to cloud storage. | Low | 10/16/2025 |
| v0.59b0 | ### Fixed - `opentelemetry-instrumentation-flask`: Do not record `http.server.duration` metrics for excluded URLs. ([#3794](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3794)) - `opentelemetry-instrumentation-botocore`: migrate off the deprecated events API to use the logs API ([#3624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3624)) - `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg | Low | 10/16/2025 |
| opentelemetry-util-genai==0.2b0 | - Add jsonlines support to fsspec uploader ([https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3791](#3791)) - Rename "fsspec_upload" entry point and classes to more generic "upload" ([https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3798](#3798)) - Record content-type and use canonical paths in fsspec genai uploader ([https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3795](#3795)) - Make inputs / outputs / system instructions optional para | Low | 10/15/2025 |
| opentelemetry-instrumentation-openai-agents-v2==0.1.0 | - Initial barebones package skeleton: minimal instrumentor stub, version module, and packaging metadata/entry point. ([#3805](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3805)) - Implement OpenAI Agents span processing aligned with GenAI semantic conventions. ([#3817](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3817)) - Input and output according to GenAI spec. ([#3824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3824)) | Low | 10/15/2025 |
| opentelemetry-util-genai==0.1b0 | - Add completion hook to genai utils to implement semconv v1.37. Includes a hook implementation using [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/) to support uploading to various pluggable backends. ([#3780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3780)) ([#3752](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3752)) ([#3759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3759)) ([#3763](https://github.c | Low | 9/25/2025 |
| v0.58b0 | ### Fixed - `opentelemetry-instrumentation-fastapi`: Fix middleware ordering to cover all exception handling use cases. ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) - `opentelemetry-instrumentation-asgi`: Make all user hooks failsafe and record exceptions in hooks. ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) - `opentelemetry-instrumentation-fastapi`: Fix memory leak in `uninstrument_app()` by properly removing apps | Low | 9/11/2025 |
| v0.57b0 | ### 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](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) - infra(ci): Fix git pull failures in core contrib test ([#3357](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3357)) ### Added | Low | 7/29/2025 |
| v0.56b0 | ### Added - `opentelemetry-instrumentation-pika` Added instrumentation for All `SelectConnection` adapters ([#3584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3584)) - `opentelemetry-instrumentation-tornado` Add support for `WebSocketHandler` instrumentation ([#3498](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3498)) - `opentelemetry-util-http` Added support for redacting specific url query string values and url credentials in instrumentations ( | Low | 7/11/2025 |
| opentelemetry-instrumentation-google-genai==0.3b0 | - Add automatic instrumentation to tool call functions ([#3446](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3446)) | Low | 7/8/2025 |
| v0.55b1 | This is a patch release on the previous 1.34.0/0.55b0 release, fixing the issue(s) below. | Low | 6/10/2025 |
| v0.55b0 | ### Added - `opentelemetry-instrumentation-aiokafka` Add instrumentation of `consumer.getmany` (batch) ([#3257](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3257)) ### Fixed - `opentelemetry-instrumentation-system-metrics`: fix loading on Google Cloud Run ([#3533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3533)) - `opentelemetry-instrumentation-fastapi`: fix wrapping of middlewares ([#3012](https://github.com/open-telemetry/opentelemetry-pytho | Low | 6/4/2025 |
| v0.54b1 | This is a patch release on the previous 1.33.0/0.54b0 release, fixing the issue(s) below. | Low | 5/16/2025 |
| v0.54b0 | ### Added - `opentelemetry-instrumentation-requests` Support explicit_bucket_boundaries_advisory in duration metrics ([#3464](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3464)) - `opentelemetry-instrumentation-redis` Add support for redis client-specific instrumentation. ([#3143](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3143)) ### Fixed - `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed and log as | Low | 5/9/2025 |
| opentelemetry-instrumentation-google-genai==0.2b0 | - Add more request configuration options to the span attributes ([#3374](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3374)) - Restructure tests to keep in line with repository conventions ([#3344](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3344)) - Fix [bug](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3416) where span attribute `gen_ai.response.finish_reasons` is empty ([#3417](https://github.com/open-telemetry/opentele | Low | 4/28/2025 |
| v0.53b1 | This is a patch release on the previous 1.32.0/0.53b0 release, fixing the issue(s) below. ### Fixed - `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed and log as debug instead of exception ([#3425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3425)) | Low | 4/15/2025 |
| v0.53b0 | ### Added - `opentelemetry-instrumentation-asyncclick`: new instrumentation to trace asyncclick commands ([#3319](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3319)) - `opentelemetry-instrumentation-botocore` Add support for GenAI tool events using Amazon Nova models and `InvokeModel*` APIs ([#3385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3385)) - `opentelemetry-instrumentation` Make auto instrumentation use the same dependency resolver as man | Low | 4/10/2025 |
| v0.52b1 | This is a patch release on the previous 1.31.0/0.52b0 release, fixing the issue(s) below. | Low | 3/20/2025 |
| v0.52b0 | ### Added - `opentelemetry-instrumentation-openai-v2` Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms ([#3279](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3279)) - `opentelemetry-instrumentation-system-metrics` Add `process` metrics and deprecated `process.runtime` prefixed ones ([#3250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3250)) - `opentelemetry-instrumentation-botocore` Add support for GenAI user events and | Low | 3/12/2025 |
| opentelemetry-instrumentation-google-genai==0.1b0 | - Add support for async and streaming. ([#3298](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3298)) Create an initial version of Open Telemetry instrumentation for github.com/googleapis/python-genai. ([#3256](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3256)) | Low | 3/5/2025 |
| opentelemetry-instrumentation-vertexai==2.0b0 | - Added Vertex AI spans for request parameters ([#3192](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3192)) - Initial VertexAI instrumentation ([#3123](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3123)) - Add server attributes to Vertex AI spans ([#3208](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3208)) - VertexAI emit user, system, and assistant events ([#3203](https://github.com/open-telemetry/opentelemetry-python-contrib | Low | 2/24/2025 |
| v0.51b0 | ### Added - `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) - Add support to database stability opt-in in `_semconv` utilities and add tests ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) - `opentelemetry-instrumentation-urllib` Add `py.typed` file to enable PEP 561 ([#3131](https://github.com/open-telemetry/opentelemetry-python-contri | Low | 2/4/2025 |
| opentelemetry-instrumentation-openai-v2==2.1b0 | - Coerce openai response_format to semconv format ([#3073](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3073)) - Add example to `opentelemetry-instrumentation-openai-v2` ([#3006](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3006)) - Support for `AsyncOpenAI/AsyncCompletions` ([#2984](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2984)) - Add metrics ([#3180](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/31 | Low | 1/18/2025 |
| opentelemetry-sdk-extension-aws==2.1.0 | - Make ec2 resource detector silent when loaded outside AWS ([#3120](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3120)) - Make ecs and beanstalk resource detector silent when loaded outside AWS ([#3076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3076)) - Make EKS resource detector don't warn when not running in EKS ([#3074](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3074)) | Low | 12/24/2024 |
| v0.50b0 | ### Added - `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) - `opentelemetry-distro` default to OTLP log exporter. ([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042)) - `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) - Add `open | Low | 12/11/2024 |
| v0.49b2 | This is a patch release on the previous 1.28.1/0.49b1 release, fixing the issue(s) below. ### Added - Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap` ([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996)) ### Fixed - `opentelemetry-instrumentation-httpx`: instrument_client is a static method again ([#3003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3003)) ### Breaking changes | Low | 11/18/2024 |
| v0.49b1 | This is a patch release on the previous 1.28.0/0.49b0 release, fixing the issue(s) below. ### Added - `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) ### Fixed ### Breaking changes - `opentelemetry-instrumentation-sqlalchemy` teach instruments version ([#2971](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2971)) - Drop `opentelemetry-instrumentatio | Low | 11/8/2024 |
| opentelemetry-instrumentation-openai-v2==2.0b0 | - Use generic `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` environment variable to control if content of prompt, completion, and other messages is captured. ([#2947](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2947)) - Update OpenAI instrumentation to Semantic Conventions v1.28.0: add new attributes and switch prompts and completions to log-based events. ([#2925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2925)) - Initial OpenAI instrum | Low | 11/8/2024 |
| v0.49b0 | ### Added - `opentelemetry-instrumentation-openai-v2` Instrumentation for OpenAI >= 0.27.0 ([#2759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2759)) - `opentelemetry-instrumentation-fastapi` Add autoinstrumentation mechanism tests. ([#2860](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2860)) - `opentelemetry-instrumentation-aiokafka` Add instrumentor and auto instrumentation support for aiokafka ([#2082](https://github.com/open-telemetry/opentel | Low | 11/5/2024 |
| v0.48b0 | ### Added - `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation ([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537)) ### Breaking changes - `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations ([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786)) ### Fixed - `opentelemetry-instrumentation-httpx` fix | Low | 8/28/2024 |
| v0.47b0 | ### Added - `opentelemetry-instrumentation-flask` Add `http.route` and `http.target` to metric attributes ([#2621](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2621)) - `opentelemetry-instrumentation-aws-lambda` Enable global propagator for AWS instrumentation ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) - `opentelemetry-instrumentation-sklearn` Deprecated the sklearn instrumentation ([#2708](https://github.com/open-telemetry/opente | Low | 7/25/2024 |
| v0.46b0 | ### Breaking changes - Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() ([#2527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2527)) - Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi` ([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300)) - Rename AwsLambdaInstrumentor span attributes `faas.id` to `cloud.resourc | Low | 5/31/2024 |
| v0.45b0 | - `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x ([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146)) ### Fixed - `opentelemetry-instrumentation-celery` Allow Celery instrumentation to be installed multiple times ([#2342](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342)) - Align gRPC span status codes to OTEL specification ([#1756](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756)) | Low | 3/28/2024 |
| v0.44b0 | - Drop support for 3.7 ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) - `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) - `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) - `opentelemetry-instrumentation-confl | Low | 2/23/2024 |
| v0.43b0 | ### Added - `opentelemetry-instrumentation` Added Otel semantic convention opt-in mechanism ([#1987](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1987)) - `opentelemetry-instrumentation-httpx` Fix mixing async and non async hooks ([#1920](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1920)) - `opentelemetry-instrumentation-requests` Implement new semantic convention opt-in with stable http semantic conventions ([#2002](https://github.com/open-te | Low | 12/19/2023 |
| v0.42b0 | - `opentelemetry-instrumentation-aiohttp-server` Add instrumentor and auto instrumentation support for aiohttp-server ([#1800](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1800)) ### Added - `opentelemetry-instrumentation-botocore` Include SNS topic ARN as a span attribute with name `messaging.destination.name` to uniquely identify the SNS topic ([#1995](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1995)) - `opentelemetry-instrumentation-system-me | Low | 11/9/2023 |
| v0.41b0 | ### Fixed - `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment ([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/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](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913)) ### Added - `opentelemetry-resource-dete | Low | 9/11/2023 |
