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

Lifecycle annotations #3259

Closed
jariji opened this issue Dec 29, 2022 · 5 comments · Fixed by #3262
Closed

Lifecycle annotations #3259

jariji opened this issue Dec 29, 2022 · 5 comments · Fixed by #3262
Labels
ecosystem Issues in DataFrames.jl ecosystem
Milestone

Comments

@jariji
Copy link
Contributor

jariji commented Dec 29, 2022

https://lifecycle.r-lib.org/articles/stages.html

Whenever a function is released, a problem is often spotted soon afterwards. I propose lifecycle annotations to allow breaking changes to released "experimental" functions.

@bkamins bkamins added this to the patch milestone Dec 29, 2022
@bkamins bkamins added the ecosystem Issues in DataFrames.jl ecosystem label Dec 29, 2022
@bkamins
Copy link
Member

bkamins commented Dec 29, 2022

This is a good proposal. We did something of this kind for metadata (now we could formalize it) + e.g. new functions introduced in #3258 could be annotated in the same way.

I wonder if we could also consider not only whole functions but also added arguments to existing functions in the same way (I would do it).

@nalimilan - what do you think? If we agree here I would make an appropriate PR explaining our policy.

@nalimilan
Copy link
Member

Why not. But I think we should use this only when really necessary, or the result will just be that our new APIs cannot be relied upon. Users want their code to continue to work in future releases, and the fact that they have been warned that a function may break doesn't make it less painful to update the code when breakage happens. As the doc says:

Breaking a popular function, even if clearly labelled as experimental, is likely to cause widespread pain so we’ll generally try to avoid it.

@bkamins
Copy link
Member

bkamins commented Jan 2, 2023

see #3262

@jariji
Copy link
Contributor Author

jariji commented Jan 6, 2023

What do you think about putting these icons on new functions?
image

"new APIs cannot be relied upon" doesn't seem that bad to me, relative to "untried APIs locked in forever".

@bkamins
Copy link
Member

bkamins commented Jan 6, 2023

Let us discuss case by case when we add new functions if this is needed. Although we allow this "experimental" status, as discussed in the explanation, we do not want to do it lightly. Rather I would prefer to put such (or similar) label only in places where we feel we are not 100% sure we are having a right design.

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

Successfully merging a pull request may close this issue.

3 participants