-
Notifications
You must be signed in to change notification settings - Fork 139
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
Parcels versioning and deprecation policy #1681
Comments
Yes, I like it! |
Thinking of removing this line, and replacing with the following:
details if we really need to deprecate classes/modules
I found that its possible to have similar deprecation behaviour for classes, and we can also do the same for modules by renaming the module, and creating a dummy module file that raises warning in the module if people try import directly from it. This gives us more flexibility :') |
If you have feedback about these policies, please let us know. We can still update them before v3.1.0 is released. |
I propose for us to formalise our versioning and deprecation policy for Parcels. This formalisation allows us to form a social contract with users, clearly communicating what they can expect in terms of compatibility of their code with future versions of Parcels. This formalisation also sets guidelines for development of the project, bringing active consideration to backwards compatibility and deprecations.
Our deprecation and versioning policy will be mentioned in our documentation.
Proposed policy:
Parcels, as of v3.1.0, has adopted versioning and deprecation policies.
Versioning
Parcels mostly follows semantic versioning, where the version number (e.g., v2.1.0) is thought of as
MAJOR.MINOR.PATCH
.Parcels doesn't implement strict backwards compatibility between minor versions. We may make small changes that deprecate elements of the codebase (e.g., an obscure parameter that is no longer needed). Such deprecations will follow our deprecation policy.
Note when conducting research we highly recommend documenting which version of Parcels (and other packages) you are using. This can be as easy as doing
conda env export > environment.yml
alongside your project code.Deprecation policy
Deprecations in the Parcels codebase between minor releases will be handled using the following 6-month timeline:
NotImplementedError
.These changes will be communicated in release notes.
Note that objects and modules won't be deprecated between minor releases.
Deprecations between major releases can be done at will as API changes are already expected.
If the community as a whole has any feedback on this, please comment below.
The text was updated successfully, but these errors were encountered: