Skip to content

Commit bca0b9a

Browse files
djwfyiloft-bot
andauthored
Update the formatting on the lifecycle dates for platform and vcluster (#2151)
* Update the formatting on the lifecycle dates for platform and vcluster * Address column width consistency and remove dashes in dates * Fix lifecycle date script for new date format * chore: regenerate lifecycle JSON from MDX partials --------- Co-authored-by: Loft Bot <loft-bot@users.noreply.github.com>
1 parent 73e75a4 commit bca0b9a

5 files changed

Lines changed: 125 additions & 101 deletions

File tree

docs/_partials/platform_supported_versions.mdx

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ Any previous versions which are not on the following list, are no longer in any
66

77
## Platform supported versions
88

9-
<table>
9+
<table style={{tableLayout: 'fixed', width: '100%', textAlign: 'center'}}>
10+
<colgroup>
11+
<col style={{width: '15%'}} />
12+
<col style={{width: '28%'}} />
13+
<col style={{width: '28%'}} />
14+
<col style={{width: '29%'}} />
15+
</colgroup>
1016
<thead>
1117
<tr>
1218
<th>Release</th>
@@ -18,39 +24,39 @@ Any previous versions which are not on the following list, are no longer in any
1824
<tbody>
1925
<tr>
2026
<td>v4.9</td>
21-
<td>April 29, 2026</td>
22-
<td>October 29, 2026</td>
23-
<td>January 29, 2027</td>
27+
<td>2026 Apr 29</td>
28+
<td>2026 Oct 29</td>
29+
<td>2027 Jan 29</td>
2430
</tr>
2531
<tr>
2632
<td>v4.8</td>
27-
<td>March 16, 2026</td>
28-
<td>September 16, 2026</td>
29-
<td>December 16, 2026</td>
33+
<td>2026 Mar 16</td>
34+
<td>2026 Sep 16</td>
35+
<td>2026 Dec 16</td>
3036
</tr>
3137
<tr>
3238
<td>v4.7</td>
33-
<td>February 18, 2026</td>
34-
<td>August 18, 2026</td>
35-
<td>November 18, 2026</td>
39+
<td>2026 Feb 18</td>
40+
<td>2026 Aug 18</td>
41+
<td>2026 Nov 18</td>
3642
</tr>
3743
<tr>
3844
<td>v4.6</td>
39-
<td>January 29, 2026</td>
40-
<td>July 29, 2026</td>
41-
<td>October 29, 2026</td>
45+
<td>2026 Jan 29</td>
46+
<td>2026 Jul 29</td>
47+
<td>2026 Oct 29</td>
4248
</tr>
4349
<tr>
4450
<td>v4.5</td>
45-
<td>October 29, 2025</td>
46-
<td>April 29, 2026</td>
47-
<td>July 29, 2026</td>
51+
<td>2025 Oct 29</td>
52+
<td>2026 Apr 29</td>
53+
<td>2026 Jul 29</td>
4854
</tr>
4955
<tr>
5056
<td>v4.4</td>
51-
<td>September 9, 2025</td>
52-
<td>March 9, 2026</td>
53-
<td>June 9, 2026</td>
57+
<td>2025 Sep 09</td>
58+
<td>2026 Mar 09</td>
59+
<td>2026 Jun 09</td>
5460
</tr>
5561
<tr>
5662
<td colspan="4" align="center">
@@ -59,33 +65,33 @@ Any previous versions which are not on the following list, are no longer in any
5965
</tr>
6066
<tr>
6167
<td>v4.3</td>
62-
<td>June 3, 2025</td>
63-
<td>December 3, 2025</td>
64-
<td>March 6, 2026</td>
68+
<td>2025 Jun 03</td>
69+
<td>2025 Dec 03</td>
70+
<td>2026 Mar 06</td>
6571
</tr>
6672
<tr>
6773
<td>v4.2</td>
68-
<td>December 17, 2024</td>
69-
<td>September 17, 2025</td>
70-
<td>December 17, 2025</td>
74+
<td>2024 Dec 17</td>
75+
<td>2025 Sep 17</td>
76+
<td>2025 Dec 17</td>
7177
</tr>
7278
<tr>
7379
<td>v4.1</td>
74-
<td>November 12, 2024</td>
75-
<td>February 12, 2025</td>
76-
<td>May 12, 2025</td>
80+
<td>2024 Nov 12</td>
81+
<td>2025 Feb 12</td>
82+
<td>2025 May 12</td>
7783
</tr>
7884
<tr>
7985
<td>v4.0</td>
80-
<td>October 15, 2024</td>
81-
<td>January 15, 2025</td>
82-
<td>April 15, 2025</td>
86+
<td>2024 Oct 15</td>
87+
<td>2025 Jan 15</td>
88+
<td>2025 Apr 15</td>
8389
</tr>
8490
<tr>
8591
<td>v3.4</td>
86-
<td>February 29, 2024</td>
87-
<td>April 1, 2025*</td>
88-
<td>July 1, 2025</td>
92+
<td>2024 Feb 29</td>
93+
<td>2025 Apr 01<sup>*</sup></td>
94+
<td>2025 Jul 01</td>
8995
</tr>
9096
</tbody>
9197
</table>

docs/_partials/vcluster_supported_versions.mdx

Lines changed: 55 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ Versions not listed under End of Support (EOS) or End of Life (EOL) are consider
88

99
## vCluster releases
1010

11-
<table>
11+
<table style={{tableLayout: 'fixed', width: '100%', textAlign: 'center'}}>
12+
<colgroup>
13+
<col style={{width: '15%'}} />
14+
<col style={{width: '28%'}} />
15+
<col style={{width: '28%'}} />
16+
<col style={{width: '29%'}} />
17+
</colgroup>
1218
<thead>
1319
<tr>
1420
<th>Release</th>
@@ -20,102 +26,102 @@ Versions not listed under End of Support (EOS) or End of Life (EOL) are consider
2026
<tbody>
2127
<tr>
2228
<td>v0.34</td>
23-
<td>April 29, 2026</td>
24-
<td>July 29, 2026</td>
25-
<td>October 29, 2026</td>
29+
<td>2026 Apr 29</td>
30+
<td>2026 Jul 29</td>
31+
<td>2026 Oct 29</td>
2632
</tr>
2733
<tr>
2834
<td>v0.33</td>
29-
<td>March 13, 2026</td>
30-
<td>June 13, 2026</td>
31-
<td>September 13, 2026</td>
35+
<td>2026 Mar 13</td>
36+
<td>2026 Jun 13</td>
37+
<td>2026 Sep 13</td>
3238
</tr>
3339
<tr>
3440
<td>v0.32</td>
35-
<td>February 18, 2026</td>
36-
<td>May 18, 2026</td>
37-
<td>August 18, 2026</td>
41+
<td>2026 Feb 18</td>
42+
<td>2026 May 18</td>
43+
<td>2026 Aug 18</td>
3844
</tr>
3945
<tr>
4046
<td>v0.31</td>
41-
<td>January 29, 2026</td>
42-
<td>April 29, 2026</td>
43-
<td>July 29, 2026</td>
47+
<td>2026 Jan 29</td>
48+
<td>2026 Apr 29</td>
49+
<td>2026 Jul 29</td>
4450
</tr>
4551
<tr>
4652
<td colspan="4" align="center"><i>Versions below are no longer supported</i></td>
4753
</tr>
4854
<tr>
4955
<td>v0.30</td>
50-
<td>October 28, 2025</td>
51-
<td>January 28, 2026</td>
52-
<td>April 28, 2026</td>
56+
<td>2025 Oct 28</td>
57+
<td>2026 Jan 28</td>
58+
<td>2026 Apr 28</td>
5359
</tr>
5460
<tr>
5561
<td>v0.29</td>
56-
<td>October 1, 2025</td>
57-
<td>January 1, 2026</td>
58-
<td>April 1, 2026</td>
62+
<td>2025 Oct 01</td>
63+
<td>2026 Jan 01</td>
64+
<td>2026 Apr 01</td>
5965
</tr>
6066
<tr>
6167
<td>v0.28</td>
62-
<td>September 8, 2025</td>
63-
<td>December 8, 2025</td>
64-
<td>March 8, 2026</td>
68+
<td>2025 Sep 08</td>
69+
<td>2025 Dec 08</td>
70+
<td>2026 Mar 08</td>
6571
</tr>
6672
<tr>
6773
<td>v0.27</td>
68-
<td>August 12, 2025</td>
69-
<td>November 12, 2025</td>
70-
<td>February 12, 2026</td>
74+
<td>2025 Aug 12</td>
75+
<td>2025 Nov 12</td>
76+
<td>2026 Feb 12</td>
7177
</tr>
7278
<tr>
7379
<td>v0.26</td>
74-
<td>June 26, 2025</td>
75-
<td>September 26, 2025</td>
76-
<td>December 26, 2025</td>
80+
<td>2025 Jun 26</td>
81+
<td>2025 Sep 26</td>
82+
<td>2025 Dec 26</td>
7783
</tr>
7884
<tr>
7985
<td>v0.25</td>
80-
<td>May 15, 2025</td>
81-
<td>Aug 15, 2025</td>
82-
<td>November 15, 2025</td>
86+
<td>2025 May 15</td>
87+
<td>2025 Aug 15</td>
88+
<td>2025 Nov 15</td>
8389
</tr>
8490
<tr>
8591
<td>v0.24</td>
86-
<td>March 18, 2025</td>
87-
<td>June 16, 2025</td>
88-
<td>September 14, 2025</td>
92+
<td>2025 Mar 18</td>
93+
<td>2025 Jun 16</td>
94+
<td>2025 Sep 14</td>
8995
</tr>
9096
<tr>
9197
<td>v0.23</td>
92-
<td>February 26, 2025</td>
93-
<td>May 25, 2025</td>
94-
<td>August 26, 2025</td>
98+
<td>2025 Feb 26</td>
99+
<td>2025 May 25</td>
100+
<td>2025 Aug 26</td>
95101
</tr>
96102
<tr>
97103
<td>v0.22</td>
98-
<td>December 18, 2024</td>
99-
<td>March 18, 2025</td>
100-
<td>June 18, 2025</td>
104+
<td>2024 Dec 18</td>
105+
<td>2025 Mar 18</td>
106+
<td>2025 Jun 18</td>
101107
</tr>
102108
<tr>
103109
<td>v0.21</td>
104-
<td>November 11, 2024</td>
105-
<td>February 11, 2025</td>
106-
<td>May 11, 2025</td>
110+
<td>2024 Nov 11</td>
111+
<td>2025 Feb 11</td>
112+
<td>2025 May 11</td>
107113
</tr>
108114
<tr>
109115
<td>v0.20</td>
110-
<td>August 14, 2024</td>
111-
<td>November 14, 2024</td>
112-
<td>February 14, 2025</td>
116+
<td>2024 Aug 14</td>
117+
<td>2024 Nov 14</td>
118+
<td>2025 Feb 14</td>
113119
</tr>
114120
<tr>
115121
<td>v0.19</td>
116-
<td>February 12, 2024</td>
117-
<td>April 1, 2025*</td>
118-
<td>July 1, 2025</td>
122+
<td>2024 Feb 12</td>
123+
<td>2025 Apr 01<sup>*</sup></td>
124+
<td>2025 Jul 01</td>
119125
</tr>
120126
</tbody>
121127
</table>

scripts/generate-lifecycle-json.js

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,37 +23,49 @@ const __dirname = dirname(__filename);
2323
const rootDir = join(__dirname, '..');
2424

2525
/**
26-
* Parse date from "Month Day, Year" format to ISO 8601 (YYYY-MM-DD)
26+
* Parse date to ISO 8601 (YYYY-MM-DD).
27+
* Supports "YYYY Mon DD" (e.g. "2026 Apr 29") and legacy "Month Day, Year".
2728
*/
2829
function parseDate(dateStr) {
2930
if (!dateStr || dateStr.trim() === '') return null;
3031

31-
// Handle special cases like "April 1, 2025*" (with asterisk)
3232
const cleaned = dateStr.replace(/\*/, '').trim();
3333

3434
const months = {
3535
'January': '01', 'February': '02', 'March': '03', 'April': '04',
3636
'May': '05', 'June': '06', 'July': '07', 'August': '08',
3737
'September': '09', 'October': '10', 'November': '11', 'December': '12',
38-
'Aug': '08' // Handle abbreviated months
38+
'Jan': '01', 'Feb': '02', 'Mar': '03', 'Apr': '04',
39+
'Jun': '06', 'Jul': '07', 'Aug': '08',
40+
'Sep': '09', 'Oct': '10', 'Nov': '11', 'Dec': '12'
3941
};
4042

41-
// Parse "Month Day, Year"
42-
const match = cleaned.match(/(\w+)\s+(\d+),\s+(\d{4})/);
43-
if (!match) {
44-
console.warn(`Warning: Could not parse date "${dateStr}"`);
45-
return null;
43+
// "YYYY Mon DD" — current format
44+
const ymdMatch = cleaned.match(/(\d{4})\s+(\w+)\s+(\d+)/);
45+
if (ymdMatch) {
46+
const [_, year, month, day] = ymdMatch;
47+
const monthNum = months[month];
48+
if (!monthNum) {
49+
console.warn(`Warning: Unknown month "${month}" in date "${dateStr}"`);
50+
return null;
51+
}
52+
return `${year}-${monthNum}-${day.padStart(2, '0')}`;
4653
}
4754

48-
const [_, month, day, year] = match;
49-
const monthNum = months[month];
50-
51-
if (!monthNum) {
52-
console.warn(`Warning: Unknown month "${month}" in date "${dateStr}"`);
53-
return null;
55+
// "Month Day, Year" — legacy format
56+
const legacyMatch = cleaned.match(/(\w+)\s+(\d+),\s+(\d{4})/);
57+
if (legacyMatch) {
58+
const [_, month, day, year] = legacyMatch;
59+
const monthNum = months[month];
60+
if (!monthNum) {
61+
console.warn(`Warning: Unknown month "${month}" in date "${dateStr}"`);
62+
return null;
63+
}
64+
return `${year}-${monthNum}-${day.padStart(2, '0')}`;
5465
}
5566

56-
return `${year}-${monthNum}-${day.padStart(2, '0')}`;
67+
console.warn(`Warning: Could not parse date "${dateStr}"`);
68+
return null;
5769
}
5870

5971
/**

static/api/lifecycle/platform.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"product": "Platform",
3-
"lastUpdated": "2026-04-30",
3+
"lastUpdated": "2026-05-19",
44
"versions": [
55
{
66
"version": "4.9.0",

static/api/lifecycle/vcluster.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"product": "vCluster",
3-
"lastUpdated": "2026-04-30",
3+
"lastUpdated": "2026-05-19",
44
"versions": [
55
{
66
"version": "0.34.0",
@@ -19,7 +19,7 @@
1919
{
2020
"version": "0.32.0",
2121
"releaseDate": "2026-02-18",
22-
"status": "active",
22+
"status": "eos",
2323
"eosDate": "2026-05-18",
2424
"eolDate": "2026-08-18"
2525
},

0 commit comments

Comments
 (0)