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

Emit warnings for deprecated usages #1149

Open
mattias-p opened this issue Feb 6, 2024 · 0 comments
Open

Emit warnings for deprecated usages #1149

mattias-p opened this issue Feb 6, 2024 · 0 comments

Comments

@mattias-p
Copy link
Member

mattias-p commented Feb 6, 2024

Today we only communicate deprecated RPCAPI features through the RPCAPI documentation and the release notes. For an API user to realize that they're currently using one or more deprecated API features they need to know exactly which API features they're actually using and compare that to the documentation. This is not a reasonable assumption. This issue is about providing a better user experience.

  • Describe in the RPCAPI documentation how warnings may be included in RPCAPI responses. Recommend that clients detect and log (or otherwise communicate) warnings emitted through this channel.
    E.g. the "result" object of all RPCAPI responses could have an optional "warnings"-property with a non-empty list of human readable warning message strings. (By giving it a generic name like "warnings" we can reuse it later for some other kind of warnings should the need arise.)
  • Update the instructions for writing release notes to advertise that clients should support the warnings channel.
  • In the deprecation policy prescribe that when an RPCAPI feature is deprecated, usage of that feature should be detected and emit a warning in the response.
  • For each RPCAPI feature that is currently deprecated, update it according to the deprecation policy.

Stabilization

Tracking issue

Affected interfaces

Compatibly changed:

  • All RPCAPI methods

Dependencies

None

Overlapping proposals

None

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

No branches or pull requests

1 participant