Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 3f36d68

Browse filesBrowse files
committed
3.13 gets two years of bug fixes, earlier gets 1.5 years
1 parent 33b5f37 commit 3f36d68
Copy full SHA for 3f36d68

File tree

2 files changed

+12
-3
lines changed
Filter options

2 files changed

+12
-3
lines changed

‎_tools/generate_release_cycle.py

Copy file name to clipboardExpand all lines: _tools/generate_release_cycle.py
+11-2Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ def parse_date(date_str: str) -> dt.date:
2525
return dt.date.fromisoformat(date_str)
2626

2727

28+
def parse_version(ver: str) -> list[int]:
29+
return [int(i) for i in ver["key"].split(".")]
30+
31+
2832
class Versions:
2933
"""For converting JSON to CSV and SVG."""
3034

@@ -35,8 +39,13 @@ def __init__(self, *, limit_to_active=False, special_py27=False) -> None:
3539
# Generate a few additional fields
3640
for key, version in self.versions.items():
3741
version["key"] = key
42+
ver_info = parse_version(version)
43+
if ver_info >= [3, 13]:
44+
full_years = 2
45+
else:
46+
full_years = 1.5
3847
version["first_release_date"] = r1 = parse_date(version["first_release"])
39-
version["start_security_date"] = r1 + dt.timedelta(days=2 * 365)
48+
version["start_security_date"] = r1 + dt.timedelta(days=full_years * 365)
4049
version["end_of_life_date"] = parse_date(version["end_of_life"])
4150

4251
self.cutoff = min(ver["first_release_date"] for ver in self.versions.values())
@@ -61,7 +70,7 @@ def __init__(self, *, limit_to_active=False, special_py27=False) -> None:
6170

6271
self.sorted_versions = sorted(
6372
self.versions.values(),
64-
key=lambda v: [int(i) for i in v["key"].split(".")],
73+
key=parse_version,
6574
reverse=True,
6675
)
6776

‎versions.rst

Copy file name to clipboardExpand all lines: versions.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Python releases go through five phases:
6464
accepted. New binaries are built and released. (Also called **maintenance**
6565
mode or **stable** release.)
6666

67-
:security: After two years, only security fixes are accepted and no more
67+
:security: After a few years, only security fixes are accepted and no more
6868
binaries are released. New source-only versions can be released as needed.
6969

7070
:end-of-life: Five years after a release, support ends. The release cycle is

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.