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

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

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

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

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

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

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

EOL-версії

Версія (Кодова назва)Востаннє оновленоУразливостіДеталі
v23
2Висока2Середня
v21
6Висока6Середня
v19
1Висока3Середня2Низька
v18 (Hydrogen)
14Висока20Середня4Низька
v17
1Висока3Середня1Низька
v16 (Gallium)
11Висока18Середня4Низька
v15
1Критична6Висока1Середня1Низька
v14 (Fermium)
2Критична16Висока16Середня5Низька
v13
1Критична2Висока
v12 (Erbium)
2Критична13Висока6Середня3Низька
v11
3Висока1Середня
v10 (Dubnium)
1Критична12Висока3Середня1Низька
v9
1Критична4Висока1Середня1Низька
v8 (Carbon)
1Критична11Висока2Середня1Низька
v7
3Висока2Середня
v6 (Boron)
16Висока12Середня
v5
15Висока8Середня
v4 (Argon)
2Критична17Висока9Середня
v0
2Критична

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

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

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

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