Skip to content

Add policy to check that attribute does not change the type during/after deprecation. #1369

@lmolkova

Description

@lmolkova

In #913 (released with v1.26.0) we

  • deprecated messaging.operation in favor of messaging.operation.type
  • changed its type from enum (of strings) to string

As a result generated code no longer produces enum for old messaging operations which is a breaking change.

We do have a back-compat check for attribute types, but it applies to stable attributes only (messaging.* is experimental).

We do allow changing type of experimental attributes, i.e. semconv artifacts that include experimental conventions MUST be experimental.


If we just changed the type, there would be nothing(?) we could do to prevent breaking. Perhaps we could have some notification mechanism?

But we also deprecated the attribute, so we can expand our back-compat validation to deprecated attributes as well - this will preserve enums and their values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtoolingRegarding build, workflows, build-tools, ...

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions