diff --git a/spec-0000/SPEC0_versions.py b/spec-0000/SPEC0_versions.py index 094216e0..5d3ab805 100644 --- a/spec-0000/SPEC0_versions.py +++ b/spec-0000/SPEC0_versions.py @@ -89,6 +89,13 @@ def get_release_dates(package, support_time=plus24): return releases +def shift_drop_dates(p): + versions = list(p.keys()) + for i in range(len(versions) - 1): + p[versions[i]]["drop_date"] = p[versions[i + 1]]["drop_date"] + return p + + package_releases = { "python": { version: { @@ -111,6 +118,11 @@ def get_release_dates(package, support_time=plus24): for package, releases in package_releases.items() } +# FIXME: This should appear before the above line, but it is temporarily here. +package_releases = { + package: shift_drop_dates(releases) + for package, releases in package_releases.items() +} # Save Gantt chart diff --git a/spec-0000/chart.md b/spec-0000/chart.md index 1f13b4be..209d24c8 100644 --- a/spec-0000/chart.md +++ b/spec-0000/chart.md @@ -4,133 +4,136 @@ axisFormat %m / %Y title Support Window section python -3.10 : 2021-10-04,2024-10-03 -3.11 : 2022-10-24,2025-10-23 -3.12 : 2023-10-02,2026-10-01 +3.10 : 2021-10-04,2025-10-23 +3.11 : 2022-10-24,2026-10-01 +3.12 : 2023-10-02,2027-10-07 3.13 : 2024-10-07,2027-10-07 section numpy -1.24.0 : 2022-12-18,2024-12-17 -1.25.0 : 2023-06-17,2025-06-16 -1.26.0 : 2023-09-16,2025-09-15 -2.0.0 : 2024-06-16,2026-06-16 -2.1.0 : 2024-08-18,2026-08-18 +1.24.0 : 2022-12-18,2025-06-16 +1.25.0 : 2023-06-17,2025-09-15 +1.26.0 : 2023-09-16,2026-06-16 +2.0.0 : 2024-06-16,2026-08-18 +2.1.0 : 2024-08-18,2026-12-08 2.2.0 : 2024-12-08,2026-12-08 section scipy -1.9.0 : 2022-07-29,2024-07-28 -1.10.0 : 2023-01-03,2025-01-02 -1.11.0 : 2023-06-25,2025-06-24 -1.12.0 : 2024-01-20,2026-01-19 -1.13.0 : 2024-04-02,2026-04-02 -1.14.0 : 2024-06-24,2026-06-24 +1.9.0 : 2022-07-29,2025-01-02 +1.10.0 : 2023-01-03,2025-06-24 +1.11.0 : 2023-06-25,2026-01-19 +1.12.0 : 2024-01-20,2026-04-02 +1.13.0 : 2024-04-02,2026-06-24 +1.14.0 : 2024-06-24,2027-01-03 1.15.0 : 2025-01-03,2027-01-03 section matplotlib -3.6.0 : 2022-09-16,2024-09-15 -3.7.0 : 2023-02-13,2025-02-12 -3.8.0 : 2023-09-15,2025-09-14 -3.9.0 : 2024-05-15,2026-05-15 +3.6.0 : 2022-09-16,2025-02-12 +3.7.0 : 2023-02-13,2025-09-14 +3.8.0 : 2023-09-15,2026-05-15 +3.9.0 : 2024-05-15,2026-12-14 3.10.0 : 2024-12-14,2026-12-14 section pandas -1.5.0 : 2022-09-19,2024-09-18 -2.0.0 : 2023-04-03,2025-04-02 -2.1.0 : 2023-08-30,2025-08-29 +1.5.0 : 2022-09-19,2025-04-02 +2.0.0 : 2023-04-03,2025-08-29 +2.1.0 : 2023-08-30,2026-01-19 2.2.0 : 2024-01-20,2026-01-19 section scikit-image -0.20.0 : 2023-02-28,2025-02-27 -0.21.0 : 2023-06-02,2025-06-01 -0.22.0 : 2023-10-03,2025-10-02 -0.23.0 : 2024-04-10,2026-04-10 -0.24.0 : 2024-06-18,2026-06-18 +0.20.0 : 2023-02-28,2025-06-01 +0.21.0 : 2023-06-02,2025-10-02 +0.22.0 : 2023-10-03,2026-04-10 +0.23.0 : 2024-04-10,2026-06-18 +0.24.0 : 2024-06-18,2026-12-13 0.25.0 : 2024-12-13,2026-12-13 section networkx -3.0 : 2023-01-08,2025-01-07 -3.1 : 2023-04-04,2025-04-03 -3.2 : 2023-10-19,2025-10-18 -3.3 : 2024-04-06,2026-04-06 +3.0 : 2023-01-08,2025-04-03 +3.1 : 2023-04-04,2025-10-18 +3.2 : 2023-10-19,2026-04-06 +3.3 : 2024-04-06,2026-10-10 3.4 : 2024-10-10,2026-10-10 section scikit-learn -1.2.0 : 2022-12-08,2024-12-07 -1.3.0 : 2023-06-30,2025-06-29 -1.4.0 : 2024-01-18,2026-01-17 -1.5.0 : 2024-05-21,2026-05-21 +1.2.0 : 2022-12-08,2025-06-29 +1.3.0 : 2023-06-30,2026-01-17 +1.4.0 : 2024-01-18,2026-05-21 +1.5.0 : 2024-05-21,2026-12-09 1.6.0 : 2024-12-09,2026-12-09 section xarray -2022.6.0 : 2022-07-22,2024-07-21 -2022.9.0 : 2022-09-29,2024-09-28 -2022.10.0 : 2022-10-13,2024-10-12 -2022.11.0 : 2022-11-04,2024-11-03 -2022.12.0 : 2022-12-02,2024-12-01 -2023.1.0 : 2023-01-18,2025-01-17 -2023.2.0 : 2023-02-07,2025-02-06 -2023.3.0 : 2023-03-22,2025-03-21 -2023.4.0 : 2023-04-14,2025-04-13 -2023.5.0 : 2023-05-19,2025-05-18 -2023.6.0 : 2023-06-23,2025-06-22 -2023.7.0 : 2023-07-17,2025-07-16 -2023.8.0 : 2023-08-20,2025-08-19 -2023.9.0 : 2023-09-26,2025-09-25 -2023.10.0 : 2023-10-19,2025-10-18 -2023.11.0 : 2023-11-17,2025-11-16 -2023.12.0 : 2023-12-08,2025-12-07 -2024.1.0 : 2024-01-17,2026-01-16 -2024.2.0 : 2024-02-19,2026-02-18 -2024.3.0 : 2024-03-29,2026-03-29 -2024.5.0 : 2024-05-13,2026-05-13 -2024.6.0 : 2024-06-13,2026-06-13 -2024.7.0 : 2024-07-30,2026-07-30 -2024.9.0 : 2024-09-11,2026-09-11 -2024.10.0 : 2024-10-24,2026-10-24 -2024.11.0 : 2024-11-22,2026-11-22 -2025.1.0 : 2025-01-03,2027-01-03 -2025.3.0 : 2025-03-20,2027-03-20 +2022.6.0 : 2022-07-22,2024-09-28 +2022.9.0 : 2022-09-29,2024-10-12 +2022.10.0 : 2022-10-13,2024-11-03 +2022.11.0 : 2022-11-04,2024-12-01 +2022.12.0 : 2022-12-02,2025-01-17 +2023.1.0 : 2023-01-18,2025-02-06 +2023.2.0 : 2023-02-07,2025-03-21 +2023.3.0 : 2023-03-22,2025-04-13 +2023.4.0 : 2023-04-14,2025-05-18 +2023.5.0 : 2023-05-19,2025-06-22 +2023.6.0 : 2023-06-23,2025-07-16 +2023.7.0 : 2023-07-17,2025-08-19 +2023.8.0 : 2023-08-20,2025-09-25 +2023.9.0 : 2023-09-26,2025-10-18 +2023.10.0 : 2023-10-19,2025-11-16 +2023.11.0 : 2023-11-17,2025-12-07 +2023.12.0 : 2023-12-08,2026-01-16 +2024.1.0 : 2024-01-17,2026-02-18 +2024.2.0 : 2024-02-19,2026-03-29 +2024.3.0 : 2024-03-29,2026-05-13 +2024.5.0 : 2024-05-13,2026-06-13 +2024.6.0 : 2024-06-13,2026-07-30 +2024.7.0 : 2024-07-30,2026-09-11 +2024.9.0 : 2024-09-11,2026-10-24 +2024.10.0 : 2024-10-24,2026-11-22 +2024.11.0 : 2024-11-22,2027-01-03 +2025.1.0 : 2025-01-03,2027-03-20 +2025.3.0 : 2025-03-20,2027-04-29 +2025.4.0 : 2025-04-29,2027-04-29 section ipython -8.5.0 : 2022-09-06,2024-09-05 -8.6.0 : 2022-10-30,2024-10-29 -8.7.0 : 2022-11-28,2024-11-27 -8.8.0 : 2023-01-03,2025-01-02 -8.9.0 : 2023-01-27,2025-01-26 -8.10.0 : 2023-02-10,2025-02-09 -8.11.0 : 2023-02-28,2025-02-27 -8.12.0 : 2023-03-30,2025-03-29 -8.13.0 : 2023-04-28,2025-04-27 -8.14.0 : 2023-06-02,2025-06-01 -8.15.0 : 2023-09-01,2025-08-31 -8.16.0 : 2023-09-29,2025-09-28 -8.17.0 : 2023-10-30,2025-10-29 -8.18.0 : 2023-11-24,2025-11-23 -8.19.0 : 2023-12-22,2025-12-21 -8.20.0 : 2024-01-08,2026-01-07 -8.21.0 : 2024-01-31,2026-01-30 -8.22.0 : 2024-02-22,2026-02-21 -8.23.0 : 2024-03-31,2026-03-31 -8.24.0 : 2024-04-26,2026-04-26 -8.25.0 : 2024-05-31,2026-05-31 -8.26.0 : 2024-06-28,2026-06-28 -8.27.0 : 2024-08-30,2026-08-30 -8.28.0 : 2024-10-02,2026-10-02 -8.29.0 : 2024-10-25,2026-10-25 -8.30.0 : 2024-11-29,2026-11-29 -8.31.0 : 2024-12-20,2026-12-20 -8.32.0 : 2025-01-31,2027-01-31 -8.33.0 : 2025-02-28,2027-02-28 -8.34.0 : 2025-03-08,2027-03-08 -8.35.0 : 2025-04-07,2027-04-07 -9.0.0 : 2025-02-28,2027-02-28 -9.1.0 : 2025-04-07,2027-04-07 +8.5.0 : 2022-09-06,2024-10-29 +8.6.0 : 2022-10-30,2024-11-27 +8.7.0 : 2022-11-28,2025-01-02 +8.8.0 : 2023-01-03,2025-01-26 +8.9.0 : 2023-01-27,2025-02-09 +8.10.0 : 2023-02-10,2025-02-27 +8.11.0 : 2023-02-28,2025-03-29 +8.12.0 : 2023-03-30,2025-04-27 +8.13.0 : 2023-04-28,2025-06-01 +8.14.0 : 2023-06-02,2025-08-31 +8.15.0 : 2023-09-01,2025-09-28 +8.16.0 : 2023-09-29,2025-10-29 +8.17.0 : 2023-10-30,2025-11-23 +8.18.0 : 2023-11-24,2025-12-21 +8.19.0 : 2023-12-22,2026-01-07 +8.20.0 : 2024-01-08,2026-01-30 +8.21.0 : 2024-01-31,2026-02-21 +8.22.0 : 2024-02-22,2026-03-31 +8.23.0 : 2024-03-31,2026-04-26 +8.24.0 : 2024-04-26,2026-05-31 +8.25.0 : 2024-05-31,2026-06-28 +8.26.0 : 2024-06-28,2026-08-30 +8.27.0 : 2024-08-30,2026-10-02 +8.28.0 : 2024-10-02,2026-10-25 +8.29.0 : 2024-10-25,2026-11-29 +8.30.0 : 2024-11-29,2026-12-20 +8.31.0 : 2024-12-20,2027-01-31 +8.32.0 : 2025-01-31,2027-02-28 +8.33.0 : 2025-02-28,2027-03-08 +8.34.0 : 2025-03-08,2027-04-07 +8.35.0 : 2025-04-07,2027-04-25 +8.36.0 : 2025-04-25,2027-02-28 +9.0.0 : 2025-02-28,2027-04-07 +9.1.0 : 2025-04-07,2027-04-25 +9.2.0 : 2025-04-25,2027-04-25 section zarr -2.13.0 : 2022-09-22,2024-09-21 -2.14.0 : 2023-02-10,2025-02-09 -2.15.0 : 2023-06-14,2025-06-13 -2.16.0 : 2023-07-20,2025-07-19 -2.17.0 : 2024-02-14,2026-02-13 -2.18.0 : 2024-05-07,2026-05-07 +2.13.0 : 2022-09-22,2025-02-09 +2.14.0 : 2023-02-10,2025-06-13 +2.15.0 : 2023-06-14,2025-07-19 +2.16.0 : 2023-07-20,2026-02-13 +2.17.0 : 2024-02-14,2026-05-07 +2.18.0 : 2024-05-07,2027-01-09 3.0.0 : 2025-01-09,2027-01-09 diff --git a/spec-0000/index.md b/spec-0000/index.md index 0bdf2f53..ecc9db77 100644 --- a/spec-0000/index.md +++ b/spec-0000/index.md @@ -32,8 +32,8 @@ All versions refer to feature releases (i.e., Python 3.8.0, NumPy 1.19.0; not Py Specifically, we recommend that: -1. Support for Python versions be dropped **3 years** after their initial release. -2. Support for core package dependencies be dropped **2 years** after their initial release. +1. Support for Python versions be dropped **3 years** after the next version of Python is released. +2. Support for core dependency versions be dropped **2 years** after the next version of the dependency is released. {{< admonition note >}} Core packages may or may not decide to provide bug fix releases during the full 2 year period after release. @@ -42,6 +42,16 @@ For instance, if a newer minimum version of a core package is needed by a projec which is not backported to older versions. {{< /admonition >}} +{{< admonition note >}} +Certain projects (e.g., projects that have more resources) may wish to provide long-term support (LTS) of an additional year. + +Specifically, for projects wishing to provide LTS we recommend that: + +1. Support for Python versions be dropped **4 years** after the next version of Python is released. +2. Support for core package dependencies be dropped **3 years** after the next version of the package is released. + +{{< /admonition >}} + ### Core Project Endorsement