Skip to content

Commit 576f12f

Browse files
hugovkJacobCoffee
andauthored
Skip planned+prerelease versions in active Python releases table (#2961)
Co-authored-by: Jacob Coffee <jacob@z7x.org>
1 parent 1b6eede commit 576f12f

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

apps/downloads/templatetags/download_tags.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,10 @@ def render_active_releases():
197197
if status == "feature":
198198
status = "pre-release"
199199

200+
# Skip releases not yet in development
201+
if status in ("planned", "prerelease"):
202+
continue
203+
200204
if status == "end-of-life":
201205
# Include only the most recent EOL release
202206
if found_eol:

apps/downloads/tests/test_template_tags.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"3.10": {"status": "security", "end_of_life": "2026-10-04", "pep": 619},
1616
"3.14": {"status": "bugfix", "first_release": "2025-10-07", "end_of_life": "2030-10", "pep": 745},
1717
"3.15": {"status": "feature", "first_release": "2026-10-01", "end_of_life": "2031-10", "pep": 790},
18+
"3.16": {"status": "prerelease", "first_release": "2027-10-06", "end_of_life": "2032-10", "pep": 826},
19+
"3.17": {"status": "planned", "first_release": "2028-10-05", "end_of_life": "2033-10"},
1820
}
1921

2022

@@ -234,6 +236,17 @@ def test_eol_status_includes_last_release_link(self, mock_get_data):
234236
self.assertIn("last release was", status)
235237
self.assertIn("<a href=", status)
236238

239+
@mock.patch("apps.downloads.templatetags.download_tags.get_release_cycle_data")
240+
def test_planned_and_prerelease_releases_excluded(self, mock_get_data):
241+
"""Test that planned and prerelease releases are not shown."""
242+
mock_get_data.return_value = MOCK_RELEASE_CYCLE
243+
244+
result = render_active_releases()
245+
246+
versions = [r["version"] for r in result["releases"]]
247+
self.assertNotIn("3.16", versions)
248+
self.assertNotIn("3.17", versions)
249+
237250
@mock.patch("apps.downloads.templatetags.download_tags.get_release_cycle_data")
238251
def test_api_failure_returns_empty_releases(self, mock_get_data):
239252
"""Test that API failure returns empty releases list."""

0 commit comments

Comments
 (0)