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

RFC: Official deprecation policy #6669

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions doc/manual/packages.rst
Original file line number Diff line number Diff line change
Expand Up @@ -532,3 +532,19 @@ various releases of Julia. Examples of runtime checks::
VERSION >= v"0.2.1" #get at least version 0.2.1

See the section on :ref:`version number literals <man-version-number-literals>` for a more complete description.


Deprecating Packages
--------------------

Some packages may eventually become unnecessary, be absorbed by other packages, or a simply not maintained.
Removing a package from METADATA suddenly may cause issues for users who have the package installed either
directly or as a dependency of another package. The following is the correct procedure for removing a package
from METADATA:

1. Tag a new release with an Julia version upper-bound equal to the current Julia release/pre-release ??? version.
For example, if the package currently requires at least Julia 0.2 and the current release is Julia 0.4,
the version dependency should be listed as ``julia 0.2 0.4``.
2. When a new stable version of Julia is released, all packages with a maximum version restriction that is
one/two ??? minor releases behind will be removed from METADATA. For example, the package we just described
would be removed from METADATA when Julia 0.5/0.6 is released.