summaryrefslogtreecommitdiff
path: root/docs/build/front.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/build/front.rst')
-rw-r--r--docs/build/front.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/build/front.rst b/docs/build/front.rst
index f4eb660..5ca73e5 100644
--- a/docs/build/front.rst
+++ b/docs/build/front.rst
@@ -89,6 +89,34 @@ Alembic supports Python versions **3.7 and above**
.. versionchanged:: 1.7 Alembic now supports Python 3.6 and newer; support
for Python 2.7 has been dropped.
+.. _versioning_scheme:
+
+Versioning Scheme
+-----------------
+
+Alembic's versioning scheme is based on that of
+`SQLAlchemy's versioning scheme <https://www.sqlalchemy.org/download.html#versions>`_.
+In particular, it should be noted that while Alembic uses a three-number
+versioning scheme, it **does not use SemVer**. In SQLAlchemy and Alembic's
+scheme, **the middle digit is considered to be a "Significant Minor Release",
+which may include removal of previously deprecated APIs with some risk of
+non-backwards compatibility in a very small number of cases**.
+
+This means that version "1.8.0", "1.9.0", "1.10.0", "1.11.0", etc. are
+**Significant Minor Releases**, which will include new API features and may
+remove or modify existing ones.
+
+Therefore, when `pinning <https://pip.pypa.io/en/stable/topics/repeatable-installs/>`_
+Alembic releases, pin to the "major" and "minor" digits to avoid API changes.
+
+A true "Major" release such as a change to "2.0" would include complete
+redesigns/re-architectures of foundational features; currently no such series
+of changes are planned, although changes such as replacing the entire
+"autogenerate" scheme with a new approach would qualify for that level of
+change.
+
+
+
Community
=========