diff options
Diffstat (limited to 'docs/api-stability.rst')
| -rw-r--r-- | docs/api-stability.rst | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/docs/api-stability.rst b/docs/api-stability.rst index 53669b0f..205b1844 100644 --- a/docs/api-stability.rst +++ b/docs/api-stability.rst @@ -34,18 +34,38 @@ One exception to our API stability policy is for security. We will violate this policy as necessary in order to resolve a security issue or harden ``cryptography`` against a possible attack. +Versioning +---------- + +This project uses a custom versioning scheme as described below. + +Given a version ``cryptography X.Y.Z``, + +* ``X.Y`` is a decimal number that is incremented for + potentially-backwards-incompatible releases. + + * This increases like a standard decimal. + In other words, 0.9 is the ninth release, and 1.0 is the tenth (not 0.10). + The dividing decimal point can effectively be ignored. + +* ``Z`` is an integer that is incremented for backward-compatible releases. + Deprecation ------------ +~~~~~~~~~~~ From time to time we will want to change the behavior of an API or remove it entirely. In that case, here's how the process will work: * In ``cryptography X.Y`` the feature exists. -* In ``cryptography X.Y+1`` using that feature will emit a - ``PendingDeprecationWarning``. -* In ``cryptography X.Y+2`` using that feature will emit a - ``DeprecationWarning``. -* In ``cryptography X.Y+3`` the feature will be removed or changed. +* In ``cryptography X.Y + 0.1`` using that feature will emit a + ``UserWarning``. +* In ``cryptography X.Y + 0.2`` using that feature will emit a + ``UserWarning``. +* In ``cryptography X.Y + 0.3`` the feature will be removed or changed. In short, code that runs without warnings will always continue to work for a period of two releases. + +From time to time, we may decide to deprecate an API that is particularly +widely used. In these cases, we may decide to provide an extended deprecation +period, at our discretion. |
