Node.js is open source en platformonafhankelijk, en is gericht op het ontwikkelen van server-sidewebapplicaties. Die applicaties worden geschreven in JavaScript en uitgevoerd binnen de Node.js-runtime op de server. Het biedt een event-gedreven omgeving aan waarbij non-blocking i/o een belangrijk uitgangspunt is geweest. Voor meer informatie verwijzen we naar deze pagina. Het ontwikkelteam heeft versie 12.0.0 vrijgegeven in de current-branch. De lijst met veranderingen ziet er als volgt uit:
Node v12.0.0 (Current) - Notable Changes
- assert:
async_hooks:
- validate required arguments (Ruben Bridgewater) #26641
- adjust loose assertions (Ruben Bridgewater) #25008
- remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
- remove promise object from resource (Andreas Madsen) #23443
- bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
- buffer:
- use stricter range checks (Ruben Bridgewater) #27045
- harden SlowBuffer creation (ZYSzys) #26272
- harden validation of buffer allocation size (ZYSzys) #26162
- do proper error propagation in addon methods (Anna Henningsen) #23939
- child_process:
- remove options.customFds (cjihrig) #25279
- harden fork arguments validation (ZYSzys) #27039
- use non-infinite maxBuffer defaults (kohta ito) #23027
- console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
- crypto:
- remove legacy native handles (Tobias Nießen) #27011
- decode missing passphrase errors (Tobias Nießen) #25208
- remove Cipher.setAuthTag() and Decipher.getAuthTag() (Tobias Nießen) #26249
- remove deprecated crypto._toBuf() (Tobias Nießen) #25338
- set DEFAULT\_ENCODING property to non-enumerable (Antoine du Hamel) #23222
- deps:
- update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) #26685
- bump minimum icu version to 63 (Ujjwal Sharma) #25852
- update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) #26327
- errors: update error name (Ruben Bridgewater) #26738
- fs:
- use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
- improve mode validation (Ruben Bridgewater) #26575
- harden validation of start option in createWriteStream() (ZYSzys) #25579
- make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
- http:
- validate timeout in ClientRequest() (cjihrig) #26214
- return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
- switch default parser to llhttp (Anna Henningsen) #24870
- Runtime-deprecate outgoingMessage._headers and outgoingMessage._headerNames (Morgan Roderick) #24167
- lib:
- remove Atomics.wake() (Gus Caplan) #27033
- move DTRACE_* probes out of global scope (James M Snell) #26541
- deprecate _stream_wrap (Sam Roberts) #26245
- use ES6 class inheritance style (Ruben Bridgewater) #24755
- module:
- remove unintended access to deps/ (Anna Henningsen) #25138
- improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- remove dead code (Ruben Bridgewater) #26983
- make require('.') never resolve outside the current directory (Ruben Bridgewater) #26973
- throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
- don't search in require.resolve.paths (cjihrig) #23683
- net:
- remove Server.listenFD() (cjihrig) #27127
- do not add .host and .port properties to DNS error (Ruben Bridgewater) #26751
- emit "write after end" errors in the next tick (Ouyang Yadong) #24457
- deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
- os:
- implement os.type() using uv_os_uname() (cjihrig) #25659
- remove os.getNetworkInterfaces() (cjihrig) #25280
- process:
- make global.process, global.Buffer getters (Guy Bedford) #26882
- move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
- exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
- improve --redirect-warnings handling (Ruben Bridgewater) #24965
- readline: support TERM=dumb (Vladislav Kaminsky) #26261
- repl:
- add welcome message (gengjiawen) #25947
- fix terminal default setting (Ruben Bridgewater) #26518
- check colors with .getColorDepth() (Vladislav Kaminsky) #26261
- deprecate REPLServer.rli (Ruben Bridgewater) #26260
- src:
- remove unused INT_MAX constant (Sam Roberts) #27078
- update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
- remove AddPromiseHook() (Anna Henningsen) #26574
- clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
- properly configure default heap limits (Ali Ijaz Sheikh) #25576
- remove icuDataDir from node config (GauthamBanasandra) #24780
- tls:
- support TLSv1.3 (Sam Roberts) #26209
- return correct version from getCipher() (Sam Roberts) #26625
- check arg types of renegotiate() (Sam Roberts) #25876
- add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
- emit a warning when servername is an IP address (Rodger Combs) #23329
- disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
- remove unused arg to createSecureContext() (Sam Roberts) #24241
- deprecate Server.prototype.setOptions() (cjihrig) #23820
- load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
- util:
- remove util.print(), util.puts(), util.debug() and util.error() (cjihrig) #25377
- change inspect compact and breakLength default (Ruben Bridgewater) #27109
- improve inspect edge cases (Ruben Bridgewater) #27109
- only the first line of the error message (Simon Zünd) #26685
- don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
- rename callbackified function (Ruben Bridgewater) #26893
- increase function length when using callbackify() (Ruben Bridgewater) #26893
- prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
- prevent Proxy traps being triggered by .inspect() (Ruben Bridgewater) #26241
- prevent leaking internal properties (Ruben Bridgewater) #24971
- protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
- treat format arguments equally (Roman Reiss) #23162
- win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
- zlib:
- throw TypeError if callback is missing (Anna Henningsen) #24929
- make “bare” constants un-enumerable (Anna Henningsen) #24824