From 596a5f319ea44794d752d599390ee06bf8a6fb95 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Mon, 7 Sep 2026 13:24:37 +0200 Subject: [PATCH 1/4] fix: Require opentelemetry-instrumentation-httpx 0.65b0 for httpx2 instrumentation --- pyproject.toml | 4 +++- uv.lock | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0ac5cf223b..85244ad6eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,9 @@ otel = [ "opentelemetry-api>=1.34.1", "opentelemetry-distro[otlp]>=0.54", "opentelemetry-instrumentation>=0.54", - "opentelemetry-instrumentation-httpx>=0.54", + # 0.65b0 is the first release shipping `HTTPX2ClientInstrumentor`, which instruments the `httpx2` package + # that `HttpxHttpClient` is built on. Older releases only instrument the original `httpx`. + "opentelemetry-instrumentation-httpx>=0.65b0", "opentelemetry-sdk>=1.34.1", "opentelemetry-semantic-conventions>=0.54", "wrapt>=1.17.0", diff --git a/uv.lock b/uv.lock index ee117b2be1..8defbfd642 100644 --- a/uv.lock +++ b/uv.lock @@ -1162,7 +1162,7 @@ requires-dist = [ { name = "opentelemetry-api", marker = "extra == 'otel'", specifier = ">=1.34.1" }, { name = "opentelemetry-distro", extras = ["otlp"], marker = "extra == 'otel'", specifier = ">=0.54" }, { name = "opentelemetry-instrumentation", marker = "extra == 'otel'", specifier = ">=0.54" }, - { name = "opentelemetry-instrumentation-httpx", marker = "extra == 'otel'", specifier = ">=0.54" }, + { name = "opentelemetry-instrumentation-httpx", marker = "extra == 'otel'", specifier = ">=0.65b0" }, { name = "opentelemetry-sdk", marker = "extra == 'otel'", specifier = ">=1.34.1" }, { name = "opentelemetry-semantic-conventions", marker = "extra == 'otel'", specifier = ">=0.54" }, { name = "parsel", marker = "extra == 'parsel'", specifier = ">=1.10.0" }, From 18a51db9daab0e30e16f474a848f2c0624f519ac Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Wed, 16 Sep 2026 10:42:20 +0200 Subject: [PATCH 2/4] chore(deps): Add b0 suffix to the OpenTelemetry pre-release floors --- pyproject.toml | 9 ++++----- uv.lock | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 85244ad6eb..11c97fc9d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,13 +72,12 @@ parsel = ["parsel>=1.10.0"] playwright = ["playwright>=1.27.0", "apify_fingerprint_datapoints>=0.0.2", "browserforge>=1.2.3"] otel = [ "opentelemetry-api>=1.34.1", - "opentelemetry-distro[otlp]>=0.54", - "opentelemetry-instrumentation>=0.54", - # 0.65b0 is the first release shipping `HTTPX2ClientInstrumentor`, which instruments the `httpx2` package - # that `HttpxHttpClient` is built on. Older releases only instrument the original `httpx`. + "opentelemetry-distro[otlp]>=0.54b0", + "opentelemetry-instrumentation>=0.54b0", + # 0.65b0 is the first release shipping `HTTPX2ClientInstrumentor`, the instrumentor for the `httpx2` package. "opentelemetry-instrumentation-httpx>=0.65b0", "opentelemetry-sdk>=1.34.1", - "opentelemetry-semantic-conventions>=0.54", + "opentelemetry-semantic-conventions>=0.54b0", "wrapt>=1.17.0", ] sql_postgres = [ diff --git a/uv.lock b/uv.lock index 8defbfd642..e791973318 100644 --- a/uv.lock +++ b/uv.lock @@ -1160,11 +1160,11 @@ requires-dist = [ { name = "lxml", extras = ["html-clean"], marker = "extra == 'pydantic-ai'", specifier = ">=5.2.0" }, { name = "more-itertools", specifier = ">=10.2.0" }, { name = "opentelemetry-api", marker = "extra == 'otel'", specifier = ">=1.34.1" }, - { name = "opentelemetry-distro", extras = ["otlp"], marker = "extra == 'otel'", specifier = ">=0.54" }, - { name = "opentelemetry-instrumentation", marker = "extra == 'otel'", specifier = ">=0.54" }, + { name = "opentelemetry-distro", extras = ["otlp"], marker = "extra == 'otel'", specifier = ">=0.54b0" }, + { name = "opentelemetry-instrumentation", marker = "extra == 'otel'", specifier = ">=0.54b0" }, { name = "opentelemetry-instrumentation-httpx", marker = "extra == 'otel'", specifier = ">=0.65b0" }, { name = "opentelemetry-sdk", marker = "extra == 'otel'", specifier = ">=1.34.1" }, - { name = "opentelemetry-semantic-conventions", marker = "extra == 'otel'", specifier = ">=0.54" }, + { name = "opentelemetry-semantic-conventions", marker = "extra == 'otel'", specifier = ">=0.54b0" }, { name = "parsel", marker = "extra == 'parsel'", specifier = ">=1.10.0" }, { name = "parsel", marker = "extra == 'pydantic-ai'", specifier = ">=1.10.0" }, { name = "playwright", marker = "extra == 'adaptive-crawler'", specifier = ">=1.27.0" }, From ae6227ba73064e4a2546a5d98956a27f85da38e1 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Wed, 16 Sep 2026 13:54:51 +0200 Subject: [PATCH 3/4] chore(deps): Bump the OpenTelemetry floors to the 0.65b0 release line --- pyproject.toml | 14 ++++++++------ uv.lock | 10 +++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 11c97fc9d0..b9152dc403 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,13 +71,15 @@ httpx = ["httpx2[brotli,http2,zstd]>=2.12.0", "apify_fingerprint_datapoints>=0.0 parsel = ["parsel>=1.10.0"] playwright = ["playwright>=1.27.0", "apify_fingerprint_datapoints>=0.0.2", "browserforge>=1.2.3"] otel = [ - "opentelemetry-api>=1.34.1", - "opentelemetry-distro[otlp]>=0.54b0", - "opentelemetry-instrumentation>=0.54b0", - # 0.65b0 is the first release shipping `HTTPX2ClientInstrumentor`, the instrumentor for the `httpx2` package. + # The OpenTelemetry packages release in lockstep and pin each other with `==`, so one floor covers the + # whole group. 0.65b0 (paired with 1.44.0 on the stable line) is the first release with + # `HTTPX2ClientInstrumentor`, the instrumentor for the `httpx2` package that `HttpxHttpClient` runs on. + "opentelemetry-api>=1.44.0", + "opentelemetry-distro[otlp]>=0.65b0", + "opentelemetry-instrumentation>=0.65b0", "opentelemetry-instrumentation-httpx>=0.65b0", - "opentelemetry-sdk>=1.34.1", - "opentelemetry-semantic-conventions>=0.54b0", + "opentelemetry-sdk>=1.44.0", + "opentelemetry-semantic-conventions>=0.65b0", "wrapt>=1.17.0", ] sql_postgres = [ diff --git a/uv.lock b/uv.lock index e791973318..2e7cfd2e9f 100644 --- a/uv.lock +++ b/uv.lock @@ -1159,12 +1159,12 @@ requires-dist = [ { name = "jaro-winkler", marker = "extra == 'adaptive-crawler'", specifier = ">=2.0.3" }, { name = "lxml", extras = ["html-clean"], marker = "extra == 'pydantic-ai'", specifier = ">=5.2.0" }, { name = "more-itertools", specifier = ">=10.2.0" }, - { name = "opentelemetry-api", marker = "extra == 'otel'", specifier = ">=1.34.1" }, - { name = "opentelemetry-distro", extras = ["otlp"], marker = "extra == 'otel'", specifier = ">=0.54b0" }, - { name = "opentelemetry-instrumentation", marker = "extra == 'otel'", specifier = ">=0.54b0" }, + { name = "opentelemetry-api", marker = "extra == 'otel'", specifier = ">=1.44.0" }, + { name = "opentelemetry-distro", extras = ["otlp"], marker = "extra == 'otel'", specifier = ">=0.65b0" }, + { name = "opentelemetry-instrumentation", marker = "extra == 'otel'", specifier = ">=0.65b0" }, { name = "opentelemetry-instrumentation-httpx", marker = "extra == 'otel'", specifier = ">=0.65b0" }, - { name = "opentelemetry-sdk", marker = "extra == 'otel'", specifier = ">=1.34.1" }, - { name = "opentelemetry-semantic-conventions", marker = "extra == 'otel'", specifier = ">=0.54b0" }, + { name = "opentelemetry-sdk", marker = "extra == 'otel'", specifier = ">=1.44.0" }, + { name = "opentelemetry-semantic-conventions", marker = "extra == 'otel'", specifier = ">=0.65b0" }, { name = "parsel", marker = "extra == 'parsel'", specifier = ">=1.10.0" }, { name = "parsel", marker = "extra == 'pydantic-ai'", specifier = ">=1.10.0" }, { name = "playwright", marker = "extra == 'adaptive-crawler'", specifier = ">=1.27.0" }, From dd5083588cef17a6a690f74a2327005aa8d820b4 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Wed, 16 Sep 2026 14:07:01 +0200 Subject: [PATCH 4/4] chore(deps): Drop the comment from the otel extra --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b9152dc403..640f87d262 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,9 +71,6 @@ httpx = ["httpx2[brotli,http2,zstd]>=2.12.0", "apify_fingerprint_datapoints>=0.0 parsel = ["parsel>=1.10.0"] playwright = ["playwright>=1.27.0", "apify_fingerprint_datapoints>=0.0.2", "browserforge>=1.2.3"] otel = [ - # The OpenTelemetry packages release in lockstep and pin each other with `==`, so one floor covers the - # whole group. 0.65b0 (paired with 1.44.0 on the stable line) is the first release with - # `HTTPX2ClientInstrumentor`, the instrumentor for the `httpx2` package that `HttpxHttpClient` runs on. "opentelemetry-api>=1.44.0", "opentelemetry-distro[otlp]>=0.65b0", "opentelemetry-instrumentation>=0.65b0",