, was released this week, emphasizing worker threads, programming enhancements, and internationalization capabilities.
Node.js 13 replaces Node.js 12 as the “current” release but Node.js 12 remains the long-term support (LTS) release. Thus Node.js 13 is not recommended for production use. Nevertheless, Node.js 13 will be useful for building and testing the latest features. Developers can use Node.js 13 to ensure that their packages and applications will be compatible with future versions.
These are the key new capabilities in Node.js 13:
- Node.js releases now are built with default full-ICU (International Components for Unicode) support. All locales supported by ICU are included and Intl-related APIs may return different values than before.
- N-API, for building native add-ons, has been updated with additional supported functions.
- If the validation function passed to
assert.rejects()returns a value besides
true, an assertion error will be thrown instead of the original error. This will highlight the programming mistake. Also, if a constructor function is passed to validate the instance of errors thrown in
assert.reject(), an assertion will be thrown instead of the original error.
- The minimum supported version of Xcode is now Xcode 10. Xcode is Apple’s integrated development environment, available only for MacOS. Developers can continue to use Xcode 8 for now, but this may change in a future Node.js 13.x release.
- The used in Node.js has been updated to version 7.8, which brings performance improvements for object destructuring, memory usage, and WebAssembly startup time.
- For HTTP communications, data will no longer be emitted after a socket error. In addition, the legacy HTTP parser has been removed and the
response.connectionproperties have been runtime deprecated. The equivalent
response.socketshould be used instead.
- The timing and behavior of streams was consolidated for several edge cases.
Where to download Node.js
You can from the project website.