From 5e5232c10f27837aac90ec25ba828010cf041330 Mon Sep 17 00:00:00 2001 From: Daniel Dale Date: Thu, 21 Aug 2025 17:40:01 -0700 Subject: [PATCH 1/4] Update versioning governance document per discussion in #21073 --- docs/source-pytorch/versioning.rst | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/source-pytorch/versioning.rst b/docs/source-pytorch/versioning.rst index 948986d5699ed..bd1d47834dc35 100644 --- a/docs/source-pytorch/versioning.rst +++ b/docs/source-pytorch/versioning.rst @@ -53,12 +53,8 @@ API Evolution Lightning's development is driven by research and best practices in a rapidly developing field of AI and machine learning. Change is inevitable and when it happens, the Lightning team is committed to minimizing user friction and maximizing ease of transition from one version to the next. We take backwards compatibility and reproducibility very seriously. -For API removal, renaming or other forms of backwards-incompatible changes, the procedure is: - -#. A deprecation process is initiated at a minor version ``MAJOR.MINOR.PATCH`` (e.g. ``1.5.0``), producing a deprecation warning at runtime and removing it from the documentation. -#. The deprecated API remains unchanged during the deprecation phase for two minor versions or the next major update, whichever comes first. -#. The breaking change is done in version ``MAJOR.(MINOR+2).0`` (e.g. ``1.7.0``), or ``(MAJOR+1).0.0`` (e.g. ``2.0.0``), whichever comes first. -#. From that version onward, the deprecation warning gets converted into a helpful error, which will remain until next major release. +Excepting extenuating circumstances (e.g. a critical bug), API removal, renaming or other forms of backwards-incompatible changes are limited to major version upgrades — that is ``(MAJOR+1).0.0``. +Concretely, a breaking change for an API introduced in ``2.x.x`` can be introduced with Lightning ``3.0.0``. This policy is not strict. Shorter or longer deprecation cycles may apply to some cases. For example, in the past DDP2 was removed without a deprecation process because the feature was broken and unusable beyond fixing as discussed in `#12584 `_. @@ -69,6 +65,7 @@ Compatibility matrix PyTorch Lightning follows `NEP 29 `_ which PyTorch also follows (`#74203 `_). The table below indicates the coverage of tested versions in our CI. Versions outside the ranges may unofficially work in some cases. +Since the release of PyTorch `2.0`, Lightning strives to officially support the latest 5 PyTorch minor releases with no intra-major version breaking changes [1]_. .. list-table:: :header-rows: 1 @@ -82,7 +79,7 @@ The table below indicates the coverage of tested versions in our CI. Versions ou * - 2.5 - 2.5 - 2.5 - - ≥2.1, ≤2.7 + - ≥2.1, ≤2.8 - ≥0.7.0 - ≥3.9, ≤3.12 * - 2.4 @@ -181,3 +178,5 @@ The table below indicates the coverage of tested versions in our CI. Versions ou \*\* The joint ``lightning`` package was first published in version 1.8 \*\*\* Fabric is the evolution of ``LightningLite`` which was released inside ``pytorch_lightning`` 1.5 and was decoupled to a separate package in v1.9 + +.. [1] See `this community discussion `_. From 8211c309e1f50d372dafeca12fb1b65e5060be42 Mon Sep 17 00:00:00 2001 From: Dan Dale Date: Thu, 21 Aug 2025 17:57:26 -0700 Subject: [PATCH 2/4] Update docs/source-pytorch/versioning.rst simplify language Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/source-pytorch/versioning.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source-pytorch/versioning.rst b/docs/source-pytorch/versioning.rst index bd1d47834dc35..fa6d92e0b9474 100644 --- a/docs/source-pytorch/versioning.rst +++ b/docs/source-pytorch/versioning.rst @@ -65,7 +65,7 @@ Compatibility matrix PyTorch Lightning follows `NEP 29 `_ which PyTorch also follows (`#74203 `_). The table below indicates the coverage of tested versions in our CI. Versions outside the ranges may unofficially work in some cases. -Since the release of PyTorch `2.0`, Lightning strives to officially support the latest 5 PyTorch minor releases with no intra-major version breaking changes [1]_. +Since the release of PyTorch `2.0`, Lightning strives to officially support the latest 5 PyTorch minor releases with no breaking changes within major versions [1]_. .. list-table:: :header-rows: 1 From e164a2084fe15416064ea2275985c61429217b71 Mon Sep 17 00:00:00 2001 From: Dan Dale Date: Fri, 22 Aug 2025 08:11:17 -0700 Subject: [PATCH 3/4] Update docs/source-pytorch/versioning.rst Co-authored-by: Jirka Borovec <6035284+Borda@users.noreply.github.com> --- docs/source-pytorch/versioning.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source-pytorch/versioning.rst b/docs/source-pytorch/versioning.rst index fa6d92e0b9474..bda3b44acd07a 100644 --- a/docs/source-pytorch/versioning.rst +++ b/docs/source-pytorch/versioning.rst @@ -79,7 +79,7 @@ Since the release of PyTorch `2.0`, Lightning strives to officially support the * - 2.5 - 2.5 - 2.5 - - ≥2.1, ≤2.8 + - ≥2.1, (last tested 2.8) - ≥0.7.0 - ≥3.9, ≤3.12 * - 2.4 From b98a96b355401c064d60064a6c25c2c36819dc22 Mon Sep 17 00:00:00 2001 From: Jirka Borovec <6035284+Borda@users.noreply.github.com> Date: Wed, 27 Aug 2025 14:36:54 +0200 Subject: [PATCH 4/4] Refine versioning details in versioning.rst Updated versioning information with last tested versions for various dependencies. --- docs/source-pytorch/versioning.rst | 62 +++++++++++++++--------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/source-pytorch/versioning.rst b/docs/source-pytorch/versioning.rst index bda3b44acd07a..4a04bd1534de9 100644 --- a/docs/source-pytorch/versioning.rst +++ b/docs/source-pytorch/versioning.rst @@ -81,97 +81,97 @@ Since the release of PyTorch `2.0`, Lightning strives to officially support the - 2.5 - ≥2.1, (last tested 2.8) - ≥0.7.0 - - ≥3.9, ≤3.12 + - ≥3.9, (last tested 3.12) * - 2.4 - 2.4 - 2.4 - - ≥2.1, ≤2.6 + - ≥2.1, (last tested 2.6) - ≥0.7.0 - - ≥3.9, ≤3.12 + - ≥3.9, (last tested 3.12) * - 2.3 - 2.3 - 2.3 - - ≥2.0, ≤2.3 + - ≥2.0, (last tested 2.3) - ≥0.7.0 - - ≥3.8, ≤3.11 + - ≥3.8, (last tested 3.11) * - 2.2 - 2.2 - 2.2 - - ≥1.13, ≤2.2 + - ≥1.13, (last tested 2.2) - ≥0.7.0 - - ≥3.8, ≤3.11 + - ≥3.8, (last tested 3.11) * - 2.1 - 2.1 - 2.1 - - ≥1.12, ≤2.1 + - ≥1.12, (last tested 2.1) - ≥0.7.0 - - ≥3.8, ≤3.11 + - ≥3.8, (last tested 3.11) * - 2.0 - 2.0 - 2.0 (GA) - - ≥1.11, ≤2.0 + - ≥1.11, (last tested 2.0) - ≥0.7.0 - - ≥3.8, ≤3.10 + - ≥3.8, (last tested 3.10) * - 1.9 - 1.9 - 1.9 (experimental) - - ≥1.10, ≤1.13 + - ≥1.10, (last tested 1.13) - ≥0.7.0 - - ≥3.7, ≤3.10 + - ≥3.7, (last tested 3.10) * - 1.8** - 1.8 - n/a*** - - ≥1.10, ≤1.13 + - ≥1.10, (last tested 1.13) - ≥0.7.0 - - ≥3.7, ≤3.10 + - ≥3.7, (last tested 3.10) * - n/a - 1.7 - n/a*** - - ≥1.9, ≤1.12 + - ≥1.9, (last tested 1.12) - ≥0.7.0 - - ≥3.7, ≤3.10 + - ≥3.7, (last tested 3.10) * - n/a - 1.6 - n/a*** - - ≥1.8, ≤1.11 + - ≥1.8, (last tested 1.11) - ≥0.4.1 - - ≥3.7, ≤3.9 + - ≥3.7, (last tested 3.9) * - n/a - 1.5 - n/a*** - - ≥1.7, ≤1.10 + - ≥1.7, (last tested 1.10) - ≥0.4.1 - - ≥3.6, ≤3.9 + - ≥3.6, (last tested 3.9) * - n/a - 1.4 - n/a - - ≥1.6, ≤1.9 + - ≥1.6, (last tested 1.9) - ≥0.4.0 - - ≥3.6, ≤3.9 + - ≥3.6, (last tested 3.9) * - n/a - 1.3 - n/a - - ≥1.4, ≤1.8 + - ≥1.4, (last tested 1.8) - ≥0.2.0 - - ≥3.6, ≤3.9 + - ≥3.6, (last tested 3.9) * - n/a - 1.2 - n/a - - ≥1.4, ≤1.8 + - ≥1.4, (last tested 1.8) - n/a* - - ≥3.6, ≤3.8 + - ≥3.6, (last tested 3.8) * - n/a - 1.1 - n/a - - ≥1.3, ≤1.8 + - ≥1.3, (last tested 1.8) - n/a* - - ≥3.6, ≤3.8 + - ≥3.6, (last tested 3.8) * - n/a - 1.0 - n/a - - ≥1.3, ≤1.7 + - ≥1.3, (last tested 1.7) - n/a* - - ≥3.6, ≤3.8 + - ≥3.6, (last tested 3.8) \* ``torchmetrics`` was part of ``pytorch_lightning`` at the time and was decoupled to a separate package in v1.3.