Node.js atsakās no pāra un nepāra laidienu modeļa, pēc kura projekts strādā desmit gadus. Sākot ar 27. versiju, gadā iznāks viens lielais laidiens iepriekšējo divu vietā. Katrs lielais laidiens kļūs par ilgtermiņa laidienu (LTS), tāpēc īslaicīgās nepāra numuru versijas pazudīs.
Par pēdējo versiju pēc vecās kārtības kļūst Node.js 26. Tā šā gada oktobrī pāriet LTS statusā un saņems drošības labojumus līdz 2029. gada aprīlim. Lēmums maina gan laidienu biežumu, gan versiju numerāciju.
Vecais pāra un nepāra modelis
Līdz šim Node.js izlaida lielo versiju reizi pusgadā. Pāra numuru laidieni (18, 20, 22, 24, 26) pēc aptuveni sešiem mēnešiem kļuva par LTS un saņēma atbalstu apmēram 30 mēnešus. Nepāra numuru laidieni (19, 21, 23, 25) LTS statusu nekad neieguva. Tie kalpoja agrīnai testēšanai un pēc aptuveni astoņiem mēnešiem beidza darbu.
Šāds grafiks radās 2015. gadā. Gadu iepriekš daļa izstrādātāju bija atdalījušies no Node.js un izveidojuši atzaru io.js, jo nebija apmierināti ar toreizējo pārvaldību. 2015. gadā abi projekti atkal apvienojās zem Node.js fonda jumta un izlaida Node.js 4.0. Pāra un nepāra līniju shēmu ieviesa tajā pašā laikā.
Praksē lielākā daļa izstrādātāju nepāra versijas izlaida garām. Uzņēmumi strādāja tikai ar pāra LTS laidieniem, bet nepāra versijas palika gandrīz tukšas. Node.js uzturētājiem tomēr nācās backportēt drošības labojumus uz visām aktīvajām līnijām vienlaikus.
Jaunais cikls: seši mēneši Alpha, seši Current, 30 mēneši LTS
Jaunajā modelī katrs laidiens iziet trīs posmus. Pirmie seši mēneši (oktobris līdz marts) ir Alpha, kad atļautas semver-major izmaiņas. Nākamie seši mēneši (aprīlis līdz oktobris) ir Current, kad kodu stabilizē. Pēc tam seko 30 mēnešu LTS ar drošības labojumiem. Kopā no pirmā Current laidiena līdz darbības beigām paiet 36 mēneši.
Versiju numuri turpmāk atbilst gadam, kurā iznāk Current laidiens. Tāpēc 27.0.0 iznāks 2027. gadā, bet 28.0.0 gadu vēlāk. Numurs vairs neaug par diviem reizi gadā.
Node.js 27 Alpha sākas 2026. gada oktobrī. Pats 27.0.0 laidiens iznāks 2027. gada aprīlī, LTS statusu tas iegūs 2027. gada oktobrī, bet darbība beigsies 2030. gada aprīlī. Atbalsta ilgums paliek tāds pats kā līdz šim, mainās tikai tas, ka arī šo līniju vairs nesauks par nepāra.
Kas notiek ar 26. versiju
Node.js 26.0.0 iznāca 2026. gada aprīlī un līdz šim bija Current statusā. Šomēnes tas pāriet LTS un kļūst par ieteicamo versiju ražošanai. Uzturēšanas režīmā 26. versija pāries 2027. gada oktobrī, bet darbība beigsies 2029. gada aprīlī. Tā ir pēdējā līnija, kas iziet veco pāra un nepāra ceļu. Komandām, kas vēl strādā ar vecāku LTS, 26. versija ir skaidrs pārejas mērķis.
Izstrādātājiem, kas tagad plāno jauninājumu, drošākā izvēle ir pāriet uz Node.js 26 LTS. Nākamais stabilais laidiens pēc tā būs 27.0.0, kas iznāk nākamā gada aprīlī.
Pats izmaiņas temps funkciju līmenī nemainās. Jauni labojumi un funkcijas turpinās nākt kā semver-minor un patch versijas vienas līnijas ietvaros, tāpēc gaidīt veselu gadu uz kļūdu labojumu nevajadzēs. Retāks kļūst tikai lielais laidiens ar potenciāli nesaderīgām izmaiņām.
Kāpēc nepāra laidieni pazūd
Priekšlikumu 2025. gada jūlijā iesniedza Node.js tehniskās vadības komitejas (TSC) loceklis Rafaels Gonzaga, ziņo InfoQ. Node.js komanda savā paziņojumā min vairākus iemeslus.
Pašreizējais grafiks ir desmit gadus vecs un radās io.js apvienošanās laikā. Lietošanas dati rāda, ka nepāra laidienus izvēlas maz cilvēku. Lielākā daļa lietotāju gaida LTS. Daudzas organizācijas nepāra versijas izlaiž pavisam.
Projektu uztur galvenokārt brīvprātīgie. Drošības labojumu uzturēšana četrās vai piecās aktīvās līnijās vienlaikus kļuvusi grūti paveicama, tāpēc mazāks līniju skaits samazina backportēšanas darbu.
Jaunais grafiks faktiski atspoguļo to, kā uzņēmumi jau rīkojās. Tie palaida garām nepāra versijas un gaidīja nākamo LTS, tāpēc īslaicīgās līnijas neatmaksāja uzturēšanas darbu. TSC priekšlikums šo praksi padara par oficiālo kārtību.
Node.js komanda norāda, ka pāra un nepāra dalījums mulsina jaunpienācējus, bet uzņēmumiem trūkst skaidra grafika, pēc kura plānot jauninājumus.
Ko tas nozīmē izstrādātājiem
Alpha kanāls pārņem nepāra laidienu agrīnās testēšanas lomu. Šie laidieni ir parakstīti un marķēti, tos pārbauda ar CITGM rīku, taču ražošanai tie nav paredzēti. Node.js aicina bibliotēku autorus pievienot Alpha laidienus savai CI videi pēc iespējas agrāk, lai saderības problēmas atklātos ātrāk. Alpha fāze ilgst sešus mēnešus no oktobra līdz martam. Tās mērķis ir dot ekosistēmai laiku sagatavoties pirms Current stabilizācijas.
Grafiks pagaidām nav galīgs. Oficiālo ierakstu projekts tur schedule.json failā Release repozitorijā. Tas vēl var mainīties. Vecais pāra un nepāra modelis darbojās kopš 2015. gada, kad io.js atkal apvienojās ar Node.js.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.