Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lmolkova opened this issue Aug 27, 2024 · 0 comments
Labels
bug Something isn't working tooling Regarding build, workflows, build-tools, ...

Comments

@lmolkova
Copy link
Contributor

lmolkova commented Aug 27, 2024

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.

@lmolkova lmolkova added bug Something isn't working tooling Regarding build, workflows, build-tools, ... labels Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working tooling Regarding build, workflows, build-tools, ...
Projects
Development

No branches or pull requests

2 participants