
Node.js 26 chính thức ra mắt: Temporal API mặc định, nâng cấp V8 14.6 và dọn dẹp các API cũ
Node.js 26 mang đến sự thay đổi lớn với Temporal API được kích hoạt mặc định, nâng cấp engine V8 lên 14.6, cập nhật Undici 8.0 và loại bỏ hàng loạt các API cũ, đánh dấu bước tiến quan trọng trong việc hiện đại hóa nền tảng.
Node.js 26: Bước tiến mới trong hiện đại hóa nền tảng
Node.js, môi trường thực thi JavaScript phổ biến nhất hiện nay, vừa chính thức phát hành phiên bản 26. Đây là một bản cập nhật quan trọng, tập trung vào việc hiện đại hóa nền tảng, tích hợp các tính năng ngôn ngữ mới và thực hiện một đợt "dọn dẹp" các API cũ (deprecated) để tối ưu hóa hiệu suất và bảo mật.

1. Temporal API: Kỷ nguyên mới cho xử lý thời gian
Một trong những tính năng đáng chú ý nhất trong Node.js 26 là Temporal API đã được kích hoạt mặc định mà không cần sử dụng flag --experimental-*.
Trước đây, đối tượng Date trong JavaScript thường bị chỉ trích vì sự phức tạp và thiếu trực quan. Temporal API giải quyết vấn đề này bằng cách cung cấp:
- Xử lý múi giờ (Time zones) và lịch (Calendars) chuyên sâu.
- Hỗ trợ tốt hơn về khoảng thời gian (Durations) và các thời điểm cụ thể (Instants).
- Tính bất biến (Immutability): Các đối tượng Temporal không thể thay đổi sau khi tạo, giúp tránh các lỗi logic phổ biến.
Cộng đồng lập trình viên đã phản hồi rất tích cực, coi đây là một bước đi tất yếu để đưa Node.js ngang hàng với các runtime hiện đại khác như Bun và Deno.
2. Nâng cấp Engine V8 lên 14.6
Node.js 26 tích hợp V8 engine phiên bản 14.6.202.33 (thuộc Chromium 146). Bản cập nhật này mang lại nhiều cải tiến về hiệu suất JIT (Just-In-Time) và bộ thu gom rác (Garbage Collection), cùng với các helper mới:
- Map.prototype.getOrInsert(): Giúp đơn giản hóa việc kiểm tra và thêm giá trị vào Map.
- Map.prototype.getOrInsertComputed(): Tương tự như trên nhưng cho phép tính toán giá trị nếu khóa chưa tồn tại.
- Iterator.concat(): Hỗ trợ việc nối các iterator lại với nhau một cách hiệu quả.
3. Cập nhật Undici và Fetch API
Thư viện HTTP client Undici đã được nâng cấp lên phiên bản 8.0.2. Điều này giúp cải thiện đáng kể hiệu suất của API fetch() tích hợp sẵn mà không yêu cầu người dùng phải thay đổi code hiện tại.
4. Dọn dẹp các API cũ (Deprecations & Removals)
Để giữ cho nền tảng gọn nhẹ, phiên bản 26 đã loại bỏ một số API cũ:
- http.Server.prototype.writeHeader(): Đã bị loại bỏ hoàn toàn, hãy chuyển sang dùng
writeHead(). - Legacy stream modules*: Các module stream cũ đã bị gỡ bỏ.
- module.register(): Đã bị đánh dấu là runtime-deprecated.
- --experimental-transform-types: Flag này đã chính thức bị loại bỏ.
5. Lưu ý quan trọng khi nâng cấp
- NODE_MODULE_VERSION: Đã được nâng lên 147. Điều này có nghĩa là bất kỳ native add-ons nào được biên dịch sẵn (prebuilt) đều cần phải được biên dịch lại (rebuild) trước khi bạn có thể chạy ứng dụng trên Node.js 26.
- Lịch trình phát hành: Node.js 26 sẽ là phiên bản "Current" trong 6 tháng trước khi chuyển sang giai đoạn LTS (Long Term Support) vào tháng 10 năm 2026. Đây cũng là phiên bản cuối cùng tuân theo lịch trình phát hành lẻ/chẵn truyền thống trước khi Node.js chuyển sang chu kỳ phát hành hàng năm.
Kết luận
Node.js 26 không chỉ là một bản cập nhật tính năng mà còn là sự khẳng định của OpenJS Foundation trong việc duy trì một môi trường chạy JavaScript hiện đại, hiệu quả và an toàn. Các nhà phát triển nên bắt đầu thử nghiệm nâng cấp trong môi trường staging để kiểm tra tính tương thích của các native modules trước khi triển khai lên production.
Do you like this post?
Upvote to push this post higher on the community feed
