Skip to content

[Feature]: Use #[deprecated] attributes on older interfaces vs. breaking removals #2645

Open
@clux

Description

@clux

Related Problems?

About every month or two there seems to be a dependency PR that gets stuck in every repo that uses otel because every release there's some major breaking change.

If you instead had kept the older fn interfaces for a few versions rather than blanket renaming it, we could tackle deprecations as warnings when we are actually at the source location, working on the application, with inline warnings that pop up in our editor. Something that is much easier than filtering 3 pages of compile errors from like 3 otel crates through a migration guide (if there is one). Particularly because you never know if you can truly tackle all the compile errors anyway because if you depend on something unreleased like tracing-opentelemetry, then your upgrade will likely fail anyway until they release.

Describe the solution you'd like:

Follow some kind of deprecation strategy, and remove the older interfaces at later times. This allows less breaking releases, which should also allow less need for dependencies to chase, and upgrade. I realise you plan on doing a 1.0, but that's still 15mo away.

Considered Alternatives

Being slightly annoyed at otel every release.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-commonArea:common issues that not related to specific pillar

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions