Кінець підтримки (EOL)

Чому та як релізи Node.js досягають кінця підтримки

Мажорні версії Node.js випускаються, виправляються та досягають кінця підтримки за передбачуваним розкладом. Оскільки неможливо підтримувати всі релізи постійно, мажорні релізи Node.js після запланованого періоду припиняють свою підтримку.

Переглянути розклад релізів Node.js.

Що відбувається, коли реліз досягає кінця підтримки (EOL)

Коли версія досягає кінця підтримки (EOL), вона не отримуватиме оновлення, навіть виправлення безпеки. Це може призвести до того, що застосунки, які використовують ці версії, стануть вразливими та матимуть помилки, які ніколи не виправлятимуться.

  • Більше не буде виправлень уразливостей: Нові виправлення вразливостей будуть застосовуватися лише до нових мажорних версій, а до EOL-версій — ні, навіть якщо в них присутні ці вразливості. Користувачі, які прагнуть використовувати EOL-версії та використовують уразливий код, одразу піддаватимуться атакам, які експлуатують ці вразливості.
  • Злам тулчейну: Релізи, які досягли кінця підтримки, можуть не посилатися динамічно на нові версії спільних залежностей, блокуючи або ламаючи системні оновлення.
  • Зсув екосистеми: Багато популярних користувацьких пакетів із часом припиняють підтримку для релізів Node.js, які досягли кінця підтримки. Якщо застосунок прагне підтримувати застарілі пакети, він може стикнутися з дедалі більшою кількістю невиправлених уразливостей та помилок, тим самим відхилюючися від норм екосистеми.
  • Червоні прапорці відповідностей: Багато індустрійних авдитів забороняють непідтримувані середовища виконання.

EOL-версії

Version (Codename)Last updatedVulnerabilitiesDetails
v23
2High2Medium
v21
7High5Medium
v19
1High3Medium2Low
v18 (Hydrogen)
15High19Medium4Low
v17
1High3Medium1Low
v16 (Gallium)
11High18Medium4Low
v15
1Critical6High1Medium1Low
v14 (Fermium)
2Critical16High16Medium5Low
v13
1Critical2High
v12 (Erbium)
2Critical13High6Medium3Low
v11
3High1Medium
v10 (Dubnium)
1Critical12High3Medium1Low
v9
1Critical4High1Medium1Low
v8 (Carbon)
1Critical11High2Medium1Low
v7
3High2Medium
v6 (Boron)
16High12Medium
v5
15High8Medium
v4 (Argon)
2Critical17High9Medium
v0
2Critical

Комерційна підтримка

Попри очевидні недоліки використання EOL-релізів, на практиці організації стикаються з обмеженнями, які перешкоджають негайному оновленню, як-от старий код, виконання вимог чи складні ланцюги залежностей. Завдяки OpenJS Foundation Ecosystem Sustainability Program Node.js отримує підтримку від HeroDevs та NodeSource, які надають комерційні сервіси для виправлень безпеки.

HeroDevs надає нескінченну підтримку (Never-Ending Support, NES) для версій Node.js після їхньої офіційної фази підтримки. Це включає виправлення безпеки, допомогу з виконання вимог та технічну підтримку, поки ви плануєте свою стратегію оновлення.

Використання EOL-релізів із комерційною підтримкою повинне бути тимчасовим рішенням, і за можливості слід оновлюватися до підтримуваних версій.