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

Provide the mechanism for the API deprecation #32

Open
XVilka opened this issue Feb 18, 2021 · 5 comments
Open

Provide the mechanism for the API deprecation #32

XVilka opened this issue Feb 18, 2021 · 5 comments

Comments

@XVilka
Copy link
Member

XVilka commented Feb 18, 2021

While we are before the 1.x versions, it's relatively safe to change the API as we wish. On the other hand, after releasing the 1.x version it will be no longer the case. Thus I propose the way to deprecate the API:

  • Define the deprecation window. Usually it's 1 after 1 major release: 1st one will be deprecating the API, 2nd will remove the deprecated API
  • Separate those APIs as the wrappers of the newer API whenever possible
  • Mark them somehow in the function signature - RZ_DEPRECATED macro or something similar
  • Add a preprocessor/compiler warning, e.g. #warning that will make the developers who use this API to notice
  • If there will be non-C bindings provide the similar mechanisms to warn the developer too
@ret2libc
Copy link
Member

The API will be the commands so this does not apply. However, we can add a deprecated bool to each command descriptor to mark it as deprecated.

We could also have an experimental bool to clearly show users commands that were recently added and might not be completely stable yet

@stale
Copy link

stale bot commented Aug 25, 2021

This issue has been automatically marked as stale because it has not had recent activity. Considering a lot has probably changed since its creation, we kindly ask you to check again if the issue you reported is still relevant in the current version of rizin. If it is, update this issue with a comment, otherwise it will be automatically closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 25, 2021
@ret2libc ret2libc removed the stale label Aug 26, 2021
@stale
Copy link

stale bot commented Feb 28, 2022

This issue has been automatically marked as stale because it has not had recent activity. Considering a lot has probably changed since its creation, we kindly ask you to check again if the issue you reported is still relevant in the current version of rizin. If it is, update this issue with a comment, otherwise it will be automatically closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 28, 2022
@stale
Copy link

stale bot commented Apr 29, 2022

This issue has been automatically closed because marked as stale and it has not been updated since then. If the issue is still relevant, feel free to re-open it or open a new one.

@stale stale bot closed this as completed Apr 29, 2022
@XVilka XVilka reopened this Apr 29, 2022
@stale stale bot removed the stale label Apr 29, 2022
@XVilka XVilka transferred this issue from rizinorg/rizin May 1, 2022
@XVilka
Copy link
Member Author

XVilka commented Jul 7, 2022

@wingdeans it might be of interest for you as well.

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

No branches or pull requests

2 participants