#29407 [Feature]: Bump pinned OpenTelemetry SDK from 1.28.0 to the 1.40 line (or relax to a range)
# [Feature]: Bump pinned OpenTelemetry SDK from `1.28.0` to the `1.40` line (or relax to a range)
### What you'd like
LiteLLM's `proxy-runtime` extra and dev/CI groups currently hard-pin:
``` opentelemetry-api == 1.28.0 opentelemetry-sdk == 1.28.0 opentelemetry-exporter-otlp == 1.28.0 opentelemetry-instrumentation-fastapi == 0.49b0 ```
`1.28.0` shipped in November 2024 — twelve minor releases and ~16 months ago. The current OTel Python line is `1.40.0` (March 2026), and most modern vendor exporters and distros now require `>=1.40` (Azure Monitor, Microsoft's umbrella distro, several Grafana/Datadog distros).
This proposal is to bump those pins, ideally to a **relaxed range** (`>=1.36,<2` core, `>=0.57b0,<1` contrib) or, if a strict pin is preferred, to `==1.40.0` / `==0.61b0`.
I'd happily own the PR.
### Why this is overdue
Worth flagging that **`litellm/integrations/opentelemetry.py` already contains the comment**:
> `OTEL SDK >= 1.39.0 due to breaking changes in PR #4676: LogRecord moved from opentelemetry.sdk._logs to opentelemetry.sdk._logs._internal`
…and the v2 refactor in #28909 emits `gen_ai.*` attributes that map cleanly only against `opentelemetry-semantic-conve…