File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -91,8 +91,10 @@ func (lp *lifecycleProvider) resolve(e scheduleEntry) string {
9191 if e .LTS != "" {
9292 return string (lifecycle .MaintenanceLTS )
9393 }
94- // Odd releases enter "maintenance" before EOL but are not LTS.
95- return string (lifecycle .EOL )
94+ // Odd releases have a maintenance window before EOL but are not LTS;
95+ // keep them labeled Current until their end date so the display
96+ // matches nodejs.org's release schedule page.
97+ return string (lifecycle .Current )
9698 }
9799
98100 if lts := parseDate (e .LTS ); ! lts .IsZero () && ! today .Before (lts ) {
Original file line number Diff line number Diff line change @@ -55,17 +55,26 @@ func TestLifecycleProvider_VersionStatus(t *testing.T) {
5555 want : string (lifecycle .Current ),
5656 },
5757 {
58- name : "v23 odd version in maintenance is EOL (not LTS)" ,
58+ name : "v23 odd version in maintenance window is still Current (not LTS)" ,
5959 now : "2025-04-15" ,
6060 version : "23.5.0" ,
61- want : string (lifecycle .EOL ),
61+ want : string (lifecycle .Current ),
6262 },
6363 {
6464 name : "v23 after end is EOL" ,
6565 now : "2025-07-01" ,
6666 version : "23.5.0" ,
6767 want : string (lifecycle .EOL ),
6868 },
69+ // v25: start 2025-10-15, maintenance 2026-04-01, end 2026-06-01 (no LTS)
70+ // Regression for #241: odd version past maintenance but before end
71+ // should show as Current, not EOL.
72+ {
73+ name : "v25 past maintenance but before end is Current" ,
74+ now : "2026-04-20" ,
75+ version : "25.9.0" ,
76+ want : string (lifecycle .Current ),
77+ },
6978 // Edge cases
7079 {
7180 name : "unknown major returns empty" ,
You can’t perform that action at this time.
0 commit comments