From 038146fdc7a515937398f226531ef15d2674b3b9 Mon Sep 17 00:00:00 2001 From: David Tucker Date: Sun, 7 Jan 2018 08:32:36 -0800 Subject: Add a Versioning section to the API stability docs (#4027) --- docs/api-stability.rst | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'docs/api-stability.rst') diff --git a/docs/api-stability.rst b/docs/api-stability.rst index 2bb53841..205b1844 100644 --- a/docs/api-stability.rst +++ b/docs/api-stability.rst @@ -34,18 +34,34 @@ 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 +* In ``cryptography X.Y + 0.1`` using that feature will emit a ``UserWarning``. -* In ``cryptography X.Y+2`` using that feature will emit a +* In ``cryptography X.Y + 0.2`` using that feature will emit a ``UserWarning``. -* In ``cryptography X.Y+3`` the feature will be removed or changed. +* 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. -- cgit v1.2.3