-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Deprecation Julep #51
Comments
Sorry if this is a little unrelated to the question in the issue description, but on the topic of deprecations, I was wondering whether it would be a good idea to centralize the process a bit more. Currently:
Are people happy with this procedure? Perhaps developer overhead could be reduced by centralizing these in JuliaLang/julia. |
That certainly seems like it should be within scope of the Julep. |
It seems to me that by its nature Compat.jl needs to be versioned separately from JuliaLang/julia. Deprecations.jl could be moved though. What I think we need is the ability to add deprecations at any time, but have them be silent by default (either by making How about this: in 2.0-alpha we turn all deprecations from silent to noisy. Then we try to have a fairly long alpha, beta and RC process. In 2.0.0-final, type (2) deprecations are removed to expose the new behaviors. Type (1) deprecations remain, and are removed in 3.0-alpha. So in general:
|
In fact I suspect we do need a silent deprecation mechanism (which might consist only of marking things as such in the documentation), since changing the code in any way (e.g. to call |
Alternate proposal is to have deprecations in 2.0-final and then deleting the deprecations in 2.1 and adding the changed behaviors then. I know that's a bit less satisfying but we've also seen that people keep asking about names/behaviors that changed because they're skipping 0.7 and going straight to 1.0. |
@simonbyrne your option 1 would violate "semantic versioning" principle of backwards compatibility for major releases right? Or am I misreading? |
It seems to me people would be even more annoyed if going from 2.0 to 2.1 were breaking, instead of just 2.0 being breaking. |
Here is the semver statement: https://semver.org/#how-should-i-handle-deprecating-functionality |
From #51 (comment):
This would mean that these type-2 deprs never error, as they did until now, right? Would it make sense to also have a |
I wrote that they would error in (N+1).0-alpha |
Also within scope is the stability of experimental features, and the role of the Future.jl stdlib. |
I've often imagined doing |
We need an explicit policy for how deprecations will be handled post-1.0. Some options are:
--depwarn=no
by default.We can use this issue for preliminary discussion until the appropriate Julep is written.
The text was updated successfully, but these errors were encountered: