Tháng 10 hằng năm luôn là thời điểm các đội backend JavaScript lên kế hoạch nâng cấp, vì đó là lúc một phiên bản Node.js mới được đưa vào giai đoạn hỗ trợ dài hạn (LTS). Năm 2026 còn đặc biệt hơn: Node.js 26 chuẩn bị lên Active LTS vào ngày 28/10, và đây cũng là dòng phát hành cuối cùng theo mô hình "hai bản lớn mỗi năm" đã tồn tại khoảng một thập kỷ.
Chuyện gì đang diễn ra?
Theo bản tin NodeSource ngày 6/10/2026, Node.js 26 được lên lịch chuyển sang Active LTS vào ngày 28/10. Phiên bản 26.0.0 đã ra mắt ngày 5/5/2026 ở kênh Current và đến đầu tháng 10 đã cập nhật tới 26.10.0. Cùng thời điểm, Node.js 20 đã hết vòng đời (End-of-Life) từ đầu năm, còn Node.js 22 đang ở giai đoạn Maintenance LTS.
Song song, dự án Node.js đã công bố thay đổi lớn về lịch phát hành, có hiệu lực từ tháng 10/2026 và áp dụng bắt đầu với dòng 27.x.
Node.js 26 mang lại gì?
Ghi chú phát hành chính thức của 26.0.0 nêu một số điểm nổi bật:
- Temporal API được bật mặc định: API ngày giờ hiện đại thay thế cho
Datevốn nhiều hạn chế, hỗ trợ múi giờ, lịch và phép tính thời gian rõ ràng hơn. - V8 14.6 (thuộc Chromium 146), bổ sung
Map.prototype.getOrInsert(),getOrInsertComputed()vàIterator.concat(). - Undici 8.0.2, thư viện HTTP đứng sau
fetch()tích hợp sẵn. NODE_MODULE_VERSIONtăng lên 147, nghĩa là các native addon cần được build lại.
Một ví dụ nhỏ với getOrInsert() giúp code cache gọn hơn:
const cache = new Map();
const list = cache.getOrInsert('users', []);
list.push('an');Về phía thay đổi phá vỡ tương thích, Node.js 26 gỡ bỏ http.Server.prototype.writeHeader() (dùng writeHead() thay thế), các module nội bộ _stream_* cũ và cờ --experimental-transform-types. module.register() chuyển sang trạng thái runtime deprecated, sẽ in cảnh báo khi sử dụng. Yêu cầu build từ mã nguồn cũng tăng lên GCC 13.2, đồng thời bỏ hỗ trợ Python 3.9 trong toolchain build và các nền tảng Power8, z13.
Lịch phát hành mới: mỗi năm một bản, bản nào cũng LTS
Thay đổi đáng chú ý nhất nằm ở quy trình. Theo thông báo trên nodejs.org:
- Từ Node.js 27, mỗi năm chỉ có một bản lớn, ra mắt vào tháng 4 và lên LTS vào tháng 10.
- Không còn phân biệt bản chẵn, bản lẻ: mọi bản lớn đều trở thành LTS.
- Xuất hiện kênh Alpha kéo dài khoảng 6 tháng (từ tháng 10 tới tháng 3) để thử nghiệm sớm, cho phép thay đổi semver-major, với số phiên bản dạng
27.0.0-alpha.1. - Số phiên bản sẽ khớp với năm ra mắt kênh Current: 27.0.0 vào năm 2027, 28.0.0 vào 2028.
- Tổng thời gian hỗ trợ khoảng 36 tháng tính từ khi ra Current tới End-of-Life.
Theo lịch công bố, Node.js 26 sẽ vào giai đoạn Maintenance từ tháng 10/2027 và hết hỗ trợ vào tháng 4/2029. Node.js 27 bắt đầu kênh Alpha từ tháng 10/2026, ra 27.0.0 vào tháng 4/2027. Nhóm phát triển lưu ý lịch này vẫn có thể được điều chỉnh, và tệp schedule.json trong kho Release là nguồn tham chiếu chính thức.
Vì sao điều này quan trọng?
Lý do Node.js đổi lịch khá thực tế: các bản lẻ gần như không được dùng trong production, nhiều tổ chức chỉ nâng cấp theo bản LTS, và việc duy trì nhiều nhánh song song gây áp lực cho đội ngũ tình nguyện viên. Với doanh nghiệp, mô hình mới giúp kế hoạch nâng cấp dễ dự đoán hơn: mỗi năm một mốc, một phiên bản.
Với tác giả thư viện, kênh Alpha là cơ hội phát hiện sớm thay đổi phá vỡ. Nhóm Node.js khuyên nên đưa các bản Alpha vào CI thay vì chỉ kiểm thử trên bản LTS, để không phải đợi người dùng báo lỗi.
Nên làm gì tiếp theo?
- Nếu còn chạy Node.js 20, hãy ưu tiên nâng cấp ngay vì phiên bản này đã hết hỗ trợ bảo mật.
- Lên kế hoạch chuyển từ Node.js 22 hoặc 24 sang 26 sau ngày 28/10, bắt đầu từ môi trường staging.
- Tìm trong mã nguồn các API đã bị gỡ như
writeHeader()hay_stream_readable, và kiểm tra cảnh báo deprecation khi chạy test. - Build lại native addon và cập nhật image Docker, cấu hình CI cho đúng phiên bản.
- Với thư viện mã nguồn mở, thêm kênh Alpha của Node.js 27 vào ma trận CI khi có bản đầu tiên.
Kết luận
Node.js 26 là một bản LTS đáng nâng cấp nhờ Temporal, V8 mới và Undici 8, đồng thời khép lại kỷ nguyên lịch phát hành chẵn lẻ. Từ năm 2027, mỗi năm sẽ chỉ có một mốc Node.js quan trọng. Đây là lúc tốt để chuẩn hóa quy trình nâng cấp runtime trong tổ chức, biến nó thành việc định kỳ thay vì chuyện "khi nào có lỗi mới làm".






