diff --git a/.assets/timeline-gantt.png b/.assets/timeline-gantt.png index 55ddbd8..365c76b 100644 Binary files a/.assets/timeline-gantt.png and b/.assets/timeline-gantt.png differ diff --git a/CALENDAR.md b/CALENDAR.md index a1e1123..5172bf1 100644 --- a/CALENDAR.md +++ b/CALENDAR.md @@ -8,6 +8,20 @@ Full untruncated version index. | Version | SemVer | Cutoff | Publish | End of Life | State | |---------|--------|--------|---------|-------------|-------| +| **stable2603** | 1.22.0 | 2026-02-07 | 2026-03-26 | 2027-03-26 | Planned | +|   stable2603-1 | 1.22.1 | 2026-04-27 | 2026-04-30 | | Planned | +|   stable2603-2 | 1.22.2 | 2026-05-25 | 2026-05-28 | | Planned | +|   stable2603-3 | 1.22.3 | 2026-06-22 | 2026-06-25 | | Planned | +|   stable2603-4 | 1.22.4 | 2026-07-27 | 2026-07-30 | | Planned | +|   stable2603-5 | 1.22.5 | 2026-08-24 | 2026-08-27 | | Planned | +|   stable2603-6 | 1.22.6 | 2026-09-28 | 2026-10-01 | | Planned | +|   stable2603-7 | 1.22.7 | 2026-10-26 | 2026-10-29 | | Planned | +|   stable2603-8 | 1.22.8 | 2026-11-23 | 2026-11-26 | | Planned | +|   stable2603-9 | 1.22.9 | 2026-12-28 | 2026-12-31 | | Planned | +|   stable2603-10 | 1.22.10 | 2027-01-25 | 2027-01-28 | | Planned | +|   stable2603-11 | 1.22.11 | 2027-02-22 | 2027-02-25 | | Planned | +|   stable2603-12 | 1.22.12 | 2027-03-22 | 2027-03-25 | | Planned | +|   stable2603-13 | 1.22.13 | 2027-04-26 | 2027-04-29 | | Planned | | **stable2512** | 1.21.0 | 2025-11-17 | 2025-12-22 | 2027-01-01 | [Released](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2512) | |   stable2512-1 | 1.21.1 | 2026-01-19 | 2026-01-22 | | Planned | |   stable2512-2 | 1.21.2 | 2026-02-16 | 2026-02-19 | | Planned | diff --git a/README.md b/README.md index f3e8d01..006edb2 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ Planned and historic release dates: | Version | SemVer | Cutoff | Publish | End of Life | State | |---------|--------|--------|---------|-------------|-------| +| **stable2603** | 1.22.0 | 2026-02-07 | 2026-03-26 | 2027-03-26 | Planned | +|   stable2603-1 | 1.22.1 | 2026-04-27 | 2026-04-30 | | Planned | +|   stable2603-2 | 1.22.2 | 2026-05-25 | 2026-05-28 | | Planned | +|   [11 more planned](CALENDAR.md) | | | | | | **stable2512** | 1.21.0 | 2025-11-17 | 2025-12-22 | 2027-01-01 | [Released](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2512) | |   stable2512-1 | 1.21.1 | 2026-01-19 | 2026-01-22 | | Planned | |   stable2512-2 | 1.21.2 | 2026-02-16 | 2026-02-19 | | Planned | diff --git a/badges/polkadot-sdk-latest.svg b/badges/polkadot-sdk-latest.svg index 78826ca..87aaf64 100644 --- a/badges/polkadot-sdk-latest.svg +++ b/badges/polkadot-sdk-latest.svg @@ -1 +1 @@ -Latest Release: stable2503Latest Releasestable2503 \ No newline at end of file +Latest Release: stable2512Latest Releasestable2512 \ No newline at end of file diff --git a/badges/polkadot-sdk-next.svg b/badges/polkadot-sdk-next.svg index 961035d..e18b65c 100644 --- a/badges/polkadot-sdk-next.svg +++ b/badges/polkadot-sdk-next.svg @@ -1 +1 @@ -Next Release (stable2512): 2025/12/18Next Release (stable2512)2025/12/18 \ No newline at end of file +Next Release (stable2603): 2026/03/26Next Release (stable2603)2026/03/26 \ No newline at end of file diff --git a/releases-v1.ics b/releases-v1.ics index cd638a7..6b22665 100644 --- a/releases-v1.ics +++ b/releases-v1.ics @@ -1434,4 +1434,207 @@ DTEND;VALUE=DATE:20261225 DESCRIPTION:Release of stable2512-12 (planned)\n\nFull Calendar: https://g ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603 Cutoff +DTSTART;VALUE=DATE:20260207 +DTEND;VALUE=DATE:20260208 +DESCRIPTION:Cutoff for stable2603 (planned)\n\nFull Calendar: https://gith + ub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603 Release +DTSTART;VALUE=DATE:20260326 +DTEND;VALUE=DATE:20260327 +DESCRIPTION:Release of stable2603 (planned)\n\nFull Calendar: https://gith + ub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603 End of Life +DTSTART;VALUE=DATE:20270326 +DTEND;VALUE=DATE:20270327 +DESCRIPTION:End of Life for stable2603\n\nFull Calendar: https://github.co + m/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-1 Cutoff +DTSTART;VALUE=DATE:20260427 +DTEND;VALUE=DATE:20260428 +DESCRIPTION:Cutoff for stable2603-1 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-1 Release +DTSTART;VALUE=DATE:20260430 +DTEND;VALUE=DATE:20260501 +DESCRIPTION:Release of stable2603-1 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-2 Cutoff +DTSTART;VALUE=DATE:20260525 +DTEND;VALUE=DATE:20260526 +DESCRIPTION:Cutoff for stable2603-2 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-2 Release +DTSTART;VALUE=DATE:20260528 +DTEND;VALUE=DATE:20260529 +DESCRIPTION:Release of stable2603-2 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-3 Cutoff +DTSTART;VALUE=DATE:20260622 +DTEND;VALUE=DATE:20260623 +DESCRIPTION:Cutoff for stable2603-3 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-3 Release +DTSTART;VALUE=DATE:20260625 +DTEND;VALUE=DATE:20260626 +DESCRIPTION:Release of stable2603-3 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-4 Cutoff +DTSTART;VALUE=DATE:20260727 +DTEND;VALUE=DATE:20260728 +DESCRIPTION:Cutoff for stable2603-4 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-4 Release +DTSTART;VALUE=DATE:20260730 +DTEND;VALUE=DATE:20260731 +DESCRIPTION:Release of stable2603-4 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-5 Cutoff +DTSTART;VALUE=DATE:20260824 +DTEND;VALUE=DATE:20260825 +DESCRIPTION:Cutoff for stable2603-5 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-5 Release +DTSTART;VALUE=DATE:20260827 +DTEND;VALUE=DATE:20260828 +DESCRIPTION:Release of stable2603-5 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-6 Cutoff +DTSTART;VALUE=DATE:20260928 +DTEND;VALUE=DATE:20260929 +DESCRIPTION:Cutoff for stable2603-6 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-6 Release +DTSTART;VALUE=DATE:20261001 +DTEND;VALUE=DATE:20261002 +DESCRIPTION:Release of stable2603-6 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-7 Cutoff +DTSTART;VALUE=DATE:20261026 +DTEND;VALUE=DATE:20261027 +DESCRIPTION:Cutoff for stable2603-7 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-7 Release +DTSTART;VALUE=DATE:20261029 +DTEND;VALUE=DATE:20261030 +DESCRIPTION:Release of stable2603-7 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-8 Cutoff +DTSTART;VALUE=DATE:20261123 +DTEND;VALUE=DATE:20261124 +DESCRIPTION:Cutoff for stable2603-8 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-8 Release +DTSTART;VALUE=DATE:20261126 +DTEND;VALUE=DATE:20261127 +DESCRIPTION:Release of stable2603-8 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-9 Cutoff +DTSTART;VALUE=DATE:20261228 +DTEND;VALUE=DATE:20261229 +DESCRIPTION:Cutoff for stable2603-9 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-9 Release +DTSTART;VALUE=DATE:20261231 +DTEND;VALUE=DATE:20270101 +DESCRIPTION:Release of stable2603-9 (planned)\n\nFull Calendar: https://gi + thub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-10 Cutoff +DTSTART;VALUE=DATE:20270125 +DTEND;VALUE=DATE:20270126 +DESCRIPTION:Cutoff for stable2603-10 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-10 Release +DTSTART;VALUE=DATE:20270128 +DTEND;VALUE=DATE:20270129 +DESCRIPTION:Release of stable2603-10 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-11 Cutoff +DTSTART;VALUE=DATE:20270222 +DTEND;VALUE=DATE:20270223 +DESCRIPTION:Cutoff for stable2603-11 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-11 Release +DTSTART;VALUE=DATE:20270225 +DTEND;VALUE=DATE:20270226 +DESCRIPTION:Release of stable2603-11 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-12 Cutoff +DTSTART;VALUE=DATE:20270322 +DTEND;VALUE=DATE:20270323 +DESCRIPTION:Cutoff for stable2603-12 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-12 Release +DTSTART;VALUE=DATE:20270325 +DTEND;VALUE=DATE:20270326 +DESCRIPTION:Release of stable2603-12 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-13 Cutoff +DTSTART;VALUE=DATE:20270426 +DTEND;VALUE=DATE:20270427 +DESCRIPTION:Cutoff for stable2603-13 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT +BEGIN:VEVENT +SUMMARY:stable2603-13 Release +DTSTART;VALUE=DATE:20270429 +DTEND;VALUE=DATE:20270430 +DESCRIPTION:Release of stable2603-13 (planned)\n\nFull Calendar: https://g + ithub.com/paritytech/release-registry/blob/main/CALENDAR.md#calendar +END:VEVENT END:VCALENDAR diff --git a/releases-v1.json b/releases-v1.json index 8eb429c..9c050e3 100644 --- a/releases-v1.json +++ b/releases-v1.json @@ -1,7 +1,7 @@ { "Polkadot SDK": { "recommended": { - "release": "stable2503" + "release": "stable2512" }, "releases": [ { @@ -1196,6 +1196,165 @@ "semver": "1.21.12" } ] + }, + { + "name": "stable2603", + "semver": "1.22.0", + "cutoff": { + "estimated": "2026-02-07" + }, + "publish": { + "estimated": "2026-03-26" + }, + "state": "planned", + "endOfLife": { + "estimated": "2027-03-26" + }, + "patches": [ + { + "name": "stable2603-1", + "cutoff": { + "estimated": "2026-04-27" + }, + "publish": { + "estimated": "2026-04-30" + }, + "state": "planned", + "semver": "1.22.1" + }, + { + "name": "stable2603-2", + "cutoff": { + "estimated": "2026-05-25" + }, + "publish": { + "estimated": "2026-05-28" + }, + "state": "planned", + "semver": "1.22.2" + }, + { + "name": "stable2603-3", + "cutoff": { + "estimated": "2026-06-22" + }, + "publish": { + "estimated": "2026-06-25" + }, + "state": "planned", + "semver": "1.22.3" + }, + { + "name": "stable2603-4", + "cutoff": { + "estimated": "2026-07-27" + }, + "publish": { + "estimated": "2026-07-30" + }, + "state": "planned", + "semver": "1.22.4" + }, + { + "name": "stable2603-5", + "cutoff": { + "estimated": "2026-08-24" + }, + "publish": { + "estimated": "2026-08-27" + }, + "state": "planned", + "semver": "1.22.5" + }, + { + "name": "stable2603-6", + "cutoff": { + "estimated": "2026-09-28" + }, + "publish": { + "estimated": "2026-10-01" + }, + "state": "planned", + "semver": "1.22.6" + }, + { + "name": "stable2603-7", + "cutoff": { + "estimated": "2026-10-26" + }, + "publish": { + "estimated": "2026-10-29" + }, + "state": "planned", + "semver": "1.22.7" + }, + { + "name": "stable2603-8", + "cutoff": { + "estimated": "2026-11-23" + }, + "publish": { + "estimated": "2026-11-26" + }, + "state": "planned", + "semver": "1.22.8" + }, + { + "name": "stable2603-9", + "cutoff": { + "estimated": "2026-12-28" + }, + "publish": { + "estimated": "2026-12-31" + }, + "state": "planned", + "semver": "1.22.9" + }, + { + "name": "stable2603-10", + "cutoff": { + "estimated": "2027-01-25" + }, + "publish": { + "estimated": "2027-01-28" + }, + "state": "planned", + "semver": "1.22.10" + }, + { + "name": "stable2603-11", + "cutoff": { + "estimated": "2027-02-22" + }, + "publish": { + "estimated": "2027-02-25" + }, + "state": "planned", + "semver": "1.22.11" + }, + { + "name": "stable2603-12", + "cutoff": { + "estimated": "2027-03-22" + }, + "publish": { + "estimated": "2027-03-25" + }, + "state": "planned", + "semver": "1.22.12" + }, + { + "name": "stable2603-13", + "cutoff": { + "estimated": "2027-04-26" + }, + "publish": { + "estimated": "2027-04-29" + }, + "state": "planned", + "semver": "1.22.13" + } + ] } ], "changelog": "https://github.com/paritytech/polkadot-sdk/releases/tag/$TAG" diff --git a/releases-v1.schema.json b/releases-v1.schema.json index eaa2d36..2e82f56 100644 --- a/releases-v1.schema.json +++ b/releases-v1.schema.json @@ -22,7 +22,7 @@ "properties": { "release": { "type": "string", - "pattern": "^stable2[45][01][0-9]$", + "pattern": "^stable2[456][01][0-9]$", "description": "The recommended release to use" }, "patch": { @@ -61,7 +61,7 @@ "properties": { "name": { "type": "string", - "pattern": "^stable2[45][01][0-9]$", + "pattern": "^stable2[456][01][0-9]$", "description": "The name of the release" }, "semver": { @@ -109,7 +109,7 @@ "properties": { "name": { "type": "string", - "pattern": "^stable2[45][01][0-9]-([1-9][0-9]*)$" + "pattern": "^stable2[456][01][0-9]-([1-9][0-9]*)$" }, "semver": { "type": "string",