Skip to content

Fix #4474: Widen OpenTelemetry version constraints to resolve dependency conflicts#4475

Open
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1770972844-fix-opentelemetry-version-constraints
Open

Fix #4474: Widen OpenTelemetry version constraints to resolve dependency conflicts#4475
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1770972844-fix-opentelemetry-version-constraints

Conversation

@devin-ai-integration
Copy link
Contributor

Fix #4474: Widen OpenTelemetry version constraints to >=1.34.0,<2

Summary

The opentelemetry-api, opentelemetry-sdk, and opentelemetry-exporter-otlp-proto-http dependencies were pinned to ~=1.34.0 (i.e. >=1.34.0, <1.35.0). This prevented coinstallation with libraries like google-adk which require opentelemetry-api>=1.36.0.

This PR widens the constraints to >=1.34.0,<2, matching the pattern used by other crewAI dependencies (e.g. openai>=1.83.0,<3). The OpenTelemetry APIs used by crewAI (trace, baggage, context, SDK resources, TracerProvider, BatchSpanProcessor, OTLPSpanExporter) are stable public APIs within the 1.x line.

A new test file test_opentelemetry_compatibility.py is added with 6 tests covering import functionality, version floor checks, and Telemetry singleton initialization.

Review & Testing Checklist for Human

  • Verify the upper bound <2 is acceptable — the previous pin ~=1.34.0 was very conservative. Consider whether a tighter bound like <1.40 would be more appropriate to reduce risk of future breakage from an unknown OTel 1.x release.
  • Note that the tests don't validate forward compatibility — the added tests verify the currently-resolved OTel version works, but don't actually install or test with 1.36+/1.38+ versions. The resolver may still pick 1.34.x. To truly validate, manually test with pip install opentelemetry-api==1.38.0 opentelemetry-sdk==1.38.0 opentelemetry-exporter-otlp-proto-http==1.38.0 and run the telemetry test suite.
  • Confirm uv.lock diff is clean — only the three specifier lines should change in uv.lock; no unintended version bumps of resolved packages.

Notes

)

The opentelemetry-api, opentelemetry-sdk, and opentelemetry-exporter-otlp-proto-http
dependencies were pinned to ~=1.34.0 (>=1.34.0,<1.35.0), which conflicts with
google-adk and other libraries requiring >=1.36.0.

Widened to >=1.34.0,<2 to allow compatible newer versions while staying within
the stable 1.x API.

Co-Authored-By: João <joao@crewai.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Unable to use latest version of crewai[tools] with google-adk due to dependency conflict

0 participants